Merge remote-tracking branch 'upstream/master' into issue_656
License: MIT Signed-off-by: Robert Ignat <robert.ignat91@gmail.com>
This commit is contained in:
commit
47252f8e62
|
@ -1 +1 @@
|
|||
0.8.0: QmfDMnXBd6ChZziataTVWszPFKo1Yr4AwMYWPHXKBfCUAe
|
||||
0.9.0-rc1: QmcRVRzzSRxvs3juEmeVEwEBhHsk12gpCEbzApeqV4K8wU
|
||||
|
|
Binary file not shown.
18
.travis.yml
18
.travis.yml
|
@ -56,21 +56,3 @@ jobs:
|
|||
- make install
|
||||
- docker pull ipfs/go-ipfs
|
||||
- make test_sharness && make clean_sharness
|
||||
- stage: "Snapcraft deployment stage (Stable)"
|
||||
name: "Deploy Snapcraft"
|
||||
if: (NOT type IN (pull_request)) AND (fork = false) AND (tag =~ ^v\d+\.\d+\.\d+$)
|
||||
script:
|
||||
- openssl aes-256-cbc -K $encrypted_5a1cb914c6c9_key -iv $encrypted_5a1cb914c6c9_iv -in .snapcraft/travis_snapcraft.cfg -out .snapcraft/snapcraft.cfg -d
|
||||
- docker run -v $(pwd):$(pwd) -t snapcore/snapcraft sh -c "apt update -qq && cd $(pwd) && ./snap/snap-multiarch.sh edge" # should be stable
|
||||
- stage: "Snapcraft deployment stage (Candidate)"
|
||||
name: "Deploy Snapcraft"
|
||||
if: (NOT type IN (pull_request)) AND (fork = false) AND (tag =~ ^v\d+\.\d+\.\d+-rc\d+$)
|
||||
script:
|
||||
- openssl aes-256-cbc -K $encrypted_5a1cb914c6c9_key -iv $encrypted_5a1cb914c6c9_iv -in .snapcraft/travis_snapcraft.cfg -out .snapcraft/snapcraft.cfg -d
|
||||
- docker run -v $(pwd):$(pwd) -t snapcore/snapcraft sh -c "apt update -qq && cd $(pwd) && ./snap/snap-multiarch.sh edge" # should be candidate
|
||||
- stage: "Snapcraft deployment stage (Edge)"
|
||||
name: "Deploy Snapcraft"
|
||||
if: (NOT type IN (pull_request)) AND (branch = master) AND (fork = false) AND (tag IS NOT present)
|
||||
script:
|
||||
- openssl aes-256-cbc -K $encrypted_5a1cb914c6c9_key -iv $encrypted_5a1cb914c6c9_iv -in .snapcraft/travis_snapcraft.cfg -out .snapcraft/snapcraft.cfg -d
|
||||
- docker run -v $(pwd):$(pwd) -t snapcore/snapcraft sh -c "apt update -qq && cd $(pwd) && ./snap/snap-multiarch.sh edge"
|
||||
|
|
|
@ -29,7 +29,7 @@ const programName = `ipfs-cluster-ctl`
|
|||
|
||||
// Version is the cluster-ctl tool version. It should match
|
||||
// the IPFS cluster's version
|
||||
const Version = "0.8.0"
|
||||
const Version = "0.9.0-rc1"
|
||||
|
||||
var (
|
||||
defaultHost = "/ip4/127.0.0.1/tcp/9094"
|
||||
|
|
|
@ -21,12 +21,12 @@ const tracingEnvConfigKey = "cluster_tracing"
|
|||
const (
|
||||
DefaultEnableStats = false
|
||||
DefaultPrometheusEndpoint = "/ip4/0.0.0.0/tcp/8888"
|
||||
DefaultStatsReportingInterval = 2 * time.Second
|
||||
DefaultReportingInterval = 2 * time.Second
|
||||
|
||||
DefaultEnableTracing = false
|
||||
DefaultJaegerAgentEndpoint = "/ip4/0.0.0.0/udp/6831"
|
||||
DefaultTracingSamplingProb = 0.3
|
||||
DefaultTracingServiceName = "cluster-daemon"
|
||||
DefaultSamplingProb = 0.3
|
||||
DefaultServiceName = "cluster-daemon"
|
||||
)
|
||||
|
||||
// MetricsConfig configures metrics collection.
|
||||
|
@ -35,13 +35,13 @@ type MetricsConfig struct {
|
|||
|
||||
EnableStats bool
|
||||
PrometheusEndpoint ma.Multiaddr
|
||||
StatsReportingInterval time.Duration
|
||||
ReportingInterval time.Duration
|
||||
}
|
||||
|
||||
type jsonMetricsConfig struct {
|
||||
EnableStats bool `json:"enable_stats"`
|
||||
PrometheusEndpoint string `json:"prometheus_endpoint"`
|
||||
StatsReportingInterval string `json:"reporting_interval"`
|
||||
ReportingInterval string `json:"reporting_interval"`
|
||||
}
|
||||
|
||||
// ConfigKey provides a human-friendly identifier for this type of Config.
|
||||
|
@ -54,7 +54,7 @@ func (cfg *MetricsConfig) Default() error {
|
|||
cfg.EnableStats = DefaultEnableStats
|
||||
endpointAddr, _ := ma.NewMultiaddr(DefaultPrometheusEndpoint)
|
||||
cfg.PrometheusEndpoint = endpointAddr
|
||||
cfg.StatsReportingInterval = DefaultStatsReportingInterval
|
||||
cfg.ReportingInterval = DefaultReportingInterval
|
||||
|
||||
return nil
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ func (cfg *MetricsConfig) Validate() error {
|
|||
if cfg.PrometheusEndpoint == nil {
|
||||
return errors.New("metrics.prometheus_endpoint is undefined")
|
||||
}
|
||||
if cfg.StatsReportingInterval < 0 {
|
||||
if cfg.ReportingInterval < 0 {
|
||||
return errors.New("metrics.reporting_interval is invalid")
|
||||
}
|
||||
}
|
||||
|
@ -121,8 +121,8 @@ func (cfg *MetricsConfig) loadMetricsOptions(jcfg *jsonMetricsConfig) error {
|
|||
return config.ParseDurations(
|
||||
metricsConfigKey,
|
||||
&config.DurationOpt{
|
||||
Duration: jcfg.StatsReportingInterval,
|
||||
Dst: &cfg.StatsReportingInterval,
|
||||
Duration: jcfg.ReportingInterval,
|
||||
Dst: &cfg.ReportingInterval,
|
||||
Name: "metrics.reporting_interval",
|
||||
},
|
||||
)
|
||||
|
@ -133,7 +133,7 @@ func (cfg *MetricsConfig) ToJSON() ([]byte, error) {
|
|||
jcfg := &jsonMetricsConfig{
|
||||
EnableStats: cfg.EnableStats,
|
||||
PrometheusEndpoint: cfg.PrometheusEndpoint.String(),
|
||||
StatsReportingInterval: cfg.StatsReportingInterval.String(),
|
||||
ReportingInterval: cfg.ReportingInterval.String(),
|
||||
}
|
||||
|
||||
return config.DefaultJSONMarshal(jcfg)
|
||||
|
@ -145,15 +145,15 @@ type TracingConfig struct {
|
|||
|
||||
EnableTracing bool
|
||||
JaegerAgentEndpoint ma.Multiaddr
|
||||
TracingSamplingProb float64
|
||||
TracingServiceName string
|
||||
SamplingProb float64
|
||||
ServiceName string
|
||||
}
|
||||
|
||||
type jsonTracingConfig struct {
|
||||
EnableTracing bool `json:"enable_tracing"`
|
||||
JaegerAgentEndpoint string `json:"jaeger_agent_endpoint"`
|
||||
TracingSamplingProb float64 `json:"sampling_prob"`
|
||||
TracingServiceName string `json:"service_name"`
|
||||
SamplingProb float64 `json:"sampling_prob"`
|
||||
ServiceName string `json:"service_name"`
|
||||
}
|
||||
|
||||
// ConfigKey provides a human-friendly identifier for this type of Config.
|
||||
|
@ -166,8 +166,8 @@ func (cfg *TracingConfig) Default() error {
|
|||
cfg.EnableTracing = DefaultEnableTracing
|
||||
agentAddr, _ := ma.NewMultiaddr(DefaultJaegerAgentEndpoint)
|
||||
cfg.JaegerAgentEndpoint = agentAddr
|
||||
cfg.TracingSamplingProb = DefaultTracingSamplingProb
|
||||
cfg.TracingServiceName = DefaultTracingServiceName
|
||||
cfg.SamplingProb = DefaultSamplingProb
|
||||
cfg.ServiceName = DefaultServiceName
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -191,7 +191,7 @@ func (cfg *TracingConfig) Validate() error {
|
|||
if cfg.JaegerAgentEndpoint == nil {
|
||||
return errors.New("tracing.jaeger_agent_endpoint is undefined")
|
||||
}
|
||||
if cfg.TracingSamplingProb < 0 {
|
||||
if cfg.SamplingProb < 0 {
|
||||
return errors.New("tracing.sampling_prob is invalid")
|
||||
}
|
||||
}
|
||||
|
@ -229,8 +229,8 @@ func (cfg *TracingConfig) loadTracingOptions(jcfg *jsonTracingConfig) error {
|
|||
return fmt.Errorf("loadTracingOptions: JaegerAgentEndpoint multiaddr: %v", err)
|
||||
}
|
||||
cfg.JaegerAgentEndpoint = agentAddr
|
||||
cfg.TracingSamplingProb = jcfg.TracingSamplingProb
|
||||
cfg.TracingServiceName = jcfg.TracingServiceName
|
||||
cfg.SamplingProb = jcfg.SamplingProb
|
||||
cfg.ServiceName = jcfg.ServiceName
|
||||
|
||||
return nil
|
||||
}
|
||||
|
@ -240,8 +240,8 @@ func (cfg *TracingConfig) ToJSON() ([]byte, error) {
|
|||
jcfg := &jsonTracingConfig{
|
||||
EnableTracing: cfg.EnableTracing,
|
||||
JaegerAgentEndpoint: cfg.JaegerAgentEndpoint.String(),
|
||||
TracingSamplingProb: cfg.TracingSamplingProb,
|
||||
TracingServiceName: cfg.TracingServiceName,
|
||||
SamplingProb: cfg.SamplingProb,
|
||||
ServiceName: cfg.ServiceName,
|
||||
}
|
||||
|
||||
return config.DefaultJSONMarshal(jcfg)
|
||||
|
|
|
@ -78,7 +78,7 @@ func setupMetrics(cfg *MetricsConfig) error {
|
|||
|
||||
// register prometheus with opencensus
|
||||
view.RegisterExporter(pe)
|
||||
view.SetReportingPeriod(cfg.StatsReportingInterval)
|
||||
view.SetReportingPeriod(cfg.ReportingInterval)
|
||||
|
||||
// register the metrics views of interest
|
||||
if err := view.Register(DefaultViews...); err != nil {
|
||||
|
@ -116,15 +116,15 @@ func setupMetrics(cfg *MetricsConfig) error {
|
|||
mux.Handle("/metrics", pe)
|
||||
mux.Handle("/debug/vars", expvar.Handler())
|
||||
mux.HandleFunc("/debug/pprof", pprof.Index)
|
||||
mux.HandleFunc("/debug/cmdline", pprof.Cmdline)
|
||||
mux.HandleFunc("/debug/profile", pprof.Profile)
|
||||
mux.HandleFunc("/debug/symbol", pprof.Symbol)
|
||||
mux.HandleFunc("/debug/trace", pprof.Trace)
|
||||
mux.Handle("/debug/block", pprof.Handler("block"))
|
||||
mux.Handle("/debug/goroutine", pprof.Handler("goroutine"))
|
||||
mux.Handle("/debug/heap", pprof.Handler("heap"))
|
||||
mux.Handle("/debug/mutex", pprof.Handler("mutex"))
|
||||
mux.Handle("/debug/threadcreate", pprof.Handler("threadcreate"))
|
||||
mux.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline)
|
||||
mux.HandleFunc("/debug/pprof/profile", pprof.Profile)
|
||||
mux.HandleFunc("/debug/pprof/symbol", pprof.Symbol)
|
||||
mux.HandleFunc("/debug/pprof/trace", pprof.Trace)
|
||||
mux.Handle("/debug/pprof/block", pprof.Handler("block"))
|
||||
mux.Handle("/debug/pprof/goroutine", pprof.Handler("goroutine"))
|
||||
mux.Handle("/debug/pprof/heap", pprof.Handler("heap"))
|
||||
mux.Handle("/debug/pprof/mutex", pprof.Handler("mutex"))
|
||||
mux.Handle("/debug/pprof/threadcreate", pprof.Handler("threadcreate"))
|
||||
if err := http.ListenAndServe(promAddr, mux); err != nil {
|
||||
logger.Fatalf("Failed to run Prometheus /metrics endpoint: %v", err)
|
||||
}
|
||||
|
@ -142,7 +142,7 @@ func setupTracing(cfg *TracingConfig) (*jaeger.Exporter, error) {
|
|||
je, err := jaeger.NewExporter(jaeger.Options{
|
||||
AgentEndpoint: agentAddr,
|
||||
Process: jaeger.Process{
|
||||
ServiceName: cfg.TracingServiceName,
|
||||
ServiceName: cfg.ServiceName,
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
|
@ -152,6 +152,6 @@ func setupTracing(cfg *TracingConfig) (*jaeger.Exporter, error) {
|
|||
// register jaeger with opencensus
|
||||
trace.RegisterExporter(je)
|
||||
// configure tracing
|
||||
trace.ApplyConfig(trace.Config{DefaultSampler: trace.ProbabilitySampler(cfg.TracingSamplingProb)})
|
||||
trace.ApplyConfig(trace.Config{DefaultSampler: trace.ProbabilitySampler(cfg.SamplingProb)})
|
||||
return je, nil
|
||||
}
|
||||
|
|
|
@ -180,6 +180,6 @@
|
|||
"license": "MIT",
|
||||
"name": "ipfs-cluster",
|
||||
"releaseCmd": "git commit -S -a -m \"gx publish $VERSION\"",
|
||||
"version": "0.8.0"
|
||||
"version": "0.9.0-rc1"
|
||||
}
|
||||
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Build the ipfs-cluster snaps and push them to the store.
|
||||
|
||||
set -ev
|
||||
|
||||
release=$1
|
||||
|
||||
snap() {
|
||||
export SNAP_ARCH_TRIPLET=$1
|
||||
export TARGET_GOARCH=$2
|
||||
target_arch=$3
|
||||
release=$4
|
||||
echo "Building and pushing snap:"
|
||||
echo "SNAP_ARCH_TRIPLET=${SNAP_ARCH_TRIPLET}"
|
||||
echo "TARGET_GOARCH=${TARGET_GOARCH}"
|
||||
echo "target_arch=${target_arch}"
|
||||
echo "release=${release}"
|
||||
|
||||
snapcraft clean
|
||||
snapcraft --target-arch $target_arch
|
||||
snapcraft push ipfs-cluster*${target_arch}.snap --release $release
|
||||
}
|
||||
|
||||
snap x86_64-linux-gnu amd64 amd64 $release
|
||||
snap arm-linux-gnueabihf arm armhf $release
|
||||
snap aarch64-linux-gnu arm64 arm64 $release
|
|
@ -1,36 +0,0 @@
|
|||
name: ipfs-cluster
|
||||
version: git
|
||||
summary: Collective pinning and composition for IPFS
|
||||
description: |
|
||||
ipfs-cluster allows to replicate content (by pinning) in multiple IPFS nodes.
|
||||
|
||||
confinement: strict
|
||||
|
||||
apps:
|
||||
service:
|
||||
command: ipfs-cluster-service
|
||||
plugs: [home, network, network-bind]
|
||||
aliases: [ipfs-cluster-service]
|
||||
ctl:
|
||||
command: ipfs-cluster-ctl
|
||||
plugs: [network]
|
||||
aliases: [ipfs-cluster-ctl]
|
||||
|
||||
parts:
|
||||
ipfs-cluster:
|
||||
source: .
|
||||
plugin: nil
|
||||
build-packages: [make, wget]
|
||||
prepare: |
|
||||
mkdir -p ../go/src/github.com/ipfs/ipfs-cluster
|
||||
cp -R . ../go/src/github.com/ipfs/ipfs-cluster
|
||||
build: |
|
||||
env GOPATH=$(pwd)/../go CC=$SNAP_ARCH_TRIPLET-gcc CXX=$SNAP_ARCH_TRIPLET-g++ CGO_ENABLED=1 GOARCH=$TARGET_GOARCH make -C ../go/src/github.com/ipfs/ipfs-cluster install
|
||||
install: |
|
||||
mkdir $SNAPCRAFT_PART_INSTALL/bin
|
||||
for file in $(find ../go/bin/ -type f); do
|
||||
mv $file $SNAPCRAFT_PART_INSTALL/bin/
|
||||
done
|
||||
after: [go]
|
||||
go:
|
||||
source-tag: go1.11
|
|
@ -9,7 +9,7 @@ import (
|
|||
|
||||
// Version is the current cluster version. Version alignment between
|
||||
// components, apis and tools ensures compatibility among them.
|
||||
var Version = semver.MustParse("0.8.0")
|
||||
var Version = semver.MustParse("0.9.0-rc1")
|
||||
|
||||
// RPCProtocol is used to send libp2p messages between cluster peers
|
||||
var RPCProtocol = protocol.ID(
|
||||
|
|
Loading…
Reference in New Issue
Block a user