diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7ff1a2ff..0d319c8a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,7 +24,7 @@ If a test case fails (let's say `examples/nodejs`), follow these steps: 1. Build a new image: `mise run build-lgtm dev1` 2. `oats -timeout 2h -lgtm-version dev1 examples/nodejs` (automatically installed by `mise`) -3. go to +3. go to You can run all everything together using `mise run test`. diff --git a/README.md b/README.md index 84feb84f..1a032da4 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ mise run lgtm You can enable logging for troubleshooting: | Environment Variable | Enables Logging in: | -| ------------------------ | ----------------------- | +|--------------------------|-------------------------| | `ENABLE_LOGS_GRAFANA` | Grafana | | `ENABLE_LOGS_LOKI` | Loki | | `ENABLE_LOGS_PROMETHEUS` | Prometheus | @@ -105,12 +105,12 @@ There's no need to configure anything: the Docker image works with OpenTelemetry ```sh # Not needed, but these are the defaults in OpenTelemetry export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf -export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 +export OTEL_EXPORTER_OTLP_ENDPOINT=http://127.0.0.1:4318 ``` ## View Grafana -Navigate to and log in with the default built-in user `admin` and password `admin`. +Navigate to and log in with the default built-in user `admin` and password `admin`. ## Build the Docker image from scratch @@ -183,12 +183,12 @@ Each example uses a different application port (to be able to run all applications at the same time). | Example | Service URL | -| ------- | ------------------------------------- | -| Java | `curl http://localhost:8080/rolldice` | -| Go | `curl http://localhost:8081/rolldice` | -| Python | `curl http://localhost:8082/rolldice` | -| .NET | `curl http://localhost:8083/rolldice` | -| Node.js | `curl http://localhost:8084/rolldice` | +|---------|---------------------------------------| +| Java | `curl http://127.0.0.1:8080/rolldice` | +| Go | `curl http://127.0.0.1:8081/rolldice` | +| Python | `curl http://127.0.0.1:8082/rolldice` | +| .NET | `curl http://127.0.0.1:8083/rolldice` | +| Node.js | `curl http://127.0.0.1:8084/rolldice` | ## Related Work diff --git a/docker/grafana-datasources.yaml b/docker/grafana-datasources.yaml index 3caa5637..a9e3313e 100644 --- a/docker/grafana-datasources.yaml +++ b/docker/grafana-datasources.yaml @@ -4,7 +4,7 @@ datasources: - name: Prometheus type: prometheus uid: prometheus - url: http://localhost:9090 + url: http://127.0.0.1:9090 editable: true jsonData: timeInterval: 60s @@ -16,7 +16,7 @@ datasources: - name: Tempo type: tempo uid: tempo - url: http://localhost:3200 + url: http://127.0.0.1:3200 editable: true jsonData: tracesToLogsV2: @@ -39,7 +39,7 @@ datasources: - name: Loki type: loki uid: loki - url: http://localhost:3100 + url: http://127.0.0.1:3100 editable: true jsonData: derivedFields: @@ -53,4 +53,4 @@ datasources: - name: Pyroscope type: grafana-pyroscope-datasource uid: pyroscope - url: http://localhost:4040 + url: http://127.0.0.1:4040 diff --git a/docker/loki-config.yaml b/docker/loki-config.yaml index 5674d06b..340f9076 100644 --- a/docker/loki-config.yaml +++ b/docker/loki-config.yaml @@ -26,7 +26,7 @@ schema_config: period: 24h ruler: - alertmanager_url: http://localhost:9093 + alertmanager_url: http://127.0.0.1:9093 pattern_ingester: lifecycler: diff --git a/docker/otelcol-config.yaml b/docker/otelcol-config.yaml index 361ca163..312ac2d4 100644 --- a/docker/otelcol-config.yaml +++ b/docker/otelcol-config.yaml @@ -14,7 +14,7 @@ receivers: - job_name: "opentelemetry-collector" scrape_interval: 1s static_configs: - - targets: ["localhost:8888"] + - targets: ["127.0.0.1:8888"] extensions: health_check: @@ -26,19 +26,19 @@ processors: exporters: otlphttp/metrics: - endpoint: http://localhost:9090/api/v1/otlp + endpoint: http://127.0.0.1:9090/api/v1/otlp tls: insecure: true otlphttp/traces: - endpoint: http://localhost:4418 + endpoint: http://127.0.0.1:4418 tls: insecure: true otlphttp/logs: - endpoint: http://localhost:3100/otlp + endpoint: http://127.0.0.1:3100/otlp tls: insecure: true otlp/profiles: - endpoint: http://localhost:4040 + endpoint: http://127.0.0.1:4040 tls: insecure: true debug/metrics: diff --git a/docker/run-all.sh b/docker/run-all.sh index b8a415de..3cbecbc7 100755 --- a/docker/run-all.sh +++ b/docker/run-all.sh @@ -38,12 +38,12 @@ declare -A service_ready elapsed_times # Define services and their health check URLs declare -A services -services["grafana"]="http://localhost:3000/api/health" -services["loki"]="http://localhost:3100/ready" -services["prometheus"]="http://localhost:9090/api/v1/status/runtimeinfo" -services["tempo"]="http://localhost:3200/ready" -services["pyroscope"]="http://localhost:4040/ready" -services["otelcol"]="http://localhost:13133/ready" +services["grafana"]="http://127.0.0.1:3000/api/health" +services["loki"]="http://127.0.0.1:3100/ready" +services["prometheus"]="http://127.0.0.1:9090/api/v1/status/runtimeinfo" +services["tempo"]="http://127.0.0.1:3200/ready" +services["pyroscope"]="http://127.0.0.1:4040/ready" +services["otelcol"]="http://127.0.0.1:13133/ready" # Initialize service_ready status to false for all services for service in "${!services[@]}"; do diff --git a/docker/tempo-config.yaml b/docker/tempo-config.yaml index c2ea1560..29a1f36d 100644 --- a/docker/tempo-config.yaml +++ b/docker/tempo-config.yaml @@ -7,9 +7,9 @@ distributor: otlp: protocols: grpc: - endpoint: "localhost:4417" + endpoint: "127.0.0.1:4417" http: - endpoint: "localhost:4418" + endpoint: "127.0.0.1:4418" ingester: trace_idle_period: 1s @@ -25,7 +25,7 @@ ingester: querier: frontend_worker: - frontend_address: localhost:9096 + frontend_address: 127.0.0.1:9096 storage: trace: @@ -49,7 +49,7 @@ metrics_generator: storage: path: /data/tempo/generator/wal remote_write: - - url: http://localhost:9090/api/v1/write + - url: http://127.0.0.1:9090/api/v1/write send_exemplars: true overrides: diff --git a/examples/dotnet/Program.cs b/examples/dotnet/Program.cs index d084a76a..ae778f63 100644 --- a/examples/dotnet/Program.cs +++ b/examples/dotnet/Program.cs @@ -13,7 +13,7 @@ serviceVersion: typeof(Program).Assembly.GetName().Version?.ToString() ?? "unknown", serviceInstanceId: Environment.MachineName); -const string DefaultEndpoint = "http://localhost:4317"; +const string DefaultEndpoint = "http://127.0.0.1:4317"; // Configure OpenTelemetry tracing and metrics with auto-start using the // AddOpenTelemetry() extension method from the OpenTelemetry.Extensions.Hosting package. diff --git a/examples/dotnet/Properties/launchSettings.json b/examples/dotnet/Properties/launchSettings.json index 77dd35ee..9eaa3d75 100644 --- a/examples/dotnet/Properties/launchSettings.json +++ b/examples/dotnet/Properties/launchSettings.json @@ -5,7 +5,7 @@ "commandName": "Project", "dotnetRunMessages": true, "launchBrowser": true, - "applicationUrl": "http://localhost:8083/rolldice" + "applicationUrl": "http://127.0.0.1:8083/rolldice" } } } diff --git a/examples/dotnet/appsettings.json b/examples/dotnet/appsettings.json index 70c80e43..5fe71273 100644 --- a/examples/dotnet/appsettings.json +++ b/examples/dotnet/appsettings.json @@ -23,6 +23,6 @@ } }, "Otlp": { - "Endpoint": "http://localhost:4317" + "Endpoint": "http://127.0.0.1:4317" } } diff --git a/examples/ebpf-profiler/README.md b/examples/ebpf-profiler/README.md index 7ad8c031..9d02e879 100644 --- a/examples/ebpf-profiler/README.md +++ b/examples/ebpf-profiler/README.md @@ -40,4 +40,4 @@ Navigate to the [Pyroscope UI][Pyroscope UI] to visualize the profiles. -[Pyroscope UI]: http://localhost:3000/a/grafana-pyroscope-app/explore?searchText=&panelType=time-series&layout=grid&hideNoData=off&explorationType=flame-graph&var-serviceName=unknown&var-profileMetricId=process_cpu:cpu:nanoseconds:cpu:nanoseconds&var-spanSelector=undefined&var-dataSource=pyroscope&var-filters=&var-filtersBaseline=&var-filtersComparison=&var-groupBy=all&maxNodes=16384 +[Pyroscope UI]: http://127.0.0.1:3000/a/grafana-pyroscope-app/explore?searchText=&panelType=time-series&layout=grid&hideNoData=off&explorationType=flame-graph&var-serviceName=unknown&var-profileMetricId=process_cpu:cpu:nanoseconds:cpu:nanoseconds&var-spanSelector=undefined&var-dataSource=pyroscope&var-filters=&var-filtersBaseline=&var-filtersComparison=&var-groupBy=all&maxNodes=16384 diff --git a/examples/go/run.sh b/examples/go/run.sh index 74bb1ffd..e3e87201 100755 --- a/examples/go/run.sh +++ b/examples/go/run.sh @@ -3,7 +3,7 @@ set -euo pipefail export OTEL_METRIC_EXPORT_INTERVAL="5000" # so we don't have to wait 60s for metrics -export OTEL_RESOURCE_ATTRIBUTES="service.name=rolldice,service.instance.id=localhost:8081" +export OTEL_RESOURCE_ATTRIBUTES="service.name=rolldice,service.instance.id=127.0.0.1:8081" # Run the application # use http instead of https (needed because of https://github.com/open-telemetry/opentelemetry-go/issues/4834) diff --git a/examples/java/json-logging-ecs/README.md b/examples/java/json-logging-ecs/README.md index eb0b279d..4689c11b 100644 --- a/examples/java/json-logging-ecs/README.md +++ b/examples/java/json-logging-ecs/README.md @@ -5,6 +5,6 @@ 1. Build the Docker image using using `build.sh` 2. Deploy the manifest using `kubectl apply -f k8s/` (e.g. using [k3d.sh](k3d.sh)) 3. Generate traffic using [generate-traffic.sh](../../../generate-traffic.sh) -4. Log in to [http://localhost:3000](http://localhost:3000) with user _admin_ and password _admin_. +4. Log in to [http://127.0.0.1:3000](http://127.0.0.1:3000) with user _admin_ and password _admin_. 5. Go to "Explore" 6. Select "Loki" as data source diff --git a/examples/java/json-logging-ecs/k8s/collector-configmap.yaml b/examples/java/json-logging-ecs/k8s/collector-configmap.yaml index 259e888b..1942185a 100644 --- a/examples/java/json-logging-ecs/k8s/collector-configmap.yaml +++ b/examples/java/json-logging-ecs/k8s/collector-configmap.yaml @@ -16,7 +16,7 @@ data: scrape_configs: - job_name: 'opentelemetry-collector' static_configs: - - targets: [ 'localhost:8888' ] + - targets: [ '127.0.0.1:8888' ] filelog/json-ecs: include: - /var/log/pods/*/*/*.log @@ -136,11 +136,11 @@ data: exporters: otlphttp/metrics: - endpoint: http://localhost:9090/api/v1/otlp + endpoint: http://127.0.0.1:9090/api/v1/otlp otlphttp/traces: - endpoint: http://localhost:4418 + endpoint: http://127.0.0.1:4418 otlphttp/logs: - endpoint: http://localhost:3100/otlp + endpoint: http://127.0.0.1:3100/otlp debug/metrics: verbosity: detailed debug/traces: diff --git a/examples/java/json-logging-logback/README.md b/examples/java/json-logging-logback/README.md index eb0b279d..4689c11b 100644 --- a/examples/java/json-logging-logback/README.md +++ b/examples/java/json-logging-logback/README.md @@ -5,6 +5,6 @@ 1. Build the Docker image using using `build.sh` 2. Deploy the manifest using `kubectl apply -f k8s/` (e.g. using [k3d.sh](k3d.sh)) 3. Generate traffic using [generate-traffic.sh](../../../generate-traffic.sh) -4. Log in to [http://localhost:3000](http://localhost:3000) with user _admin_ and password _admin_. +4. Log in to [http://127.0.0.1:3000](http://127.0.0.1:3000) with user _admin_ and password _admin_. 5. Go to "Explore" 6. Select "Loki" as data source diff --git a/examples/java/json-logging-logback/k8s/collector-configmap.yaml b/examples/java/json-logging-logback/k8s/collector-configmap.yaml index a56a5ead..a352a335 100644 --- a/examples/java/json-logging-logback/k8s/collector-configmap.yaml +++ b/examples/java/json-logging-logback/k8s/collector-configmap.yaml @@ -17,7 +17,7 @@ data: scrape_configs: - job_name: 'opentelemetry-collector' static_configs: - - targets: [ 'localhost:8888' ] + - targets: [ '127.0.0.1:8888' ] filelog/json-logback: include: - /var/log/pods/*/*/*.log @@ -145,11 +145,11 @@ data: exporters: otlphttp/metrics: - endpoint: http://localhost:9090/api/v1/otlp + endpoint: http://127.0.0.1:9090/api/v1/otlp otlphttp/traces: - endpoint: http://localhost:4418 + endpoint: http://127.0.0.1:4418 otlphttp/logs: - endpoint: http://localhost:3100/otlp + endpoint: http://127.0.0.1:3100/otlp debug/metrics: verbosity: detailed debug/traces: diff --git a/examples/java/json-logging-otlp/README.md b/examples/java/json-logging-otlp/README.md index eb0b279d..4689c11b 100644 --- a/examples/java/json-logging-otlp/README.md +++ b/examples/java/json-logging-otlp/README.md @@ -5,6 +5,6 @@ 1. Build the Docker image using using `build.sh` 2. Deploy the manifest using `kubectl apply -f k8s/` (e.g. using [k3d.sh](k3d.sh)) 3. Generate traffic using [generate-traffic.sh](../../../generate-traffic.sh) -4. Log in to [http://localhost:3000](http://localhost:3000) with user _admin_ and password _admin_. +4. Log in to [http://127.0.0.1:3000](http://127.0.0.1:3000) with user _admin_ and password _admin_. 5. Go to "Explore" 6. Select "Loki" as data source diff --git a/examples/java/json-logging-otlp/k8s/collector-configmap.yaml b/examples/java/json-logging-otlp/k8s/collector-configmap.yaml index ed1c3845..be517f5d 100644 --- a/examples/java/json-logging-otlp/k8s/collector-configmap.yaml +++ b/examples/java/json-logging-otlp/k8s/collector-configmap.yaml @@ -37,11 +37,11 @@ data: exporters: otlphttp/metrics: - endpoint: http://localhost:9090/api/v1/otlp + endpoint: http://127.0.0.1:9090/api/v1/otlp otlphttp/traces: - endpoint: http://localhost:4418 + endpoint: http://127.0.0.1:4418 otlphttp/logs: - endpoint: http://localhost:3100/otlp + endpoint: http://127.0.0.1:3100/otlp debug/metrics: verbosity: detailed debug/traces: diff --git a/examples/java/run.cmd b/examples/java/run.cmd index 0af7c191..9855f180 100644 --- a/examples/java/run.cmd +++ b/examples/java/run.cmd @@ -10,7 +10,7 @@ if not exist ./%jar% ( curl -sL https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/%version%/opentelemetry-javaagent.jar -o %jar% ) -set OTEL_RESOURCE_ATTRIBUTES=service.name=rolldice,service.instance.id=localhost:8080 +set OTEL_RESOURCE_ATTRIBUTES=service.name=rolldice,service.instance.id=127.0.0.1:8080 @REM uncomment the next line to switch to Prometheus native histograms. @REM set OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION=base2_exponential_bucket_histogram java -Dotel.metric.export.interval=500 -Dotel.bsp.schedule.delay=500 -javaagent:%jar% -jar ./target/rolldice.jar diff --git a/examples/java/run.sh b/examples/java/run.sh index b894d799..8d11c975 100755 --- a/examples/java/run.sh +++ b/examples/java/run.sh @@ -13,7 +13,7 @@ if [[ ! -f ./${jar} ]]; then curl -vL https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v${opentelemetry_javaagent_version}/opentelemetry-javaagent.jar -o ${jar} # editorconfig-checker-disable-line fi -export OTEL_RESOURCE_ATTRIBUTES="service.name=rolldice,service.instance.id=localhost:8080" +export OTEL_RESOURCE_ATTRIBUTES="service.name=rolldice,service.instance.id=127.0.0.1:8080" # uncomment the next line to switch to Prometheus native histograms. # export OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION=base2_exponential_bucket_histogram java -Dotel.metric.export.interval=500 -Dotel.bsp.schedule.delay=500 -javaagent:${jar} -jar ./target/rolldice.jar diff --git a/examples/nodejs/app.js b/examples/nodejs/app.js index 60e019ca..89132213 100644 --- a/examples/nodejs/app.js +++ b/examples/nodejs/app.js @@ -32,5 +32,5 @@ app.get('/rolldice', (req, res) => { }) app.listen(PORT, () => { - console.log(`Listening for requests on http://localhost:${PORT}`) + console.log(`Listening for requests on http://127.0.0.1:${PORT}`) }) diff --git a/examples/python/run.sh b/examples/python/run.sh index 3bcdf5b4..1d7408f0 100755 --- a/examples/python/run.sh +++ b/examples/python/run.sh @@ -3,7 +3,7 @@ set -euo pipefail export OTEL_METRIC_EXPORT_INTERVAL="5000" # so we don't have to wait 60s for metrics -export OTEL_RESOURCE_ATTRIBUTES="service.name=rolldice,service.instance.id=localhost:8082" +export OTEL_RESOURCE_ATTRIBUTES="service.name=rolldice,service.instance.id=127.0.0.1:8082" python3 -m venv venv # shellcheck disable=SC1091 diff --git a/generate-traffic.cmd b/generate-traffic.cmd index e76d3673..03d2e79e 100644 --- a/generate-traffic.cmd +++ b/generate-traffic.cmd @@ -1,10 +1,10 @@ @ECHO OFF :loop cls - curl -s http://localhost:8080/rolldice - curl -s http://localhost:8081/rolldice - curl -s http://localhost:8082/rolldice - curl -s http://localhost:8083/rolldice - curl -s http://localhost:8084/rolldice + curl -s http://127.0.0.1:8080/rolldice + curl -s http://127.0.0.1:8081/rolldice + curl -s http://127.0.0.1:8082/rolldice + curl -s http://127.0.0.1:8083/rolldice + curl -s http://127.0.0.1:8084/rolldice timeout /t 2 goto loop diff --git a/generate-traffic.sh b/generate-traffic.sh index 39cdadc6..f6c40f49 100755 --- a/generate-traffic.sh +++ b/generate-traffic.sh @@ -1,7 +1,7 @@ #!/bin/bash -watch 'curl -s http://localhost:8080/rolldice; \ - curl -s http://localhost:8081/rolldice; \ - curl -s http://localhost:8082/rolldice; \ - curl -s http://localhost:8083/rolldice; \ - curl -s http://localhost:8084/rolldice?rolls=5' +watch 'curl -s http://127.0.0.1:8080/rolldice; \ + curl -s http://127.0.0.1:8081/rolldice; \ + curl -s http://127.0.0.1:8082/rolldice; \ + curl -s http://127.0.0.1:8083/rolldice; \ + curl -s http://127.0.0.1:8084/rolldice?rolls=5' diff --git a/go.work.sum b/go.work.sum index d5a4b4e4..5c20b532 100644 --- a/go.work.sum +++ b/go.work.sum @@ -2,6 +2,8 @@ cel.dev/expr v0.16.2 h1:RwRhoH17VhAu9U5CMvMhH1PDVgf0tuz9FT+24AfMLfU= cel.dev/expr v0.16.2/go.mod h1:gXngZQMkWJoSbE8mOzehJlXQyubn/Vg0vR9/F3W7iw8= cel.dev/expr v0.19.1 h1:NciYrtDRIR0lNCnH1LFJegdjspNx9fI59O7TWcua/W4= cel.dev/expr v0.19.1/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= +cel.dev/expr v0.20.0 h1:OunBvVCfvpWlt4dN7zg3FM6TDkzOePe1+foGJ9AXeeI= +cel.dev/expr v0.20.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= @@ -14,6 +16,8 @@ github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.2 github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.24.2/go.mod h1:itPGVDKf9cC/ov4MdvJ2QZ0khw4bfoo9jzwTJlaxy2k= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0 h1:3c8yed4lgqTt+oTQ+JNMDo+F4xprBf+O/il4ZC0nRLw= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0/go.mod h1:obipzmGjfSjam60XLwGfqUkJsfiheAl+TUjG+4yzyPM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0 h1:f2Qw/Ehhimh5uO1fayV0QIW7DShEQqhtUfhYc+cBPlw= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.26.0/go.mod h1:2bIszWvQRlJVmJLiuLhukLImRjKPcYdzzsx6darK02A= github.com/antihax/optional v1.0.0 h1:xK2lYat7ZLaVVcIuj82J8kIro4V6kDe0AUDFboUCwcg= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/census-instrumentation/opencensus-proto v0.4.1 h1:iKLQ0xPNFxR/2hzXZMrBo8f1j86j5WHzznCCQxV/b8g= @@ -28,6 +32,8 @@ github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78 h1:QVw89YDxXxEe+l8gU8E github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3 h1:boJj011Hh+874zpIySeApCX4GeOjPl9qhRF3QuIZq+Q= github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42 h1:Om6kYQYDUk5wWbT0t0q6pvyM49i9XZAv9dDrkDA7gjk= +github.com/cncf/xds/go v0.0.0-20250121191232-2f005788dc42/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/envoyproxy/go-control-plane v0.12.0 h1:4X+VP1GHd1Mhj6IB5mMeGbLCleqxjletLK6K0rbxyZI= github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= github.com/envoyproxy/go-control-plane v0.13.1 h1:vPfJZCkob6yTMEgS+0TwfTUfbHjfy/6vOJ8hUWX/uXE= @@ -44,6 +50,8 @@ github.com/envoyproxy/protoc-gen-validate v1.1.0 h1:tntQDh69XqOCOZsDz0lVJQez/2L6 github.com/envoyproxy/protoc-gen-validate v1.1.0/go.mod h1:sXRDRVmzEbkM7CVcM06s9shE/m23dg3wzjl0UWqJ2q4= github.com/envoyproxy/protoc-gen-validate v1.2.1 h1:DEo3O99U8j4hBFwbJfrz9VtgcDfUKS7KJ7spH3d86P8= github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= +github.com/go-jose/go-jose/v4 v4.0.4 h1:VsjPI33J0SB9vQM6PLmNjoHqMQNGPiZ0rHL7Ni7Q6/E= +github.com/go-jose/go-jose/v4 v4.0.4/go.mod h1:NKb5HO1EZccyMpiZNbdUw/14tiXNyUJh188dfnMCAfc= github.com/golang/glog v1.2.0 h1:uCdmnmatrKCgMBlM4rMuJZWOkPDqdbZPnrMXDY4gI68= github.com/golang/glog v1.2.0/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/glog v1.2.2 h1:1+mZ9upx1Dh6FmUTFR1naJ77miKiXgALjWOZ3NVFPmY= @@ -62,10 +70,16 @@ github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/spiffe/go-spiffe/v2 v2.5.0 h1:N2I01KCUkv1FAjZXJMwh95KK1ZIQLYbPfhaxw8WS0hE= +github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g= +github.com/zeebo/errs v1.4.0 h1:XNdoD/RRMKP7HD0UhJnIzUy74ISdGGxURlYG8HSWSfM= +github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= go.opentelemetry.io/contrib/detectors/gcp v1.31.0 h1:G1JQOreVrfhRkner+l4mrGxmfqYCAuy76asTDAo0xsA= go.opentelemetry.io/contrib/detectors/gcp v1.31.0/go.mod h1:tzQL6E1l+iV44YFTkcAeNQqzXUiekSYP9jjJjXwEd00= go.opentelemetry.io/contrib/detectors/gcp v1.34.0 h1:JRxssobiPg23otYU5SbWtQC//snGVIM3Tx6QRzlQBao= go.opentelemetry.io/contrib/detectors/gcp v1.34.0/go.mod h1:cV4BMFcscUR/ckqLkbfQmF0PRsq8w/lMGzdbCSveBHo= +go.opentelemetry.io/otel/sdk/log/logtest v0.0.0-20250521073539-a85ae98dcedc h1:uqxdywfHqqCl6LmZzI3pUnXT1RGFYyUgxj0AkWPFxi0= +go.opentelemetry.io/otel/sdk/log/logtest v0.0.0-20250521073539-a85ae98dcedc/go.mod h1:TY/N/FT7dmFrP/r5ym3g0yysP1DefqGpAZr4f82P0dE= golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= @@ -76,6 +90,8 @@ golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus= golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M= golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= +golang.org/x/crypto v0.38.0 h1:jt+WWG8IZlBnVbomuhg2Mdq0+BBQaHbtqHEFEigjUV8= +golang.org/x/crypto v0.38.0/go.mod h1:MvrbAqul58NNYPKnOra203SB9vpuZW0e+RRZV+Ggqjw= golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= @@ -94,6 +110,8 @@ golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ= +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= @@ -104,6 +122,8 @@ golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU= golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s= golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= +golang.org/x/term v0.32.0 h1:DR4lr0TjUs3epypdhTOkMmuF5CDFJ/8pOnbzMZPQ7bg= +golang.org/x/term v0.32.0/go.mod h1:uZG1FhGx848Sqfsq4/DlJr3xGGsYMu/L5GW4abiaEPQ= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=