Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cherry-pick OTel bugfixes into release-v0.35 #4714

Merged
merged 4 commits into from
Aug 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,18 @@ This document contains a historical list of changes between releases. Only
changes that impact end-user behavior are listed; changes to documentation or
internal API changes are not present.

v0.35.3 (2023-08-07)
--------------------

### Bugfixes

- Fix a bug which prevented the `app_agent_receiver` integration from processing traces. (@ptodev)

- (Agent static mode) Jaeger remote sampling works again, through a new `jaeger_remote_sampling`
entry in the traces config. It is no longer configurable through the jaeger receiver.
Support Jaeger remote sampling was removed accidentally in v0.35, and it is now restored,
albeit via a different config entry.

v0.35.2 (2023-07-27)
--------------------

Expand Down Expand Up @@ -93,6 +105,10 @@ v0.35.0 (2023-07-18)

- The `remote_sampling` block has been removed from `otelcol.receiver.jaeger`. (@ptodev)

- (Agent static mode) Jaeger remote sampling used to be configured using the Jaeger receiver configuration.
This receiver was updated to a new version, where support for remote sampling in the receiver was removed.
Jaeger remote sampling is available as a separate configuration field starting in v0.35.3. (@ptodev)

### Deprecations

- `otelcol.exporter.jaeger` has been deprecated and will be removed in Agent v0.38.0. (@ptodev)
Expand Down
93 changes: 73 additions & 20 deletions docs/sources/static/configuration/traces-config.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,9 +42,9 @@ name: <string>
[ batch: <batch.config> ]

remote_write:
# host:port to send traces to
# host:port to send traces to.
# Here must be the port of gRPC receiver, not the Tempo default port.
# Example for cloud instances: `tempo-us-central1.grafana.net:443`
# Example for cloud instances: `tempo-us-central1.grafana.net:443`
# For local / on-premises instances: `localhost:55680` or `tempo.example.com:14250`
# Note: for non-encrypted connections you must also set `insecure: true`
- endpoint: <string>
Expand Down Expand Up @@ -77,30 +77,55 @@ remote_write:

# Configures opentelemetry exporters to use the OpenTelemetry auth extension `oauth2clientauthextension`.
# Can not be used in combination with `basic_auth`.
# See https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/extension/oauth2clientauthextension/README.md
# See https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.80.0/extension/oauth2clientauthextension/README.md
oauth2:
# Configures the TLS settings specific to the oauth2 client
# The client identifier issued to the oauth client
[ client_id: <string> ]
# The secret string associated with the oauth client
[ client_secret: <string> ]
# Additional parameters for requests to the token endpoint
[ endpoint_params: <string> ]
# The resource server's token endpoint URL
[ token_url: <string> ]
# Optional, requested permissions associated with the oauth client
[ scopes: [<string>] ]
# Optional, specifies the timeout fetching tokens from the token_url. Default: no timeout
[ timeout: <duration> ]
# TLS client configuration for the underneath client to authorization server.
# https://github.com/open-telemetry/opentelemetry-collector/blob/v0.80.0/config/configtls/README.md
tls:
# Disable validation of the server certificate.
[ insecure: <bool> | default = false ]
# InsecureSkipVerify will enable TLS but not verify the certificate.
[ insecure_skip_verify: <bool> | default = false ]
# ServerName requested by client for virtual hosting.
# This sets the ServerName in the TLSConfig. Please refer to
# https://godoc.org/crypto/tls#Config for more information.
[ server_name_override: <string> ]
# Path to the CA cert. For a client this verifies the server certificate. If empty uses system root CA.
[ ca_file: <string> ]
# In memory PEM encoded cert.
[ ca_pem: <string> ]
# Path to the TLS cert to use for TLS required connections
[ cert_file: <string> ]
# In memory PEM encoded TLS cert to use for TLS required connections.
[ cert_pem: <string> ]
# Path to the TLS key to use for TLS required connections
[ key_file: <string> ]

# Controls TLS settings of the exporter's client. See https://github.com/open-telemetry/opentelemetry-collector/blob/v0.21.0/config/configtls/README.md
# In memory PEM encoded TLS key to use for TLS required connections.
[ key_pem: <string> ]
# Minimum acceptable TLS version.
[ min_version: <string> | default = "1.2" ]
# Maximum acceptable TLS version.
# If not set, it is handled by crypto/tls - currently it is "1.3".
[ max_version: <string> | default = "" ]
# ReloadInterval specifies the duration after which the certificate will be reloaded.
# If not set, it will never be reloaded.
[ reload_interval: <duration> ]

# Controls TLS settings of the exporter's client:
# https://prometheus.io/docs/prometheus/2.45/configuration/configuration/#tls_config
# This should be used only if `insecure` is set to false
tls_config:
# Path to the CA cert. For a client this verifies the server certificate. If empty uses system root CA.
Expand Down Expand Up @@ -163,7 +188,7 @@ automatic_logging:

# Receiver configurations are mapped directly into the OpenTelemetry receivers
# block. At least one receiver is required.
# The Agent uses OpenTelemetry v0.36.0. Refer to the corresponding receiver's config.
# The Agent uses OpenTelemetry v0.80.0. Refer to the corresponding receiver's config.
#
# Supported receivers: otlp, jaeger, kafka, opencensus and zipkin.
receivers: <receivers>
Expand Down Expand Up @@ -292,7 +317,16 @@ load_balancing:
[ - <string> ... ]
dns:
hostname: <string>
[ port: <int> ]
[ port: <int> | default = 4317 ]
# Resolver interval
[ interval: <duration> | default = 5s ]
# Resolver timeout
[ timeout: <duration> | default = 1s ]

# routing_key can be either "traceID" or "service":
# * "service": exports spans based on their service name.
# * "traceID": exports spans based on their traceID.
[ routing_key: <string> | default = "traceID" ]

# receiver_port is the port the instance will use to receive load balanced traces
receiver_port: [ <int> | default = 4318 ]
Expand Down Expand Up @@ -374,22 +408,41 @@ service_graphs:
# grpc status codes not to be considered as failure
grpc:
[ - <int> ... ]

# jaeger_remote_sampling configures one or more jaeger remote sampling extensions.
# For more details about the configuration please consult the OpenTelemetry documentation:
# https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.80.0/extension/jaegerremotesampling
#
# Example config:
#
# jaeger_remote_sampling:
# - source:
# remote:
# endpoint: jaeger-collector:14250
# tls:
# insecure: true
# - source:
# reload_interval: 1s
# file: /etc/otelcol/sampling_strategies.json
#
jaeger_remote_sampling:
[ - <jaeger_remote_sampling> ... ]
```

> **Note:** More information on the following types can be found on the
> documentation for their respective projects:
>
* [`attributes.config`: OpenTelemetry-Collector](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/b2327211df976e0a57ef0425493448988772a16b/processor/attributesprocessor)
* [`batch.config`: OpenTelemetry-Collector](https://github.com/open-telemetry/opentelemetry-collector/tree/1f5dd9f9a566a937ec15093ca3bc377fba86f5f9/processor/batchprocessor)
* [`otlpexporter.sending_queue`: OpenTelemetry-Collector](https://github.com/open-telemetry/opentelemetry-collector/tree/1f5dd9f9a566a937ec15093ca3bc377fba86f5f9/exporter/otlpexporter)
* [`otlpexporter.retry_on_failure`: OpenTelemetry-Collector](https://github.com/open-telemetry/opentelemetry-collector/tree/1f5dd9f9a566a937ec15093ca3bc377fba86f5f9/exporter/otlpexporter)
* [`attributes.config`: OpenTelemetry-Collector](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.80.0/processor/attributesprocessor)
* [`batch.config`: OpenTelemetry-Collector](https://github.com/open-telemetry/opentelemetry-collector/tree/v0.80.0/processor/batchprocessor)
* [`otlpexporter.sending_queue`: OpenTelemetry-Collector](https://github.com/open-telemetry/opentelemetry-collector/tree/v0.80.0/exporter/otlpexporter)
* [`otlpexporter.retry_on_failure`: OpenTelemetry-Collector](https://github.com/open-telemetry/opentelemetry-collector/tree/v0.80.0/exporter/otlpexporter)
* `receivers`:
* [`jaegerreceiver`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/b2327211df976e0a57ef0425493448988772a16b/receiver/jaegerreceiver)
* [`kafkareceiver`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/b2327211df976e0a57ef0425493448988772a16b/receiver/kafkareceiver)
* [`otlpreceiver`: OpenTelemetry-Collector](https://github.com/open-telemetry/opentelemetry-collector/tree/1f5dd9f9a566a937ec15093ca3bc377fba86f5f9/receiver/otlpreceiver)
* [`opencensusreceiver`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/b2327211df976e0a57ef0425493448988772a16b/receiver/opencensusreceiver)
* [`zipkinreceiver`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/b2327211df976e0a57ef0425493448988772a16b/receiver/zipkinreceiver)
* [`scrape_config`: Prometheus](https://prometheus.io/docs/prometheus/2.42/configuration/configuration/#scrape_config)
* [`spanmetricsprocessor.latency_histogram_buckets`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/b2327211df976e0a57ef0425493448988772a16b/processor/spanmetricsprocessor/config.go#L38-L47)
* [`spanmetricsprocessor.dimensions`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/b2327211df976e0a57ef0425493448988772a16b/processor/spanmetricsprocessor/config.go#L38-L47)
* [`tailsamplingprocessor.policies`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/b2327211df976e0a57ef0425493448988772a16b/processor/tailsamplingprocessor)
* [`jaegerreceiver`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.80.0/receiver/jaegerreceiver)
* [`kafkareceiver`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.80.0/receiver/kafkareceiver)
* [`otlpreceiver`: OpenTelemetry-Collector](https://github.com/open-telemetry/opentelemetry-collector/tree/v0.80.0/receiver/otlpreceiver)
* [`opencensusreceiver`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.80.0/receiver/opencensusreceiver)
* [`zipkinreceiver`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.80.0/receiver/zipkinreceiver)
* [`scrape_config`: Prometheus](https://prometheus.io/docs/prometheus/2.45/configuration/configuration/#scrape_config)
* [`spanmetricsprocessor.latency_histogram_buckets`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.80.0/processor/spanmetricsprocessor/config.go#L37-L39)
* [`spanmetricsprocessor.dimensions`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/v0.80.0/processor/spanmetricsprocessor/config.go#L41-L48)
* [`tailsamplingprocessor.policies`: OpenTelemetry-Collector-Contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/v0.80.0/processor/tailsamplingprocessor)
27 changes: 27 additions & 0 deletions docs/sources/static/upgrade-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,33 @@ static mode.

## v0.35

### Breaking change: Jaeger remote sampling no longer configurable using the Jaeger receiver

Jaeger remote sampling used to be configured using the Jaeger receiver configuration. This receiver was updated to a new version, where support for remote sampling in the receiver was removed.

Jaeger remote sampling is available as a separate configuration field starting in v0.35.3.

Old configuration example:

```yaml
receivers:
jaeger:
protocols:
grpc:
remote_sampling:
strategy_file: /etc/agent/strategies.json
strategy_file_reload_interval: 1s
```

New configuration example:

```yaml
jaeger_remote_sampling:
- source:
file: /etc/agent/strategies.json
reload_interval: 1s
```

### Breaking change: `auth` and `version` attributes from `walk_params` block of SNMP integration have been removed

The SNMP integrations (both v1 and v2) wrap a new version of SNMP exporter which introduces a new configuration file format.
Expand Down
7 changes: 4 additions & 3 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ require (
github.com/open-telemetry/opentelemetry-collector-contrib/extension/basicauthextension v0.80.0
github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.80.0
github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension v0.80.0
github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling v0.80.0
github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension v0.80.0
github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension v0.80.0
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/pdatautil v0.80.0
Expand Down Expand Up @@ -505,7 +506,7 @@ require (
github.com/open-telemetry/opentelemetry-collector-contrib/internal/filter v0.80.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/internal/sharedcomponent v0.80.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/batchpersignal v0.80.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.80.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl v0.80.0
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/resourcetotelemetry v0.80.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/jaeger v0.80.0 // indirect
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/translator/opencensus v0.80.0 // indirect
Expand Down Expand Up @@ -550,8 +551,8 @@ require (
github.com/snowflakedb/gosnowflake v1.6.22 // indirect
github.com/softlayer/softlayer-go v0.0.0-20180806151055-260589d94c7d // indirect
github.com/soheilhy/cmux v0.1.5 // indirect
github.com/spf13/afero v1.9.3 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/afero v1.9.5 // indirect
github.com/spf13/cast v1.5.1 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/spf13/viper v1.15.0 // indirect
Expand Down
15 changes: 7 additions & 8 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -855,8 +855,6 @@ github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX
github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs=
github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA=
github.com/cilium/ebpf v0.10.0 h1:nk5HPMeoBXtOzbkZBWym+ZWq1GIiHUsBFXxwewXAHLQ=
github.com/cilium/ebpf v0.10.0/go.mod h1:DPiVdY/kT534dgc9ERmvP8mWA+9gvwgKfRvk4nNWnoE=
github.com/cilium/ebpf v0.11.0 h1:V8gS/bTCCjX9uUnkUFUpPsksM8n1lXBAvHcpiFk1X2Y=
github.com/cilium/ebpf v0.11.0/go.mod h1:WE7CZAnqOL2RouJ4f1uyNhqr2P4CCvXFIqdRDUgWsVs=
github.com/circonus-labs/circonus-gometrics v0.0.0-20161109192337-d17a8420c36e/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag=
Expand Down Expand Up @@ -1238,7 +1236,7 @@ github.com/frankban/quicktest v1.10.2/go.mod h1:K+q6oSqb0W0Ininfk863uOk1lMy69l/P
github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k=
github.com/frankban/quicktest v1.13.0/go.mod h1:qLE0fzW0VuyUAJgPU19zByoIr0HtCHN/r/VLSOOIySU=
github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps=
github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
github.com/frankban/quicktest v1.14.5 h1:dfYrrRyLtiqT9GyKXgdh+k4inNeTvmGbuSgZ3lx3GhA=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU=
Expand Down Expand Up @@ -1752,8 +1750,6 @@ github.com/grafana/perflib_exporter v0.1.1-0.20230511173423-6166026bd090 h1:Ko80
github.com/grafana/perflib_exporter v0.1.1-0.20230511173423-6166026bd090/go.mod h1:MinSWm88jguXFFrGsP56PtleUb4Qtm4tNRH/wXNXRTI=
github.com/grafana/phlare/api v0.1.2 h1:1jrwd3KnsXMzj/tJih9likx5EvbY3pbvLbDqAAYem30=
github.com/grafana/phlare/api v0.1.2/go.mod h1:29vcLwFDmZBDce2jwFIMtzvof7fzPadT8VMKw9ks7FU=
github.com/grafana/phlare/ebpf v0.1.0 h1:u4E9BpXoqjvw1WCyM0TeZHbHWochwwJ/rPFzot/QZmU=
github.com/grafana/phlare/ebpf v0.1.0/go.mod h1:5RGW1YCur7bhRlhATPc25drRYbzpekhh+f2HCmmfE3g=
github.com/grafana/phlare/ebpf v0.1.1 h1:BnT06KcNDNr46yz2BY3YiaC7ECIU2qUwvi2sbsi8E3A=
github.com/grafana/phlare/ebpf v0.1.1/go.mod h1:rh3+TSpue02kR7DW26O1qnlCLoVbiS0leHia1y/0QFM=
github.com/grafana/postgres_exporter v0.8.1-0.20210722175051-db35d7c2f520 h1:HnFWqxhoSF3WC7sKAdMZ+SRXvHLVZlZ3sbQjuUlTqkw=
Expand Down Expand Up @@ -2551,6 +2547,8 @@ github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokena
github.com/open-telemetry/opentelemetry-collector-contrib/extension/bearertokenauthextension v0.80.0/go.mod h1:1uefCMOB5VnqgP5F22GeSoqkm8pYbWUmxFHBUg54WnE=
github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension v0.80.0 h1:1g6IDFOWzDpZScQRb+80G54DlPaCckkITJ3l0gUS/dk=
github.com/open-telemetry/opentelemetry-collector-contrib/extension/headerssetterextension v0.80.0/go.mod h1:j6U+t0w0uKYSltgY3s+4BskNVOj7E3+OxGFs3FPOTZs=
github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling v0.80.0 h1:hglhSIcQRNd/5yuak0LFd1rsH4/rP3hTIaU8/LaOaHY=
github.com/open-telemetry/opentelemetry-collector-contrib/extension/jaegerremotesampling v0.80.0/go.mod h1:C677/QL+Oav+yqeLaCIFOXw7qQAw1Pm4sqTmVwIM7M0=
github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension v0.80.0 h1:4+k4uS/pDLbkh2yMmMXSycKHq6oEycWpJToh/SUxLIM=
github.com/open-telemetry/opentelemetry-collector-contrib/extension/oauth2clientauthextension v0.80.0/go.mod h1:YJrHRLfgBQBt8RT5p61Fbkx01KuesGlrpZzOTIE3Mfw=
github.com/open-telemetry/opentelemetry-collector-contrib/extension/sigv4authextension v0.80.0 h1:bDOzezMdoK2m5Q7h/kzd5qBZRqX1B4hrIIzxKiDuFLE=
Expand Down Expand Up @@ -2984,12 +2982,13 @@ github.com/spf13/afero v1.3.4/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z
github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo=
github.com/spf13/afero v1.9.2/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk=
github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM=
github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA=
github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48=
github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/cobra v0.0.2/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
Expand Down
Loading