diff --git a/.github/workflows/create_release.yml b/.github/workflows/create_release.yml index bd98f762108..f5128f217eb 100644 --- a/.github/workflows/create_release.yml +++ b/.github/workflows/create_release.yml @@ -25,7 +25,7 @@ jobs: distribution: 'zulu' # zulu as it supports a wide version range java-version: '17' # earliest LTS supported by Spring Boot 3 - name: Cache local Maven repository - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.m2/repository key: ${{ runner.os }}-jdk-17-maven-${{ hashFiles('**/pom.xml') }} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index d91daae3c37..a3e9959d920 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -31,13 +31,13 @@ jobs: distribution: 'zulu' # zulu as it supports a wide version range java-version: '17' # earliest LTS supported by Spring Boot 3 - name: Cache local Maven repository - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.m2/repository key: ${{ runner.os }}-jdk-17-maven-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-jdk-17-maven- - name: Cache NPM Packages - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.npm # yamllint disable-line rule:line-length diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7b488a3a242..f48d5cbfe59 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -44,14 +44,14 @@ jobs: distribution: 'zulu' # zulu as it supports a wide version range java-version: ${{ matrix.java_version }} - name: Cache local Maven repository - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.m2/repository # yamllint disable-line rule:line-length key: ${{ runner.os }}-jdk-${{ matrix.java_version }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-jdk-${{ matrix.java_version }}-maven- - name: Cache NPM Packages - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.npm # yamllint disable-line rule:line-length @@ -86,7 +86,7 @@ jobs: distribution: 'zulu' # zulu as it supports a wide version range java-version: '21' # Most recent LTS - name: Cache local Maven repository - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.m2/repository # yamllint disable-line rule:line-length diff --git a/.github/workflows/test_readme.yml b/.github/workflows/test_readme.yml index a0e0f340858..a657fd7223f 100644 --- a/.github/workflows/test_readme.yml +++ b/.github/workflows/test_readme.yml @@ -32,7 +32,7 @@ jobs: matrix: include: # Not ubuntu as already tested as a part of the docker job - name: macos - os: macos-12 + os: macos-13 - name: windows os: windows-2022 steps: @@ -46,13 +46,13 @@ jobs: distribution: 'zulu' # zulu as it supports a wide version range java-version: '21' # Most recent LTS - name: Cache NPM Packages - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.npm # yamllint disable-line rule:line-length key: ${{ runner.os }}-npm-packages-${{ hashFiles('zipkin-lens/package-lock.json') }} - name: Cache local Maven repository - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.m2/repository key: ${{ runner.os }}-jdk-21-maven-${{ hashFiles('**/pom.xml') }} @@ -87,13 +87,13 @@ jobs: # via forks, and login session ends up in ~/.docker. This is ok because # we publish DOCKER_PARENT_IMAGE to ghcr.io, hence local to the runner. - name: Cache NPM Packages - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.npm # yamllint disable-line rule:line-length key: ${{ runner.os }}-npm-packages-${{ hashFiles('zipkin-lens/package-lock.json') }} - name: Cache local Maven repository - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ~/.m2/repository key: ${{ runner.os }}-jdk-21-maven-${{ hashFiles('**/pom.xml') }} diff --git a/docker/test-images/zipkin-cassandra/Dockerfile b/docker/test-images/zipkin-cassandra/Dockerfile index 277714cd599..8f03dd13d78 100644 --- a/docker/test-images/zipkin-cassandra/Dockerfile +++ b/docker/test-images/zipkin-cassandra/Dockerfile @@ -34,7 +34,7 @@ FROM ghcr.io/openzipkin/java:${java_version} as install # Use latest stable version: https://cassandra.apache.org/download/ # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG cassandra_version=4.1.3 +ARG cassandra_version=4.1.4 ENV CASSANDRA_VERSION=$cassandra_version WORKDIR /install @@ -44,7 +44,7 @@ RUN /tmp/install.sh && rm /tmp/install.sh FROM ghcr.io/openzipkin/java:${java_version}-jre as zipkin-cassandra LABEL org.opencontainers.image.description="Cassandra on OpenJDK and Alpine Linux with Zipkin keyspaces pre-installed" -ARG cassandra_version=4.1.3 +ARG cassandra_version=4.1.4 LABEL cassandra-version=$cassandra_version ENV CASSANDRA_VERSION=$cassandra_version diff --git a/docker/test-images/zipkin-elasticsearch7/Dockerfile b/docker/test-images/zipkin-elasticsearch7/Dockerfile index b2ef2e23a97..9f9c89229eb 100644 --- a/docker/test-images/zipkin-elasticsearch7/Dockerfile +++ b/docker/test-images/zipkin-elasticsearch7/Dockerfile @@ -35,7 +35,7 @@ WORKDIR /install # Use latest 7.x version from https://www.elastic.co/downloads/past-releases#elasticsearch-no-jdk # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG elasticsearch7_version=7.17.17 +ARG elasticsearch7_version=7.17.18 # Download only the OSS distribution (lacks X-Pack) RUN \ @@ -50,7 +50,7 @@ COPY --from=scratch /config/ ./config/ # production -jre base layer used by zipkin and zipkin-slim. FROM ghcr.io/openzipkin/java:${java_version} as zipkin-elasticsearch7 LABEL org.opencontainers.image.description="Elasticsearch distribution on OpenJDK and Alpine Linux" -ARG elasticsearch7_version=7.17.16 +ARG elasticsearch7_version=7.17.18 LABEL elasticsearch-version=$elasticsearch7_version # The full license is also included in the image at /elasticsearch/LICENSE.txt. diff --git a/docker/test-images/zipkin-elasticsearch8/Dockerfile b/docker/test-images/zipkin-elasticsearch8/Dockerfile index 8c6a219993d..5ea386b031e 100644 --- a/docker/test-images/zipkin-elasticsearch8/Dockerfile +++ b/docker/test-images/zipkin-elasticsearch8/Dockerfile @@ -35,7 +35,7 @@ WORKDIR /install # Use latest 8.x version from https://www.elastic.co/downloads/past-releases#elasticsearch # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG elasticsearch8_version=8.12.1 +ARG elasticsearch8_version=8.12.2 # Download only the OSS distribution (lacks X-Pack) RUN \ @@ -50,7 +50,7 @@ COPY --from=scratch /config/ ./config/ # production -jre base layer used by zipkin and zipkin-slim. FROM ghcr.io/openzipkin/java:${java_version} as zipkin-elasticsearch8 LABEL org.opencontainers.image.description="Elasticsearch distribution on OpenJDK and Alpine Linux" -ARG elasticsearch8_version=8.12.1 +ARG elasticsearch8_version=8.12.2 LABEL elasticsearch-version=$elasticsearch8_version # The full license is also included in the image at /elasticsearch/LICENSE.txt. diff --git a/docker/test-images/zipkin-eureka/pom.xml b/docker/test-images/zipkin-eureka/pom.xml index 488ad731513..20ec3efac05 100644 --- a/docker/test-images/zipkin-eureka/pom.xml +++ b/docker/test-images/zipkin-eureka/pom.xml @@ -38,7 +38,7 @@ org.springframework.boot spring-boot-dependencies - 3.2.2 + 3.2.3 pom import diff --git a/docker/test-images/zipkin-rabbitmq/Dockerfile b/docker/test-images/zipkin-rabbitmq/Dockerfile index 3fcb506c8c7..d5201082e6c 100644 --- a/docker/test-images/zipkin-rabbitmq/Dockerfile +++ b/docker/test-images/zipkin-rabbitmq/Dockerfile @@ -13,7 +13,7 @@ # # Use latest from https://hub.docker.com/_/rabbitmq/tags?page=1&name=alpine -ARG rabbitmq_version=3.12.12 +ARG rabbitmq_version=3.13.0 # We copy files from the context into a scratch container first to avoid a problem where docker and # docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. diff --git a/pom.xml b/pom.xml index aed30644b42..6209bf2d20c 100755 --- a/pom.xml +++ b/pom.xml @@ -51,13 +51,12 @@ - 2.24.1 + 2.25.0 1.0.0 - com.linecorp.armeria - 1.27.1 + 1.27.2 4.1.106.Final @@ -65,7 +64,7 @@ 2.16.1 4.18.0 - 1.12.2 + 1.12.3 1.3.1 @@ -79,7 +78,7 @@ MariaDB has a friendlier license, LGPL, which is less scary in audits. --> - 3.3.2 + 3.3.3 5.1.0 2.0.12 1.10.4 @@ -90,11 +89,11 @@ 5.10.0 3.25.3 4.2.0 - 1.19.4 + 1.19.6 4.12.0 5.6.0 - 4.9.6 + 4.9.7 2.10.1 ${project.build.directory}/test/proto @@ -115,7 +114,7 @@ 3.6.3 3.3.0 3.0.1 - 3.5.1 + 3.5.2 3.3.0 3.2.5 1.6.13 diff --git a/zipkin-collector/scribe/pom.xml b/zipkin-collector/scribe/pom.xml index d52ecd6e473..32f64502988 100644 --- a/zipkin-collector/scribe/pom.xml +++ b/zipkin-collector/scribe/pom.xml @@ -41,7 +41,7 @@ - ${armeria.groupId} + com.linecorp.armeria armeria-thrift0.18 ${armeria.version} @@ -55,7 +55,7 @@ - ${armeria.groupId} + com.linecorp.armeria armeria-junit5 ${armeria.version} test diff --git a/zipkin-lens/pom.xml b/zipkin-lens/pom.xml index 612cf07ccbc..70f3b38b53f 100644 --- a/zipkin-lens/pom.xml +++ b/zipkin-lens/pom.xml @@ -34,8 +34,8 @@ - 20.11.0 - 3.1.1 + 20.11.1 + 3.2.0 1.15.0 3.3.2 3.3.1 diff --git a/zipkin-server/README.md b/zipkin-server/README.md index dec0a93225c..8b280863370 100644 --- a/zipkin-server/README.md +++ b/zipkin-server/README.md @@ -523,7 +523,7 @@ a valid v2 endpoint of the [Eureka REST API](https://github.com/Netflix/eureka/w | `DISCOVERY_EUREKA_ENABLED` | N/A | `false` disables Eureka registration. Defaults to `true`. | | `EUREKA_SERVICE_URL` | N/A | v2 endpoint of Eureka, e.g. `https://eureka-prod/eureka/v2`. No default | | `EUREKA_APP_NAME` | .app | The application this instance registers to. Defaults to `zipkin` | -| `EUREKA_HOSTNAME` | .hostName | The instance `hostName` and `vipAddress`. Defaults to detect. | +| `EUREKA_HOSTNAME` | .hostName | The instance `hostName`. Defaults to detect. | | `EUREKA_INSTANCE_ID` | .instanceId | Defaults to `${EUREKA_HOSTNAME}:${EUREKA_APP_NAME}:${QUERY_PORT}`. | Example usage: diff --git a/zipkin-server/pom.xml b/zipkin-server/pom.xml index 8bab3add986..8cd15377231 100644 --- a/zipkin-server/pom.xml +++ b/zipkin-server/pom.xml @@ -36,8 +36,8 @@ 6.0.0 - 3.2.1 - 2.21.1 + 3.3.0 + 2.23.0 ${project.build.directory}/generated-test-sources/wire @@ -133,12 +133,12 @@ - ${armeria.groupId} + com.linecorp.armeria armeria-spring-boot3-autoconfigure ${armeria.version} - ${armeria.groupId} + com.linecorp.armeria armeria-logback @@ -153,12 +153,12 @@ - ${armeria.groupId} + com.linecorp.armeria armeria-brave6 ${armeria.version} - ${armeria.groupId} + com.linecorp.armeria armeria-grpc-protocol ${armeria.version} @@ -202,7 +202,7 @@ - ${armeria.groupId} + com.linecorp.armeria armeria-eureka ${armeria.version} @@ -216,7 +216,7 @@ com.netflix.concurrency-limits concurrency-limits-core - 0.4.0 + 0.4.1 io.micrometer @@ -398,7 +398,7 @@ - ${armeria.groupId} + com.linecorp.armeria armeria-junit5 ${armeria.version} test @@ -490,7 +490,7 @@ - ${armeria.groupId} + com.linecorp.armeria armeria-spring-boot3-actuator-autoconfigure ${armeria.version} true @@ -631,7 +631,7 @@ - ${armeria.groupId} + com.linecorp.armeria armeria-spring-boot3-actuator-autoconfigure @@ -716,7 +716,7 @@ zipkin-collector-scribe - ${armeria.groupId} + com.linecorp.armeria armeria-thrift0.18 diff --git a/zipkin-server/src/main/java/zipkin2/server/internal/eureka/ZipkinEurekaDiscoveryProperties.java b/zipkin-server/src/main/java/zipkin2/server/internal/eureka/ZipkinEurekaDiscoveryProperties.java index b783dfbe514..0ef0cbd92bf 100644 --- a/zipkin-server/src/main/java/zipkin2/server/internal/eureka/ZipkinEurekaDiscoveryProperties.java +++ b/zipkin-server/src/main/java/zipkin2/server/internal/eureka/ZipkinEurekaDiscoveryProperties.java @@ -106,16 +106,13 @@ public void setHostname(String hostname) { EurekaUpdatingListenerBuilder toBuilder() { EurekaUpdatingListenerBuilder result = EurekaUpdatingListener.builder(serviceUrl) - .healthCheckUrlPath("/health"); + .homePageUrlPath("/zipkin") + .healthCheckUrlPath("/health") + .statusPageUrlPath("/info"); if (auth != null) result.auth(auth); if (appName != null) result.appName(appName); if (instanceId != null) result.instanceId(instanceId); - if (hostname != null) { - result.hostname(hostname); - // Armeria defaults the vipAddress incorrectly to include the port. This is redundant with - // the server port, so override it until we have a PR to fix that. - result.vipAddress(hostname); - } + if (hostname != null) result.hostname(hostname); return result; } diff --git a/zipkin-server/src/test/java/zipkin2/server/internal/eureka/BaseITZipkinEureka.java b/zipkin-server/src/test/java/zipkin2/server/internal/eureka/BaseITZipkinEureka.java index 7d0f00cfa6f..a238de5079c 100644 --- a/zipkin-server/src/test/java/zipkin2/server/internal/eureka/BaseITZipkinEureka.java +++ b/zipkin-server/src/test/java/zipkin2/server/internal/eureka/BaseITZipkinEureka.java @@ -105,6 +105,15 @@ abstract class BaseITZipkinEureka { // Make sure the vip address does not include the port! assertThat(readString(json, "$.application.instance[0].vipAddress")) .isEqualTo("localhost"); + + // Make sure URLs are fully resolved. Notably, the status page URL defaults to the /info + // endpoint, as that's the one chosen in spring-cloud-netflix. + assertThat(readString(json, "$.application.instance[0].homePageUrl")) + .isEqualTo("http://localhost:" + zipkinPort + "/zipkin"); + assertThat(readString(json, "$.application.instance[0].statusPageUrl")) + .isEqualTo("http://localhost:" + zipkinPort + "/info"); + assertThat(readString(json, "$.application.instance[0].healthCheckUrl")) + .isEqualTo("http://localhost:" + zipkinPort + "/health"); } @Test @Order(2) void deregistersOnClose() { diff --git a/zipkin-storage/cassandra/pom.xml b/zipkin-storage/cassandra/pom.xml index afd9187a7b6..83313f099a3 100644 --- a/zipkin-storage/cassandra/pom.xml +++ b/zipkin-storage/cassandra/pom.xml @@ -106,7 +106,7 @@ com.github.jnr jnr-posix - 3.1.18 + 3.1.19 diff --git a/zipkin-storage/elasticsearch/pom.xml b/zipkin-storage/elasticsearch/pom.xml index f24470cb4de..30c2cc3d2d0 100644 --- a/zipkin-storage/elasticsearch/pom.xml +++ b/zipkin-storage/elasticsearch/pom.xml @@ -35,7 +35,7 @@ - ${armeria.groupId} + com.linecorp.armeria armeria ${armeria.version} @@ -60,7 +60,7 @@ - ${armeria.groupId} + com.linecorp.armeria armeria-junit5 ${armeria.version} test