From bf099aab3b34e3afafe871d14944b5efa1aa582e Mon Sep 17 00:00:00 2001 From: Yuri Shkuro Date: Thu, 2 Nov 2023 19:57:12 -0400 Subject: [PATCH 1/9] Prepare release 1.51.0 (#4914) Signed-off-by: Yuri Shkuro --- CHANGELOG.md | 70 +++++++++++++++++++++++++++++++++++++++++++++++----- RELEASE.md | 8 +++--- jaeger-ui | 2 +- 3 files changed, 69 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 03781c605df..186603c72d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,23 +1,81 @@ -Changes by Version -================== - ### A message to people of Russia 🇷🇺 If you currently live in Russia, please read [this message](./_To_People_of_Russia.md). +Changes by Version +================== + +
+next release template + next release (yyyy-mm-dd) ------------------- ### Backend Changes -#### ⛔ Breaking Changes +run `make changelog` to generate content -#### New Features +### UI Changes -#### Bug fixes, Minor Improvements +... + +
+ +1.51.0 (2023-11-04) +------------------- + +### Backend Changes + +#### ✨ New Features: + +* Feat: add sampling store support to badger ([@slayer321](https://github.com/slayer321) in [#4834](https://github.com/jaegertracing/jaeger/pull/4834)) +* Feat: add span adjuster that moves some otel resource attributes to span.process ([@james-ryans](https://github.com/james-ryans) in [#4844](https://github.com/jaegertracing/jaeger/pull/4844)) +* Add product/file version in windows executables ([@ResamVi](https://github.com/ResamVi) in [#4811](https://github.com/jaegertracing/jaeger/pull/4811)) + +#### 🐞 Bug fixes, Minor Improvements: + +* Fix dependency policy and add to security-insights.yml ([@jkowall](https://github.com/jkowall) in [#4907](https://github.com/jaegertracing/jaeger/pull/4907)) +* Add reload interval to otel server certificates ([@james-ryans](https://github.com/james-ryans) in [#4898](https://github.com/jaegertracing/jaeger/pull/4898)) +* Feat: add blackhole storage, for benchmarking ([@yurishkuro](https://github.com/yurishkuro) in [#4896](https://github.com/jaegertracing/jaeger/pull/4896)) +* Add otel resource detector to jaeger components ([@james-ryans](https://github.com/james-ryans) in [#4864](https://github.com/jaegertracing/jaeger/pull/4864)) +* Fix batchprocessor to set correct span format flags ([@k0zl](https://github.com/k0zl) in [#4796](https://github.com/jaegertracing/jaeger/pull/4796)) +* Expose collector ports in docker images ([@arunvelsriram](https://github.com/arunvelsriram) in [#4810](https://github.com/jaegertracing/jaeger/pull/4810)) + +#### 🚧 Experimental Features: + +* Exp(jaeger-v2): simplify all-in-one configuration ([@yurishkuro](https://github.com/yurishkuro) in [#4875](https://github.com/jaegertracing/jaeger/pull/4875)) +* Exp: support primary and archive storage ([@yurishkuro](https://github.com/yurishkuro) in [#4873](https://github.com/jaegertracing/jaeger/pull/4873)) +* Feat(jaeger-v2): create default config for all-in-one ([@yurishkuro](https://github.com/yurishkuro) in [#4842](https://github.com/jaegertracing/jaeger/pull/4842)) + +#### 👷 CI Improvements: + +* Ci: split the install-tools into test/build groups ([@MeenuyD](https://github.com/MeenuyD) in [#4878](https://github.com/jaegertracing/jaeger/pull/4878)) +* Simplify binary building in makefile ([@yurishkuro](https://github.com/yurishkuro) in [#4885](https://github.com/jaegertracing/jaeger/pull/4885)) +* Ci: pass variable instead of calling make build-xxx-debug ([@yurishkuro](https://github.com/yurishkuro) in [#4883](https://github.com/jaegertracing/jaeger/pull/4883)) +* Simplify makefile ([@yurishkuro](https://github.com/yurishkuro) in [#4882](https://github.com/jaegertracing/jaeger/pull/4882)) +* Test: add more linters ([@yurishkuro](https://github.com/yurishkuro) in [#4881](https://github.com/jaegertracing/jaeger/pull/4881)) +* Ci: enable linting of code in examples/ ([@yurishkuro](https://github.com/yurishkuro) in [#4880](https://github.com/jaegertracing/jaeger/pull/4880)) +* Ci: keep the ui asset's .gz file timestamps the same as the original file ([@yurishkuro](https://github.com/yurishkuro) in [#4879](https://github.com/jaegertracing/jaeger/pull/4879)) +* Add first pass at the security-insights.yml ([@jkowall](https://github.com/jkowall) in [#4872](https://github.com/jaegertracing/jaeger/pull/4872)) +* Create scorecard.yml for ossf implementation ([@jkowall](https://github.com/jkowall) in [#4870](https://github.com/jaegertracing/jaeger/pull/4870)) +* Add ci validation of shell scripts using shellcheck ([@akagami-harsh](https://github.com/akagami-harsh) in [#4826](https://github.com/jaegertracing/jaeger/pull/4826)) +* Chore: add dynamic loading bar functionality to release-notes.py ([@anshgoyalevil](https://github.com/anshgoyalevil) in [#4857](https://github.com/jaegertracing/jaeger/pull/4857)) +* Ci: add the label-check workflow to verify changelog labels on each pr ([@anshgoyalevil](https://github.com/anshgoyalevil) in [#4847](https://github.com/jaegertracing/jaeger/pull/4847)) +* Ci(hotrod): print hotrod container logs in case of test failure ([@yurishkuro](https://github.com/yurishkuro) in [#4845](https://github.com/jaegertracing/jaeger/pull/4845)) +* Ci: drop -v from ci unit tests to make failures easier to see ([@yurishkuro](https://github.com/yurishkuro) in [#4839](https://github.com/jaegertracing/jaeger/pull/4839)) +* Use commit hash as image label when building & integration-testing ([@yurishkuro](https://github.com/yurishkuro) in [#4824](https://github.com/jaegertracing/jaeger/pull/4824)) +* Clean-up some linter warnings in build scripts ([@yurishkuro](https://github.com/yurishkuro) in [#4823](https://github.com/jaegertracing/jaeger/pull/4823)) +* Fix build-all-in-one-image script ([@albertteoh](https://github.com/albertteoh) in [#4819](https://github.com/jaegertracing/jaeger/pull/4819)) +* [ci-release] improve release workflow for manual runs ([@yurishkuro](https://github.com/yurishkuro) in [#4818](https://github.com/jaegertracing/jaeger/pull/4818)) +* Add --force to docker commands ([@albertteoh](https://github.com/albertteoh) in [#4820](https://github.com/jaegertracing/jaeger/pull/4820)) +* Use setup-node.js for publish release ([@albertteoh](https://github.com/albertteoh) in [#4816](https://github.com/jaegertracing/jaeger/pull/4816)) +* Clean up ci scripts and prune docker images between builds ([@yurishkuro](https://github.com/yurishkuro) in [#4815](https://github.com/jaegertracing/jaeger/pull/4815)) +* Clean-up & fortify ci-release ([@yurishkuro](https://github.com/yurishkuro) in [#4813](https://github.com/jaegertracing/jaeger/pull/4813)) ### UI Changes +* UI pinned to version [1.35.0](https://github.com/jaegertracing/jaeger-ui/blob/main/CHANGELOG.md#v1350-2023-11-02). + 1.50.0 (2023-10-06) ------------------- diff --git a/RELEASE.md b/RELEASE.md index 79b497a6f79..dcf159e99a7 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -54,8 +54,8 @@ Here are the release managers for future versions with the tentative release dat | Version | Release Manager | Tentative release date | |---------|-----------------|------------------------| -| 1.51.0 | @yurishkuro | 5 November 2023 | | 1.52.0 | @jkowall | 5 December 2023 | -| 1.53.0 | @pavolloffay | 3 January 2023 | -| 1.53.0 | @joe-elliott | 7 February 2023 | -| 1.54.0 | @albertteoh | 6 March 2023 | +| 1.53.0 | @pavolloffay | 3 January 2024 | +| 1.54.0 | @joe-elliott | 7 February 2024 | +| 1.55.0 | @albertteoh | 6 March 2024 | +| 1.56.0 | @yurishkuro | 3 April 2024 | diff --git a/jaeger-ui b/jaeger-ui index 72f0a006317..ca0d75aea69 160000 --- a/jaeger-ui +++ b/jaeger-ui @@ -1 +1 @@ -Subproject commit 72f0a0063177416828b5ade86468387188e887b2 +Subproject commit ca0d75aea693fd4404ac16622191b3fbdd87acd0 From 10e82c07eb2aa7f9fafc65b8f37ece1257d25b7a Mon Sep 17 00:00:00 2001 From: Yuri Shkuro Date: Thu, 2 Nov 2023 20:16:16 -0400 Subject: [PATCH 2/9] Fix release script broken by recent linting cleanup (#4915) ## Which problem is this PR solving? ``` Run bash scripts/package-deploy.sh + set -e + readonly VERSION ++ make echo-version ++ perl -lne 'print $1 if /^v(\d+.\d+.\d+)$/' + VERSION=1.51.0 scripts/package-deploy.sh: line 55: VERSION: readonly variable Error: Process completed with exit code 1. ``` ## Description of the changes - remove `readonly` declaration ## How was this change tested? - will rerun script after merging, no other way to test Signed-off-by: Yuri Shkuro --- scripts/package-deploy.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/package-deploy.sh b/scripts/package-deploy.sh index 9ee3e1b0bf7..2431b2037db 100755 --- a/scripts/package-deploy.sh +++ b/scripts/package-deploy.sh @@ -51,7 +51,6 @@ function package { set -e -readonly VERSION VERSION="$(make echo-version | perl -lne 'print $1 if /^v(\d+.\d+.\d+)$/' )" echo "Working on version: $VERSION" if [ -z "$VERSION" ]; then From 7ff9c3a2f315255ac5f0156f8a08e8e77734c304 Mon Sep 17 00:00:00 2001 From: Yuri Shkuro Date: Fri, 3 Nov 2023 07:45:37 -0400 Subject: [PATCH 3/9] ci: Test jaeger-v2 as all-in-one in CI (#4890) ## Which problem is this PR solving? - Enable testing of jaeger-v2 in all-in-one mode in CI - Part of #4843 ## Description of the changes - Add `cmd/jaeger-v2/Dockerfile` - Parameterize `scripts/build-all-in-one-image.sh` to allow running `jaeger-v2` instead of `all-in-one` - Call this script with `jaeger-v2` from .github/workflows/ci-all-in-one-build.yml ## How was this change tested? ```shell $ BINARY=jaeger-v2 BRANCH=v2-docker GITHUB_SHA=abcd scripts/build-all-in-one-image.sh pr-only ``` --------- Signed-off-by: Yuri Shkuro --- .github/workflows/ci-all-in-one-build.yml | 4 + cmd/jaeger-v2/Dockerfile | 93 +++++++++++++++++++ .../internal/extension/jaegerquery/server.go | 10 +- go.mod | 8 +- go.sum | 20 ++-- scripts/build-all-in-one-image.sh | 43 ++++++--- 6 files changed, 148 insertions(+), 30 deletions(-) create mode 100644 cmd/jaeger-v2/Dockerfile diff --git a/.github/workflows/ci-all-in-one-build.yml b/.github/workflows/ci-all-in-one-build.yml index ddc216eaefb..f27b657f723 100644 --- a/.github/workflows/ci-all-in-one-build.yml +++ b/.github/workflows/ci-all-in-one-build.yml @@ -51,6 +51,10 @@ jobs: if: github.ref_name != 'main' run: bash scripts/build-all-in-one-image.sh pr-only + - name: Build and test jaeger-v2 as all-in-one + if: github.ref_name != 'main' + run: BINARY=jaeger-v2 bash scripts/build-all-in-one-image.sh pr-only + - name: Build, test, and publish all-in-one image if: github.ref_name == 'main' run: bash scripts/build-all-in-one-image.sh diff --git a/cmd/jaeger-v2/Dockerfile b/cmd/jaeger-v2/Dockerfile new file mode 100644 index 00000000000..5e250d7bc35 --- /dev/null +++ b/cmd/jaeger-v2/Dockerfile @@ -0,0 +1,93 @@ +ARG base_image +ARG debug_image + +FROM $base_image AS release +ARG TARGETARCH +ARG USER_UID=10001 + +# Agent zipkin.thrift compact +EXPOSE 5775/udp + +# Agent jaeger.thrift compact +EXPOSE 6831/udp + +# Agent jaeger.thrift binary +EXPOSE 6832/udp + +# Agent config HTTP +EXPOSE 5778 + +# Collector OTLP gRPC +EXPOSE 4317 + +# Collector OTLP HTTP +EXPOSE 4318 + +# Collector HTTP +EXPOSE 14268 + +# Collector gRPC +EXPOSE 14250 + +# Collector Zipkin +EXPOSE 9411 + +# Web HTTP +EXPOSE 16686 + +# Default configuration file for setting sampling strategies +# ENV SAMPLING_STRATEGIES_FILE=/etc/jaeger/sampling_strategies.json + +COPY jaeger-v2-linux-$TARGETARCH /go/bin/jaeger-v2-linux +# COPY sampling_strategies.json /etc/jaeger/ + +VOLUME ["/tmp"] +ENTRYPOINT ["/go/bin/jaeger-v2-linux"] +USER ${USER_UID} + +FROM $debug_image AS debug +ARG TARGETARCH=amd64 +ARG USER_UID=10001 + +# Agent zipkin.thrift compact +EXPOSE 5775/udp + +# Agent jaeger.thrift compact +EXPOSE 6831/udp + +# Agent jaeger.thrift binary +EXPOSE 6832/udp + +# Agent config HTTP +EXPOSE 5778 + +# Collector OTLP gRPC +EXPOSE 4317 + +# Collector OTLP HTTP +EXPOSE 4318 + +# Collector HTTP +EXPOSE 14268 + +# Collector gRPC +EXPOSE 14250 + +# Collector Zipkin +EXPOSE 9411 + +# Web HTTP +EXPOSE 16686 + +# Delve +EXPOSE 12345 + +# Default configuration file for setting sampling strategies +# ENV SAMPLING_STRATEGIES_FILE=/etc/jaeger/sampling_strategies.json + +COPY jaeger-v2-debug-linux-$TARGETARCH /go/bin/jaeger-v2-linux +# COPY sampling_strategies.json /etc/jaeger/ + +VOLUME ["/tmp"] +ENTRYPOINT ["/go/bin/dlv", "exec", "/go/bin/jaeger-v2-linux", "--headless", "--listen=:12345", "--api-version=2", "--accept-multiclient", "--log", "--"] +USER ${USER_UID} diff --git a/cmd/jaeger-v2/internal/extension/jaegerquery/server.go b/cmd/jaeger-v2/internal/extension/jaegerquery/server.go index 82c1eaf71b3..05840a043cd 100644 --- a/cmd/jaeger-v2/internal/extension/jaegerquery/server.go +++ b/cmd/jaeger-v2/internal/extension/jaegerquery/server.go @@ -20,7 +20,10 @@ import ( "github.com/jaegertracing/jaeger/ports" ) -var _ extension.Extension = (*server)(nil) +var ( + _ extension.Extension = (*server)(nil) + _ extension.Dependent = (*server)(nil) +) type server struct { config *Config @@ -35,6 +38,11 @@ func newServer(config *Config, otel component.TelemetrySettings) *server { } } +// Dependencies implements extension.Dependent to ensure this always starts after jaegerstorage extension. +func (s *server) Dependencies() []component.ID { + return []component.ID{jaegerstorage.ID} +} + func (s *server) Start(ctx context.Context, host component.Host) error { f, err := jaegerstorage.GetStorageFactory(s.config.TraceStoragePrimary, host) if err != nil { diff --git a/go.mod b/go.mod index 51f30acc92f..d46c8112258 100644 --- a/go.mod +++ b/go.mod @@ -61,7 +61,7 @@ require ( go.opentelemetry.io/collector/exporter/loggingexporter v0.88.0 go.opentelemetry.io/collector/exporter/otlpexporter v0.88.0 go.opentelemetry.io/collector/exporter/otlphttpexporter v0.88.0 - go.opentelemetry.io/collector/extension v0.88.0 + go.opentelemetry.io/collector/extension v0.88.1-0.20231102040825-2e44da36e2c6 go.opentelemetry.io/collector/extension/ballastextension v0.88.0 go.opentelemetry.io/collector/extension/zpagesextension v0.88.0 go.opentelemetry.io/collector/otelcol v0.88.0 @@ -71,7 +71,7 @@ require ( go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.88.0 go.opentelemetry.io/collector/receiver v0.88.0 go.opentelemetry.io/collector/receiver/otlpreceiver v0.88.0 - go.opentelemetry.io/collector/service v0.88.0 + go.opentelemetry.io/collector/service v0.88.1-0.20231102040825-2e44da36e2c6 go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 go.opentelemetry.io/otel v1.19.0 @@ -123,7 +123,7 @@ require ( github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/snappy v0.0.4 // indirect github.com/google/flatbuffers v1.12.1 // indirect - github.com/google/uuid v1.3.1 // indirect + github.com/google/uuid v1.4.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed // indirect github.com/hashicorp/errwrap v1.1.0 // indirect @@ -182,7 +182,7 @@ require ( github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sagikazarmark/locafero v0.3.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect - github.com/shirou/gopsutil/v3 v3.23.9 // indirect + github.com/shirou/gopsutil/v3 v3.23.10 // indirect github.com/shoenig/go-m1cpu v0.1.6 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.10.0 // indirect diff --git a/go.sum b/go.sum index 413aa62ab33..e1c00528271 100644 --- a/go.sum +++ b/go.sum @@ -304,8 +304,9 @@ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -323,8 +324,8 @@ github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLe github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= -github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= +github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= @@ -598,8 +599,8 @@ github.com/sagikazarmark/locafero v0.3.0 h1:zT7VEGWC2DTflmccN/5T1etyKvxSxpHsjb9c github.com/sagikazarmark/locafero v0.3.0/go.mod h1:w+v7UsPNFwzF1cHuOajOOzoq4U7v/ig1mpRjqV+Bu1U= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= -github.com/shirou/gopsutil/v3 v3.23.9 h1:ZI5bWVeu2ep4/DIxB4U9okeYJ7zp/QLTO4auRb/ty/E= -github.com/shirou/gopsutil/v3 v3.23.9/go.mod h1:x/NWSb71eMcjFIO0vhyGW5nZ7oSIgVjrCnADckb85GA= +github.com/shirou/gopsutil/v3 v3.23.10 h1:/N42opWlYzegYaVkWejXWJpbzKv2JDy3mrgGzKsh9hM= +github.com/shirou/gopsutil/v3 v3.23.10/go.mod h1:JIE26kpucQi+innVlAUnIEOSBhBUkirr5b44yr55+WE= github.com/shoenig/go-m1cpu v0.1.6 h1:nxdKQNcEB6vzgA2E2bvzKIYRuNj7XNJ4S/aRSwKzFtM= github.com/shoenig/go-m1cpu v0.1.6/go.mod h1:1JJMcUBvfNwpq05QDQVAnx3gUHr9IYF7GNg9SUEw2VQ= github.com/shoenig/test v0.6.4 h1:kVTaSd7WLz5WZ2IaoM0RSzRsUD+m8wRR+5qvntpn4LU= @@ -741,8 +742,8 @@ go.opentelemetry.io/collector/exporter/otlpexporter v0.88.0 h1:YDfXZ+MtmMUqxXMw+ go.opentelemetry.io/collector/exporter/otlpexporter v0.88.0/go.mod h1:BgMN5q8rds0nrXX5YiBAgAjPzodcVopgIS/uRRe430c= go.opentelemetry.io/collector/exporter/otlphttpexporter v0.88.0 h1:fBbhhfEcnBgiLDFvkDptC3RsiDflxBTNXROSn04y+YM= go.opentelemetry.io/collector/exporter/otlphttpexporter v0.88.0/go.mod h1:CuQxbaYd8aMSAJTS0/CMmZUDY8kLKZZVT4H5EfmTEJQ= -go.opentelemetry.io/collector/extension v0.88.0 h1:/WH97pQYypL7ZC5OEccoE0gFs6fjBC/Uh9NuVEYEoZ0= -go.opentelemetry.io/collector/extension v0.88.0/go.mod h1:5wPlOyWtVJcZS9CMhFUnuRvNQ0XIoV/iUSaZWtCjoHA= +go.opentelemetry.io/collector/extension v0.88.1-0.20231102040825-2e44da36e2c6 h1:NNafnNlRAZLI+PCY3w2NvridWfjTgyDSr80TqHG9dUE= +go.opentelemetry.io/collector/extension v0.88.1-0.20231102040825-2e44da36e2c6/go.mod h1:5wPlOyWtVJcZS9CMhFUnuRvNQ0XIoV/iUSaZWtCjoHA= go.opentelemetry.io/collector/extension/auth v0.88.0 h1:4vjVCWwkh3uGqClM32jbmUDGzZ22lK4IdoSTd5xTu/s= go.opentelemetry.io/collector/extension/auth v0.88.0/go.mod h1:IcwiPhj6ZGTaZ7WVRVvl97uyw9NShsVqcTRLtXddpK0= go.opentelemetry.io/collector/extension/ballastextension v0.88.0 h1:3R5fGqa0jvDIj0RUWq83Mr7l0zI9TCVs+fYYaMFK5N4= @@ -767,8 +768,8 @@ go.opentelemetry.io/collector/receiver/otlpreceiver v0.88.0 h1:Sh+Y4RB6C7ZQkMPBv go.opentelemetry.io/collector/receiver/otlpreceiver v0.88.0/go.mod h1:Qr01GQKUmFnbgQApFhq4LNuS+n0YURfJfgLiaydwZRc= go.opentelemetry.io/collector/semconv v0.88.0 h1:8TVP4hYaUC87S6CCLKNoSxsUE0ChldE4vqotvNHHUnE= go.opentelemetry.io/collector/semconv v0.88.0/go.mod h1:j/8THcqVxFna1FpvA2zYIsUperEtOaRaqoLYIN4doWw= -go.opentelemetry.io/collector/service v0.88.0 h1:KSue2w94Tb2xjenlm+SC2y2g87hdhFJeHMT9pEshKAE= -go.opentelemetry.io/collector/service v0.88.0/go.mod h1:+Fov4arJzWl8SBuMonvM7gOrfK72G+d+2WotRjR5c2I= +go.opentelemetry.io/collector/service v0.88.1-0.20231102040825-2e44da36e2c6 h1:bgsioa6MiPW8uGTjxLLHGlAOHcyghNCqI/aKSDrCZQk= +go.opentelemetry.io/collector/service v0.88.1-0.20231102040825-2e44da36e2c6/go.mod h1:p8cjrpe1YYkQhH0dl4c+ZDKTUqRRfWYqghmfn31OR88= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0 h1:RsQi0qJ2imFfCvZabqzM9cNXBG8k6gXMv1A0cXRmH6A= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.45.0/go.mod h1:vsh3ySueQCiKPxFLvjWC4Z135gIa34TQ/NSqkDTZYUM= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.45.0 h1:x8Z78aZx8cOF0+Kkazoc7lwUNMGy0LrzEMxTm4BbTxg= @@ -1035,7 +1036,6 @@ golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= diff --git a/scripts/build-all-in-one-image.sh b/scripts/build-all-in-one-image.sh index 1c47679498f..a1437161e77 100755 --- a/scripts/build-all-in-one-image.sh +++ b/scripts/build-all-in-one-image.sh @@ -2,12 +2,20 @@ set -exu +if [[ "$1" == "pr-only" ]]; then + is_pull_request=true +else + is_pull_request=false +fi + +# alternative can be jaeger-v2 +BINARY=${BINARY:-'all-in-one'} + # Set default GOARCH variable to the host GOARCH, the target architecture can # be overrided by passing architecture value to the script: # `GOARCH= ./scripts/build-all-in-one-image.sh`. GOARCH=${GOARCH:-$(go env GOARCH)} -mode=${1-main} -repo=jaegertracing/all-in-one +repo="jaegertracing/${BINARY}" # verify Node.js version expected_version="v$(cat jaeger-ui/.nvmrc)" @@ -35,35 +43,40 @@ run_integration_test() { docker kill "$CID" } -if [ "$mode" = "pr-only" ]; then +if [[ "${is_pull_request}" == "true" ]]; then make create-baseimg - # build architecture for linux/amd64 only for pull requests - platforms="linux/amd64" - make build-all-in-one GOOS=linux GOARCH=amd64 + # build current architecture only for pull requests + platforms="linux/${GOARCH}" + make "build-${BINARY}" GOOS=linux "GOARCH=${GOARCH}" else make create-baseimg-debugimg platforms="linux/amd64,linux/s390x,linux/ppc64le,linux/arm64" - make build-all-in-one GOOS=linux GOARCH=amd64 - make build-all-in-one GOOS=linux GOARCH=s390x - make build-all-in-one GOOS=linux GOARCH=ppc64le - make build-all-in-one GOOS=linux GOARCH=arm64 + make "build-${BINARY}" GOOS=linux GOARCH=amd64 + make "build-${BINARY}" GOOS=linux GOARCH=s390x + make "build-${BINARY}" GOOS=linux GOARCH=ppc64le + make "build-${BINARY}" GOOS=linux GOARCH=arm64 fi # build all-in-one image locally for integration test -bash scripts/build-upload-a-docker-image.sh -l -b -c all-in-one -d cmd/all-in-one -p "${platforms}" -t release -run_integration_test localhost:5000/$repo +bash scripts/build-upload-a-docker-image.sh -l -b -c "${BINARY}" -d "cmd/${BINARY}" -p "${platforms}" -t release +run_integration_test "localhost:5000/$repo" + +# skip building and uploading real Docker images if it's not all-in-one +if [[ "${BINARY}" != "all-in-one" ]]; then + exit +fi # build all-in-one image and upload to dockerhub/quay.io bash scripts/build-upload-a-docker-image.sh -b -c all-in-one -d cmd/all-in-one -p "${platforms}" -t release # build debug image if not on a pull request -if [ "$mode" != "pr-only" ]; then +if [[ "${is_pull_request}" == "false" ]]; then make build-all-in-one GOOS=linux GOARCH="$GOARCH" DEBUG_BINARY=1 - repo=${repo}-debug + repo="${repo}-debug" # build all-in-one DEBUG image locally for integration test bash scripts/build-upload-a-docker-image.sh -l -b -c all-in-one-debug -d cmd/all-in-one -t debug - run_integration_test localhost:5000/$repo + run_integration_test "localhost:5000/$repo" # build all-in-one-debug image and upload to dockerhub/quay.io bash scripts/build-upload-a-docker-image.sh -b -c all-in-one-debug -d cmd/all-in-one -t debug From 5e91855301647b8807ab28c04f0a1b6ffb891f5c Mon Sep 17 00:00:00 2001 From: Yuri Shkuro Date: Fri, 3 Nov 2023 08:49:13 -0400 Subject: [PATCH 4/9] ci: Set default to fix 'unbound variable' error on main (#4916) ## Which problem is this PR solving? Build failed on `main`: ``` scripts/build-all-in-one-image.sh: line 5: $1: unbound variable ``` ## Description of the changes - Use default value for `$1` var ## How was this change tested? ```shell $ bash scripts/build-all-in-one-image.sh + arg1=not-pr + [[ not-pr == \p\r\-\o\n\l\y ]] + is_pull_request=false + BINARY=all-in-one ++ go env GOARCH + GOARCH=arm64 + repo=jaegertracing/all-in-one ++ cat jaeger-ui/.nvmrc + expected_version=v18 ++ node --version scripts/build-all-in-one-image.sh: line 23: node: command not found + version= ``` fails much later (as expected) Signed-off-by: Yuri Shkuro --- scripts/build-all-in-one-image.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/build-all-in-one-image.sh b/scripts/build-all-in-one-image.sh index a1437161e77..6ed9a5130f4 100755 --- a/scripts/build-all-in-one-image.sh +++ b/scripts/build-all-in-one-image.sh @@ -2,7 +2,8 @@ set -exu -if [[ "$1" == "pr-only" ]]; then +arg1=${1:-'not-pr'} +if [[ "$arg1" == "pr-only" ]]; then is_pull_request=true else is_pull_request=false From 080b77ffb789e8c6044a71a0fa18b8a958eef0dc Mon Sep 17 00:00:00 2001 From: Yuri Shkuro Date: Fri, 3 Nov 2023 12:54:39 -0400 Subject: [PATCH 5/9] exp: Rename jaeger-v2 binary to just jaeger (#4918) ## Which problem is this PR solving? - Part of #4843 ## Description of the changes - Per discussion with maintainers, rename `jaeger-v2` binary to just `jaeger`. - Motivation: - In the long run it's not going to be convenient for users to refer to `jaeger-v2`, projects typically don't do that - The name `jaeger` is currently unused (e.g. in Docker Hub) - Since we're combining all deployment units into one binary, `jaeger` name is quite appropriate ## How was this change tested? ``` $ go run -tags=ui ./cmd/jaeger ``` `grep -ri jaeger-v2 .` does not find any references (except in the changelog) --------- Signed-off-by: Yuri Shkuro --- .github/workflows/ci-all-in-one-build.yml | 4 ++-- Makefile | 14 +++++++------- cmd/jaeger-v2/.gitignore | 2 -- cmd/jaeger/.gitignore | 2 ++ cmd/{jaeger-v2 => jaeger}/Dockerfile | 12 ++++++------ cmd/jaeger/README.md | 4 ++++ cmd/{jaeger-v2 => jaeger}/config-ui.json | 0 cmd/{jaeger-v2 => jaeger}/config.yaml | 2 +- cmd/{jaeger-v2 => jaeger}/internal/.nocover | 0 cmd/{jaeger-v2 => jaeger}/internal/all-in-one.yaml | 0 .../internal/all-in-one/.nocover | 0 .../internal/all-in-one/config.go | 6 +++--- cmd/{jaeger-v2 => jaeger}/internal/command.go | 2 +- cmd/{jaeger-v2 => jaeger}/internal/components.go | 6 +++--- .../internal/exporters/storageexporter/.nocover | 0 .../internal/exporters/storageexporter/README.md | 0 .../internal/exporters/storageexporter/config.go | 0 .../internal/exporters/storageexporter/exporter.go | 2 +- .../internal/exporters/storageexporter/factory.go | 0 .../internal/extension/jaegerquery/.nocover | 0 .../internal/extension/jaegerquery/README.md | 0 .../internal/extension/jaegerquery/config.go | 0 .../internal/extension/jaegerquery/factory.go | 0 .../internal/extension/jaegerquery/server.go | 2 +- .../internal/extension/jaegerstorage/.nocover | 0 .../internal/extension/jaegerstorage/README.md | 0 .../internal/extension/jaegerstorage/config.go | 0 .../internal/extension/jaegerstorage/extension.go | 0 .../internal/extension/jaegerstorage/factory.go | 0 cmd/{jaeger-v2 => jaeger}/main.go | 2 +- cmd/query/app/flags.go | 2 +- plugin/storage/memory/factory.go | 2 +- scripts/build-all-in-one-image.sh | 2 +- 33 files changed, 35 insertions(+), 31 deletions(-) delete mode 100644 cmd/jaeger-v2/.gitignore create mode 100644 cmd/jaeger/.gitignore rename cmd/{jaeger-v2 => jaeger}/Dockerfile (80%) create mode 100644 cmd/jaeger/README.md rename cmd/{jaeger-v2 => jaeger}/config-ui.json (100%) rename cmd/{jaeger-v2 => jaeger}/config.yaml (94%) rename cmd/{jaeger-v2 => jaeger}/internal/.nocover (100%) rename cmd/{jaeger-v2 => jaeger}/internal/all-in-one.yaml (100%) rename cmd/{jaeger-v2 => jaeger}/internal/all-in-one/.nocover (100%) rename cmd/{jaeger-v2 => jaeger}/internal/all-in-one/config.go (94%) rename cmd/{jaeger-v2 => jaeger}/internal/command.go (98%) rename cmd/{jaeger-v2 => jaeger}/internal/components.go (92%) rename cmd/{jaeger-v2 => jaeger}/internal/exporters/storageexporter/.nocover (100%) rename cmd/{jaeger-v2 => jaeger}/internal/exporters/storageexporter/README.md (100%) rename cmd/{jaeger-v2 => jaeger}/internal/exporters/storageexporter/config.go (100%) rename cmd/{jaeger-v2 => jaeger}/internal/exporters/storageexporter/exporter.go (95%) rename cmd/{jaeger-v2 => jaeger}/internal/exporters/storageexporter/factory.go (100%) rename cmd/{jaeger-v2 => jaeger}/internal/extension/jaegerquery/.nocover (100%) rename cmd/{jaeger-v2 => jaeger}/internal/extension/jaegerquery/README.md (100%) rename cmd/{jaeger-v2 => jaeger}/internal/extension/jaegerquery/config.go (100%) rename cmd/{jaeger-v2 => jaeger}/internal/extension/jaegerquery/factory.go (100%) rename cmd/{jaeger-v2 => jaeger}/internal/extension/jaegerquery/server.go (97%) rename cmd/{jaeger-v2 => jaeger}/internal/extension/jaegerstorage/.nocover (100%) rename cmd/{jaeger-v2 => jaeger}/internal/extension/jaegerstorage/README.md (100%) rename cmd/{jaeger-v2 => jaeger}/internal/extension/jaegerstorage/config.go (100%) rename cmd/{jaeger-v2 => jaeger}/internal/extension/jaegerstorage/extension.go (100%) rename cmd/{jaeger-v2 => jaeger}/internal/extension/jaegerstorage/factory.go (100%) rename cmd/{jaeger-v2 => jaeger}/main.go (90%) diff --git a/.github/workflows/ci-all-in-one-build.yml b/.github/workflows/ci-all-in-one-build.yml index f27b657f723..900515119e4 100644 --- a/.github/workflows/ci-all-in-one-build.yml +++ b/.github/workflows/ci-all-in-one-build.yml @@ -51,9 +51,9 @@ jobs: if: github.ref_name != 'main' run: bash scripts/build-all-in-one-image.sh pr-only - - name: Build and test jaeger-v2 as all-in-one + - name: Build and test jaeger (v2) as all-in-one if: github.ref_name != 'main' - run: BINARY=jaeger-v2 bash scripts/build-all-in-one-image.sh pr-only + run: BINARY=jaeger bash scripts/build-all-in-one-image.sh pr-only - name: Build, test, and publish all-in-one image if: github.ref_name == 'main' diff --git a/Makefile b/Makefile index a5a4ab38785..0adcebb77a1 100644 --- a/Makefile +++ b/Makefile @@ -263,10 +263,10 @@ BIN_PATH = ./cmd/$(BIN_NAME) _build-a-binary-%: $(GOBUILD) $(DISABLE_OPTIMIZATIONS) $(GO_TAGS) -o $(BIN_PATH)/$(BIN_NAME)$(SUFFIX)-$(GOOS)-$(GOARCH) $(BUILD_INFO) $(BIN_PATH) -.PHONY: build-jaeger-v2 -build-jaeger-v2: BIN_NAME = jaeger-v2 -build-jaeger-v2: GO_TAGS = -tags ui -build-jaeger-v2: build-ui _build-a-binary-jaeger-v2$(SUFFIX)-$(GOOS)-$(GOARCH) +.PHONY: build-jaeger +build-jaeger: BIN_NAME = jaeger +build-jaeger: GO_TAGS = -tags ui +build-jaeger: build-ui _build-a-binary-jaeger$(SUFFIX)-$(GOOS)-$(GOARCH) .PHONY: build-all-in-one build-all-in-one: BIN_NAME = all-in-one @@ -346,7 +346,7 @@ _prepare-winres: $(MAKE) _prepare-winres-helper NAME="Jaeger Ingester" PKGPATH="cmd/ingester" $(MAKE) _prepare-winres-helper NAME="Jaeger Remote Storage" PKGPATH="cmd/remote-storage" $(MAKE) _prepare-winres-helper NAME="Jaeger All-In-One" PKGPATH="cmd/all-in-one" - $(MAKE) _prepare-winres-helper NAME="Jaeger V2" PKGPATH="cmd/jaeger-v2" + $(MAKE) _prepare-winres-helper NAME="Jaeger V2" PKGPATH="cmd/jaeger" $(MAKE) _prepare-winres-helper NAME="Jaeger Tracegen" PKGPATH="cmd/tracegen" $(MAKE) _prepare-winres-helper NAME="Jaeger Anonymizer" PKGPATH="cmd/anonymizer" $(MAKE) _prepare-winres-helper NAME="Jaeger ES-Index-Cleaner" PKGPATH="cmd/es-index-cleaner" @@ -392,7 +392,7 @@ _build-platform-binaries: build-agent \ build-collector \ build-query \ build-ingester \ - build-jaeger-v2 \ + build-jaeger \ build-remote-storage \ build-examples \ build-tracegen \ @@ -500,7 +500,7 @@ changelog: draft-release: ./scripts/draft-release.py -.PHONY: install-test-tools +.PHONY: install-test-tools install-test-tools: $(GO) install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.52.1 $(GO) install mvdan.cc/gofumpt@latest diff --git a/cmd/jaeger-v2/.gitignore b/cmd/jaeger-v2/.gitignore deleted file mode 100644 index 8698bcd0855..00000000000 --- a/cmd/jaeger-v2/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -jaeger-v2-*-* -jaeger-v2 diff --git a/cmd/jaeger/.gitignore b/cmd/jaeger/.gitignore new file mode 100644 index 00000000000..754ad10bd47 --- /dev/null +++ b/cmd/jaeger/.gitignore @@ -0,0 +1,2 @@ +jaeger-*-* +jaeger diff --git a/cmd/jaeger-v2/Dockerfile b/cmd/jaeger/Dockerfile similarity index 80% rename from cmd/jaeger-v2/Dockerfile rename to cmd/jaeger/Dockerfile index 5e250d7bc35..525de6bacce 100644 --- a/cmd/jaeger-v2/Dockerfile +++ b/cmd/jaeger/Dockerfile @@ -37,12 +37,12 @@ EXPOSE 16686 # Default configuration file for setting sampling strategies # ENV SAMPLING_STRATEGIES_FILE=/etc/jaeger/sampling_strategies.json - -COPY jaeger-v2-linux-$TARGETARCH /go/bin/jaeger-v2-linux # COPY sampling_strategies.json /etc/jaeger/ +COPY jaeger-linux-$TARGETARCH /go/bin/jaeger-linux + VOLUME ["/tmp"] -ENTRYPOINT ["/go/bin/jaeger-v2-linux"] +ENTRYPOINT ["/go/bin/jaeger-linux"] USER ${USER_UID} FROM $debug_image AS debug @@ -84,10 +84,10 @@ EXPOSE 12345 # Default configuration file for setting sampling strategies # ENV SAMPLING_STRATEGIES_FILE=/etc/jaeger/sampling_strategies.json - -COPY jaeger-v2-debug-linux-$TARGETARCH /go/bin/jaeger-v2-linux # COPY sampling_strategies.json /etc/jaeger/ +COPY jaeger-debug-linux-$TARGETARCH /go/bin/jaeger-linux + VOLUME ["/tmp"] -ENTRYPOINT ["/go/bin/dlv", "exec", "/go/bin/jaeger-v2-linux", "--headless", "--listen=:12345", "--api-version=2", "--accept-multiclient", "--log", "--"] +ENTRYPOINT ["/go/bin/dlv", "exec", "/go/bin/jaeger-linux", "--headless", "--listen=:12345", "--api-version=2", "--accept-multiclient", "--log", "--"] USER ${USER_UID} diff --git a/cmd/jaeger/README.md b/cmd/jaeger/README.md new file mode 100644 index 00000000000..e09ae8f537e --- /dev/null +++ b/cmd/jaeger/README.md @@ -0,0 +1,4 @@ +# jaeger + +This is experimental Jaeger V2 based on OpenTelemetry collector. +See https://github.com/jaegertracing/jaeger/issues/4843. diff --git a/cmd/jaeger-v2/config-ui.json b/cmd/jaeger/config-ui.json similarity index 100% rename from cmd/jaeger-v2/config-ui.json rename to cmd/jaeger/config-ui.json diff --git a/cmd/jaeger-v2/config.yaml b/cmd/jaeger/config.yaml similarity index 94% rename from cmd/jaeger-v2/config.yaml rename to cmd/jaeger/config.yaml index a5239ec2428..0a517e68822 100644 --- a/cmd/jaeger-v2/config.yaml +++ b/cmd/jaeger/config.yaml @@ -16,7 +16,7 @@ extensions: jaeger_query: trace_storage: memstore trace_storage_archive: memstore_archive - ui_config: ./cmd/jaeger-v2/config-ui.json + ui_config: ./cmd/jaeger/config-ui.json jaeger_storage: memory: diff --git a/cmd/jaeger-v2/internal/.nocover b/cmd/jaeger/internal/.nocover similarity index 100% rename from cmd/jaeger-v2/internal/.nocover rename to cmd/jaeger/internal/.nocover diff --git a/cmd/jaeger-v2/internal/all-in-one.yaml b/cmd/jaeger/internal/all-in-one.yaml similarity index 100% rename from cmd/jaeger-v2/internal/all-in-one.yaml rename to cmd/jaeger/internal/all-in-one.yaml diff --git a/cmd/jaeger-v2/internal/all-in-one/.nocover b/cmd/jaeger/internal/all-in-one/.nocover similarity index 100% rename from cmd/jaeger-v2/internal/all-in-one/.nocover rename to cmd/jaeger/internal/all-in-one/.nocover diff --git a/cmd/jaeger-v2/internal/all-in-one/config.go b/cmd/jaeger/internal/all-in-one/config.go similarity index 94% rename from cmd/jaeger-v2/internal/all-in-one/config.go rename to cmd/jaeger/internal/all-in-one/config.go index 8b001048f6b..d97aa729372 100644 --- a/cmd/jaeger-v2/internal/all-in-one/config.go +++ b/cmd/jaeger/internal/all-in-one/config.go @@ -17,9 +17,9 @@ import ( "go.opentelemetry.io/collector/service/telemetry" "go.uber.org/zap/zapcore" - "github.com/jaegertracing/jaeger/cmd/jaeger-v2/internal/exporters/storageexporter" - "github.com/jaegertracing/jaeger/cmd/jaeger-v2/internal/extension/jaegerquery" - "github.com/jaegertracing/jaeger/cmd/jaeger-v2/internal/extension/jaegerstorage" + "github.com/jaegertracing/jaeger/cmd/jaeger/internal/exporters/storageexporter" + "github.com/jaegertracing/jaeger/cmd/jaeger/internal/extension/jaegerquery" + "github.com/jaegertracing/jaeger/cmd/jaeger/internal/extension/jaegerstorage" ) type configProvider struct { diff --git a/cmd/jaeger-v2/internal/command.go b/cmd/jaeger/internal/command.go similarity index 98% rename from cmd/jaeger-v2/internal/command.go rename to cmd/jaeger/internal/command.go index 9cea221bcc8..24ace78154d 100644 --- a/cmd/jaeger-v2/internal/command.go +++ b/cmd/jaeger/internal/command.go @@ -27,7 +27,7 @@ func Command() *cobra.Command { } info := component.BuildInfo{ - Command: "jaeger-v2", + Command: "jaeger", Description: description, Version: version.Get().String(), } diff --git a/cmd/jaeger-v2/internal/components.go b/cmd/jaeger/internal/components.go similarity index 92% rename from cmd/jaeger-v2/internal/components.go rename to cmd/jaeger/internal/components.go index 6103c0808ad..a93cc19f9b6 100644 --- a/cmd/jaeger-v2/internal/components.go +++ b/cmd/jaeger/internal/components.go @@ -25,9 +25,9 @@ import ( "go.opentelemetry.io/collector/receiver" "go.opentelemetry.io/collector/receiver/otlpreceiver" - "github.com/jaegertracing/jaeger/cmd/jaeger-v2/internal/exporters/storageexporter" - "github.com/jaegertracing/jaeger/cmd/jaeger-v2/internal/extension/jaegerquery" - "github.com/jaegertracing/jaeger/cmd/jaeger-v2/internal/extension/jaegerstorage" + "github.com/jaegertracing/jaeger/cmd/jaeger/internal/exporters/storageexporter" + "github.com/jaegertracing/jaeger/cmd/jaeger/internal/extension/jaegerquery" + "github.com/jaegertracing/jaeger/cmd/jaeger/internal/extension/jaegerstorage" ) func components() (otelcol.Factories, error) { diff --git a/cmd/jaeger-v2/internal/exporters/storageexporter/.nocover b/cmd/jaeger/internal/exporters/storageexporter/.nocover similarity index 100% rename from cmd/jaeger-v2/internal/exporters/storageexporter/.nocover rename to cmd/jaeger/internal/exporters/storageexporter/.nocover diff --git a/cmd/jaeger-v2/internal/exporters/storageexporter/README.md b/cmd/jaeger/internal/exporters/storageexporter/README.md similarity index 100% rename from cmd/jaeger-v2/internal/exporters/storageexporter/README.md rename to cmd/jaeger/internal/exporters/storageexporter/README.md diff --git a/cmd/jaeger-v2/internal/exporters/storageexporter/config.go b/cmd/jaeger/internal/exporters/storageexporter/config.go similarity index 100% rename from cmd/jaeger-v2/internal/exporters/storageexporter/config.go rename to cmd/jaeger/internal/exporters/storageexporter/config.go diff --git a/cmd/jaeger-v2/internal/exporters/storageexporter/exporter.go b/cmd/jaeger/internal/exporters/storageexporter/exporter.go similarity index 95% rename from cmd/jaeger-v2/internal/exporters/storageexporter/exporter.go rename to cmd/jaeger/internal/exporters/storageexporter/exporter.go index 428c33e59a3..68aa330a8f4 100644 --- a/cmd/jaeger-v2/internal/exporters/storageexporter/exporter.go +++ b/cmd/jaeger/internal/exporters/storageexporter/exporter.go @@ -13,7 +13,7 @@ import ( "go.opentelemetry.io/collector/pdata/ptrace" "go.uber.org/zap" - "github.com/jaegertracing/jaeger/cmd/jaeger-v2/internal/extension/jaegerstorage" + "github.com/jaegertracing/jaeger/cmd/jaeger/internal/extension/jaegerstorage" "github.com/jaegertracing/jaeger/storage/spanstore" ) diff --git a/cmd/jaeger-v2/internal/exporters/storageexporter/factory.go b/cmd/jaeger/internal/exporters/storageexporter/factory.go similarity index 100% rename from cmd/jaeger-v2/internal/exporters/storageexporter/factory.go rename to cmd/jaeger/internal/exporters/storageexporter/factory.go diff --git a/cmd/jaeger-v2/internal/extension/jaegerquery/.nocover b/cmd/jaeger/internal/extension/jaegerquery/.nocover similarity index 100% rename from cmd/jaeger-v2/internal/extension/jaegerquery/.nocover rename to cmd/jaeger/internal/extension/jaegerquery/.nocover diff --git a/cmd/jaeger-v2/internal/extension/jaegerquery/README.md b/cmd/jaeger/internal/extension/jaegerquery/README.md similarity index 100% rename from cmd/jaeger-v2/internal/extension/jaegerquery/README.md rename to cmd/jaeger/internal/extension/jaegerquery/README.md diff --git a/cmd/jaeger-v2/internal/extension/jaegerquery/config.go b/cmd/jaeger/internal/extension/jaegerquery/config.go similarity index 100% rename from cmd/jaeger-v2/internal/extension/jaegerquery/config.go rename to cmd/jaeger/internal/extension/jaegerquery/config.go diff --git a/cmd/jaeger-v2/internal/extension/jaegerquery/factory.go b/cmd/jaeger/internal/extension/jaegerquery/factory.go similarity index 100% rename from cmd/jaeger-v2/internal/extension/jaegerquery/factory.go rename to cmd/jaeger/internal/extension/jaegerquery/factory.go diff --git a/cmd/jaeger-v2/internal/extension/jaegerquery/server.go b/cmd/jaeger/internal/extension/jaegerquery/server.go similarity index 97% rename from cmd/jaeger-v2/internal/extension/jaegerquery/server.go rename to cmd/jaeger/internal/extension/jaegerquery/server.go index 05840a043cd..470a02ea868 100644 --- a/cmd/jaeger-v2/internal/extension/jaegerquery/server.go +++ b/cmd/jaeger/internal/extension/jaegerquery/server.go @@ -11,7 +11,7 @@ import ( "go.opentelemetry.io/collector/extension" "go.uber.org/zap" - "github.com/jaegertracing/jaeger/cmd/jaeger-v2/internal/extension/jaegerstorage" + "github.com/jaegertracing/jaeger/cmd/jaeger/internal/extension/jaegerstorage" queryApp "github.com/jaegertracing/jaeger/cmd/query/app" "github.com/jaegertracing/jaeger/cmd/query/app/querysvc" "github.com/jaegertracing/jaeger/pkg/jtracer" diff --git a/cmd/jaeger-v2/internal/extension/jaegerstorage/.nocover b/cmd/jaeger/internal/extension/jaegerstorage/.nocover similarity index 100% rename from cmd/jaeger-v2/internal/extension/jaegerstorage/.nocover rename to cmd/jaeger/internal/extension/jaegerstorage/.nocover diff --git a/cmd/jaeger-v2/internal/extension/jaegerstorage/README.md b/cmd/jaeger/internal/extension/jaegerstorage/README.md similarity index 100% rename from cmd/jaeger-v2/internal/extension/jaegerstorage/README.md rename to cmd/jaeger/internal/extension/jaegerstorage/README.md diff --git a/cmd/jaeger-v2/internal/extension/jaegerstorage/config.go b/cmd/jaeger/internal/extension/jaegerstorage/config.go similarity index 100% rename from cmd/jaeger-v2/internal/extension/jaegerstorage/config.go rename to cmd/jaeger/internal/extension/jaegerstorage/config.go diff --git a/cmd/jaeger-v2/internal/extension/jaegerstorage/extension.go b/cmd/jaeger/internal/extension/jaegerstorage/extension.go similarity index 100% rename from cmd/jaeger-v2/internal/extension/jaegerstorage/extension.go rename to cmd/jaeger/internal/extension/jaegerstorage/extension.go diff --git a/cmd/jaeger-v2/internal/extension/jaegerstorage/factory.go b/cmd/jaeger/internal/extension/jaegerstorage/factory.go similarity index 100% rename from cmd/jaeger-v2/internal/extension/jaegerstorage/factory.go rename to cmd/jaeger/internal/extension/jaegerstorage/factory.go diff --git a/cmd/jaeger-v2/main.go b/cmd/jaeger/main.go similarity index 90% rename from cmd/jaeger-v2/main.go rename to cmd/jaeger/main.go index 448cc28130a..04f01d79439 100644 --- a/cmd/jaeger-v2/main.go +++ b/cmd/jaeger/main.go @@ -9,7 +9,7 @@ import ( "github.com/spf13/viper" "github.com/jaegertracing/jaeger/cmd/internal/docs" - "github.com/jaegertracing/jaeger/cmd/jaeger-v2/internal" + "github.com/jaegertracing/jaeger/cmd/jaeger/internal" "github.com/jaegertracing/jaeger/pkg/config" "github.com/jaegertracing/jaeger/pkg/version" ) diff --git a/cmd/query/app/flags.go b/cmd/query/app/flags.go index f4511784625..cb23f5a4395 100644 --- a/cmd/query/app/flags.go +++ b/cmd/query/app/flags.go @@ -66,7 +66,7 @@ type QueryOptionsStaticAssets struct { LogAccess bool `valid:"optional" mapstructure:"log_access"` } -// QueryOptionsBase holds configuration for query service shared with jaeger-v2 +// QueryOptionsBase holds configuration for query service shared with jaeger(v2) type QueryOptionsBase struct { // BasePath is the base path for all HTTP routes BasePath string diff --git a/plugin/storage/memory/factory.go b/plugin/storage/memory/factory.go index b6c71cbfe16..70bf4299afe 100644 --- a/plugin/storage/memory/factory.go +++ b/plugin/storage/memory/factory.go @@ -45,7 +45,7 @@ func NewFactory() *Factory { return &Factory{} } -// NewFactoryWithConfig is used from jaeger-v2. +// NewFactoryWithConfig is used from jaeger(v2). func NewFactoryWithConfig( cfg config.Configuration, metricsFactory metrics.Factory, diff --git a/scripts/build-all-in-one-image.sh b/scripts/build-all-in-one-image.sh index 6ed9a5130f4..6e8e842ef7e 100755 --- a/scripts/build-all-in-one-image.sh +++ b/scripts/build-all-in-one-image.sh @@ -9,7 +9,7 @@ else is_pull_request=false fi -# alternative can be jaeger-v2 +# alternative can be jaeger (the v2 binary) BINARY=${BINARY:-'all-in-one'} # Set default GOARCH variable to the host GOARCH, the target architecture can From 9ecc84f5266fe5c0d312531e7f728abe34df9cbe Mon Sep 17 00:00:00 2001 From: Yuri Shkuro Date: Fri, 3 Nov 2023 13:52:36 -0400 Subject: [PATCH 6/9] exp: Publish jaeger v2 image (#4919) ## Which problem is this PR solving? - Part of #4843 ## Description of the changes - Remove early exit and allow `jaeger` binary to be published to Docker Hub / quay.io - The repositories in the respective hubs were created manually ## How was this change tested? - Publishing only works on the main branch, will see how it goes once erged Signed-off-by: Yuri Shkuro --- scripts/build-all-in-one-image.sh | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/scripts/build-all-in-one-image.sh b/scripts/build-all-in-one-image.sh index 6e8e842ef7e..8578b7f7d1f 100755 --- a/scripts/build-all-in-one-image.sh +++ b/scripts/build-all-in-one-image.sh @@ -58,27 +58,22 @@ else make "build-${BINARY}" GOOS=linux GOARCH=arm64 fi -# build all-in-one image locally for integration test +# build all-in-one image locally for integration test (the -l switch) bash scripts/build-upload-a-docker-image.sh -l -b -c "${BINARY}" -d "cmd/${BINARY}" -p "${platforms}" -t release run_integration_test "localhost:5000/$repo" -# skip building and uploading real Docker images if it's not all-in-one -if [[ "${BINARY}" != "all-in-one" ]]; then - exit -fi - # build all-in-one image and upload to dockerhub/quay.io -bash scripts/build-upload-a-docker-image.sh -b -c all-in-one -d cmd/all-in-one -p "${platforms}" -t release +bash scripts/build-upload-a-docker-image.sh -b -c "${BINARY}" -d "cmd/${BINARY}" -p "${platforms}" -t release # build debug image if not on a pull request if [[ "${is_pull_request}" == "false" ]]; then - make build-all-in-one GOOS=linux GOARCH="$GOARCH" DEBUG_BINARY=1 + make "build-${BINARY}" GOOS=linux GOARCH="$GOARCH" DEBUG_BINARY=1 repo="${repo}-debug" - # build all-in-one DEBUG image locally for integration test - bash scripts/build-upload-a-docker-image.sh -l -b -c all-in-one-debug -d cmd/all-in-one -t debug + # build all-in-one DEBUG image locally for integration test (the -l switch) + bash scripts/build-upload-a-docker-image.sh -l -b -c "${BINARY}-debug" -d "cmd/${BINARY}" -t debug run_integration_test "localhost:5000/$repo" # build all-in-one-debug image and upload to dockerhub/quay.io - bash scripts/build-upload-a-docker-image.sh -b -c all-in-one-debug -d cmd/all-in-one -t debug + bash scripts/build-upload-a-docker-image.sh -b -c "${BINARY}-debug" -d "cmd/${BINARY}" -t debug fi From ba5cef5228745c92e556fd6abca8b033f8e9ead2 Mon Sep 17 00:00:00 2001 From: Yuri Shkuro Date: Fri, 3 Nov 2023 16:56:14 -0400 Subject: [PATCH 7/9] ci: Build jaeger v2 image on main branch runs (#4920) Do over for #4919 Signed-off-by: Yuri Shkuro --- .github/workflows/ci-all-in-one-build.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/ci-all-in-one-build.yml b/.github/workflows/ci-all-in-one-build.yml index 900515119e4..9d81a8540f0 100644 --- a/.github/workflows/ci-all-in-one-build.yml +++ b/.github/workflows/ci-all-in-one-build.yml @@ -61,3 +61,10 @@ jobs: env: DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} QUAY_TOKEN: ${{ secrets.QUAY_TOKEN }} + + - name: Build, test, and publish jaeger (v2) image + if: github.ref_name == 'main' + run: BINARY=jaeger bash scripts/build-all-in-one-image.sh + env: + DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + QUAY_TOKEN: ${{ secrets.QUAY_TOKEN }} From b3cb6c72d16154a96a17efb5e72facb1b6a5b634 Mon Sep 17 00:00:00 2001 From: Jonah Kowall Date: Sat, 4 Nov 2023 00:53:45 +0200 Subject: [PATCH 8/9] Update self-assesment, security-insights, and security.md file for passing CLOMonitor checks ## Description of the changes Updating security files with more details to enable passing CLOMonitor checks. ## How was this change tested? Testing not needed, text only ## Checklist - [X] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [X] I have signed all commits - [Not Needed] I have added unit tests for the new functionality - [Not Needed] I have run lint and test steps successfully --------- Signed-off-by: Jonah Kowall Co-authored-by: Yuri Shkuro Co-authored-by: Matthieu MOREL --- SECURITY-INSIGHTS.yml | 2 ++ SECURITY.md | 2 +- SELF-ASSESMENT.md | 38 ++++++++++++++++++++++++++++++++------ 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/SECURITY-INSIGHTS.yml b/SECURITY-INSIGHTS.yml index 0630b6b0b2d..c0289d5b452 100644 --- a/SECURITY-INSIGHTS.yml +++ b/SECURITY-INSIGHTS.yml @@ -62,3 +62,5 @@ dependencies: sbom-url: https://github.com/anchore/sbom-action dependencies-lifecycle: policy-url: https://github.com/jaegertracing/jaeger/blob/main/SECURITY.md#security-patch-policy + env-dependencies-policy: + policy-url: https://github.com/jaegertracing/jaeger/blob/main/SECURITY.md#dependency-policy \ No newline at end of file diff --git a/SECURITY.md b/SECURITY.md index 8a08214a235..6e19a5fa1ca 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -10,7 +10,7 @@ Security fixes are given priority and might be enough to cause a new version to CVEs in Jaeger code will be patched in the newest Jaeger releases. -### Dependencies Lifecycle Policy +### Dependency Policy Dependencies are evaluated before being introduced to ensure they: diff --git a/SELF-ASSESMENT.md b/SELF-ASSESMENT.md index 805c9855e41..7a786b6009b 100644 --- a/SELF-ASSESMENT.md +++ b/SELF-ASSESMENT.md @@ -1,9 +1,9 @@ -# Jaeger Self-Assessment -​ -This is a placeholder document for the Jaeger project self-assessment. More details of what this will turn into can be found in the [TAG-Security documented standards.](https://github.com/cncf/tag-security/blob/main/assessments/guide/self-assessment.md) ​ +# Self-assessment + +# Self-assessment outline + +## Table of contents -## Table of Contents -​ * [Metadata](#metadata) * [Security links](#security-links) * [Overview](#overview) @@ -17,4 +17,30 @@ This is a placeholder document for the Jaeger project self-assessment. More deta * [Project compliance](#project-compliance) * [Secure development practices](#secure-development-practices) * [Security issue resolution](#security-issue-resolution) -* [Appendix](#appendix)## Table of Contents \ No newline at end of file +* [Appendix](#appendix) + +## Metadata + +| | | +| -- | -- | +| Software | https://github.com/jaegertracing/jaeger/ | +| Security Provider | No | +| Languages | Go | +| SBOM | [Software bill of materials](https://github.com/jaegertracing/jaeger/releases/latest/download/jaeger-SBOM.spdx.json) | +| | | + +### Security links + +Provide the list of links to existing security documentation for the project. You may +use the table below as an example: +| Doc | url | +| -- | -- | +| Security file | https://github.com/jaegertracing/jaeger/blob/main/SECURITY.md | + +## Overview + +See [README](https://github.com/jaegertracing/jaeger/#jaeger---a-distributed-tracing-system) + +### Background + +See [README](https://github.com/jaegertracing/jaeger/#jaeger---a-distributed-tracing-system) From 8ef0b6dcb232f6c943e7f2c7f962e60638d09506 Mon Sep 17 00:00:00 2001 From: Jonah Kowall Date: Sat, 4 Nov 2023 19:04:51 +0200 Subject: [PATCH 9/9] Fix typo in SECURITY-INSIGHTS.yml (#4922) ## Which problem is this PR solving? Fixing a typo in the yaml ## Description of the changes Added a tab ## How was this change tested? Not needed ## Checklist - [X] I have read https://github.com/jaegertracing/jaeger/blob/master/CONTRIBUTING_GUIDELINES.md - [X] I have signed all commits - [Not needed] I have added unit tests for the new functionality - [Not needed] I have run lint and test steps successfully Signed-off-by: Jonah Kowall --- SECURITY-INSIGHTS.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SECURITY-INSIGHTS.yml b/SECURITY-INSIGHTS.yml index c0289d5b452..76623df85e8 100644 --- a/SECURITY-INSIGHTS.yml +++ b/SECURITY-INSIGHTS.yml @@ -29,7 +29,7 @@ security-artifacts: threat-model-created: true evidence-url: - https://github.com/jaegertracing/jaeger/blob/main/THREAT-MODEL.md -self-assessment: + self-assessment: self-assessment-created: true evidence-url: - https://github.com/jaegertracing/jaeger/blob/main/SELF-ASSESMENT.md