Skip to content

Commit 85fbed1

Browse files
committed
Upgrade runtime dependencies and security baseline
1 parent f51a7c2 commit 85fbed1

113 files changed

Lines changed: 877 additions & 726 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.github/actions/get-supported-maintenance-versions/action.yml‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,11 @@ runs:
2020

2121
- shell: ${{ env.shell }}
2222
id: get-maintenance-versions-including-extended-support-plus
23+
env:
24+
MAINTENANCE_VERSIONS: ${{ steps.get-maintenance-versions.outputs.versions }}
25+
EXTENDED_SUPPORT_PLUS_VERSIONS: ${{ steps.get-extended-support-plus-versions.outputs.versions }}
2326
run: |
2427
echo "versions=$(jq --compact-output --null-input \
25-
--argjson maintenance '${{ steps.get-maintenance-versions.outputs.versions }}' \
26-
--argjson extended_support_plus '${{ steps.get-extended-support-plus-versions.outputs.versions }}' \
28+
--argjson maintenance "${MAINTENANCE_VERSIONS}" \
29+
--argjson extended_support_plus "${EXTENDED_SUPPORT_PLUS_VERSIONS}" \
2730
'$maintenance + $extended_support_plus | unique')" >> "${GITHUB_OUTPUT}"

‎.github/workflows/codeql-verification.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ jobs:
3030
- name: Install verified Temurin LTS JDK
3131
shell: bash
3232
env:
33-
JDK_URL: https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4%2B7/OpenJDK25U-jdk_x64_linux_hotspot_25.0.4_7.tar.gz
34-
JDK_SHA256: e58fcdcd637b25c03ca84cbbcefc70d11efb8f4b4cbd05decc9f661769d77f94
33+
JDK_URL: https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4.1%2B1/OpenJDK25U-jdk_x64_linux_hotspot_25.0.4.1_1.tar.gz
34+
JDK_SHA256: dbb698396d478e7fa2b1e50f4103324b2a99b90569ee27c33f2261f9215cf41e
3535
run: |
3636
set -euo pipefail
3737
archive="$RUNNER_TEMP/temurin-jdk.tar.gz"

‎.github/workflows/security-release-gate.yml‎

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ jobs:
3232
- name: Install verified Temurin LTS JDK
3333
shell: bash
3434
env:
35-
JDK_URL: https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4%2B7/OpenJDK25U-jdk_x64_linux_hotspot_25.0.4_7.tar.gz
36-
JDK_SHA256: e58fcdcd637b25c03ca84cbbcefc70d11efb8f4b4cbd05decc9f661769d77f94
35+
JDK_URL: https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.4.1%2B1/OpenJDK25U-jdk_x64_linux_hotspot_25.0.4.1_1.tar.gz
36+
JDK_SHA256: dbb698396d478e7fa2b1e50f4103324b2a99b90569ee27c33f2261f9215cf41e
3737
run: |
3838
set -euo pipefail
3939
archive="$RUNNER_TEMP/temurin-jdk.tar.gz"
@@ -188,10 +188,10 @@ jobs:
188188
run: |
189189
set -euo pipefail
190190
PASTURESTACK_OUTPUT_DIR=dist scripts/pasturestack-build-runtime
191-
test -s dist/hazelcast-5.7.3.jar
192-
sha256sum dist/hazelcast-5.7.3.jar | tee evidence/hazelcast-5.7.3.jar.sha256
193-
jar tf dist/hazelcast-5.7.3.jar | grep -Fxq META-INF/LICENSE
194-
jar tf dist/hazelcast-5.7.3.jar | grep -Fxq META-INF/NOTICE
191+
test -s dist/hazelcast-5.7.3-pasturestack.2.jar
192+
sha256sum dist/hazelcast-5.7.3-pasturestack.2.jar | tee evidence/hazelcast-5.7.3-pasturestack.2.jar.sha256
193+
jar tf dist/hazelcast-5.7.3-pasturestack.2.jar | grep -Fxq META-INF/LICENSE
194+
jar tf dist/hazelcast-5.7.3-pasturestack.2.jar | grep -Fxq META-INF/NOTICE
195195
native_resources=(
196196
hazelcast/src/main/resources/affinity_helper.c
197197
hazelcast/src/main/resources/affinity_helper.h
@@ -206,7 +206,7 @@ jobs:
206206
trap 'rm -rf "$extracted_native"' EXIT
207207
(
208208
cd "$extracted_native"
209-
jar xf "$GITHUB_WORKSPACE/dist/hazelcast-5.7.3.jar" \
209+
jar xf "$GITHUB_WORKSPACE/dist/hazelcast-5.7.3-pasturestack.2.jar" \
210210
lib/linux-x86/libicmp_helper.so \
211211
lib/linux-x86_64/libaffinity_helper.so \
212212
lib/linux-x86_64/libicmp_helper.so
@@ -217,7 +217,7 @@ jobs:
217217
"$extracted_native/lib/linux-x86_64/libaffinity_helper.so"
218218
cmp hazelcast-tpc-engine/src/main/resources/lib/linux-x86_64/libicmp_helper.so \
219219
"$extracted_native/lib/linux-x86_64/libicmp_helper.so"
220-
if jar tf dist/hazelcast-5.7.3.jar | grep -Eq '(^|/)(jet_to_python[^/]*|[^/]+\.py)$'; then
220+
if jar tf dist/hazelcast-5.7.3-pasturestack.2.jar | grep -Eq '(^|/)(jet_to_python[^/]*|[^/]+\.py)$'; then
221221
echo 'The core runtime artifact unexpectedly contains Python extension resources.' >&2
222222
exit 1
223223
fi
@@ -295,9 +295,9 @@ jobs:
295295
-Dfile=pom.xml -DpomFile=pom.xml
296296
./mvnw -B org.apache.maven.plugins:maven-install-plugin:3.1.4:install-file \
297297
-Dfile=hazelcast-parent/pom.xml -DpomFile=hazelcast-parent/pom.xml
298-
test -s hazelcast-tpc-engine/target/hazelcast-tpc-engine-5.7.3.jar
298+
test -s hazelcast-tpc-engine/target/hazelcast-tpc-engine-5.7.3-pasturestack.2.jar
299299
./mvnw -B org.apache.maven.plugins:maven-install-plugin:3.1.4:install-file \
300-
-Dfile=hazelcast-tpc-engine/target/hazelcast-tpc-engine-5.7.3.jar \
300+
-Dfile=hazelcast-tpc-engine/target/hazelcast-tpc-engine-5.7.3-pasturestack.2.jar \
301301
-DpomFile=hazelcast-tpc-engine/pom.xml
302302
timeout --signal=TERM --kill-after=30s 15m ./mvnw -B \
303303
org.apache.maven.plugins:maven-help-plugin:3.5.2:effective-pom \
@@ -316,7 +316,7 @@ jobs:
316316
-DoutputFormat=json \
317317
-DoutputReactorProjects=false \
318318
-DoutputDirectory="$PWD/evidence" \
319-
-DoutputName=hazelcast-5.7.3.cdx \
319+
-DoutputName=hazelcast-5.7.3-pasturestack.2.cdx \
320320
-DschemaVersion=1.6 \
321321
org.cyclonedx:cyclonedx-maven-plugin:2.9.3:makeBom
322322
printf '%s %s\n%s %s\n' \
@@ -366,18 +366,18 @@ jobs:
366366
"$TRIVY_IMAGE" rootfs --pkg-types library \
367367
--cache-dir /root/.cache/trivy --skip-db-update --offline-scan \
368368
--scanners vuln --severity CRITICAL,HIGH --format json \
369-
--output /evidence/hazelcast-5.7.3.trivy.json /artifact/hazelcast-5.7.3.jar
369+
--output /evidence/hazelcast-5.7.3-pasturestack.2.trivy.json /artifact/hazelcast-5.7.3-pasturestack.2.jar
370370
docker run --rm --network none \
371371
-v "$PWD/evidence:/evidence" \
372372
-v "$trivy_cache:/root/.cache/trivy" \
373373
"$TRIVY_IMAGE" sbom \
374374
--cache-dir /root/.cache/trivy --skip-db-update --skip-java-db-update --offline-scan \
375375
--scanners vuln --severity CRITICAL,HIGH --format json \
376-
--output /evidence/hazelcast-5.7.3.sbom.trivy.json \
377-
/evidence/hazelcast-5.7.3.cdx.json
376+
--output /evidence/hazelcast-5.7.3-pasturestack.2.sbom.trivy.json \
377+
/evidence/hazelcast-5.7.3-pasturestack.2.cdx.json
378378
sha256sum evidence/maven-effective-pom.xml \
379-
evidence/maven-runtime-dependency-tree.json evidence/hazelcast-5.7.3.cdx.json \
380-
evidence/hazelcast-5.7.3.sbom.trivy.json evidence/hazelcast-5.7.3.trivy.json \
379+
evidence/maven-runtime-dependency-tree.json evidence/hazelcast-5.7.3-pasturestack.2.cdx.json \
380+
evidence/hazelcast-5.7.3-pasturestack.2.sbom.trivy.json evidence/hazelcast-5.7.3-pasturestack.2.trivy.json \
381381
evidence/evidence-tools.sha256 \
382382
evidence/native-resources.sha256 evidence/runtime-toolchain-boundary.txt \
383383
> evidence/security-evidence.sha256
@@ -388,7 +388,7 @@ jobs:
388388
set -euo pipefail
389389
python scripts/pasturestack-verify-maven-evidence.py \
390390
--effective-pom evidence/maven-effective-pom.xml \
391-
--sbom evidence/hazelcast-5.7.3.cdx.json \
391+
--sbom evidence/hazelcast-5.7.3-pasturestack.2.cdx.json \
392392
--dependency-tree evidence/maven-runtime-dependency-tree.json \
393393
--summary evidence/maven-evidence-summary.txt
394394
sha256sum evidence/maven-evidence-summary.txt >> evidence/security-evidence.sha256
@@ -401,9 +401,9 @@ jobs:
401401
return json.load(stream)
402402
403403
source = load('evidence/source-security.json')
404-
artifact = load('evidence/hazelcast-5.7.3.trivy.json')
405-
dependency_scan = load('evidence/hazelcast-5.7.3.sbom.trivy.json')
406-
sbom = load('evidence/hazelcast-5.7.3.cdx.json')
404+
artifact = load('evidence/hazelcast-5.7.3-pasturestack.2.trivy.json')
405+
dependency_scan = load('evidence/hazelcast-5.7.3-pasturestack.2.sbom.trivy.json')
406+
sbom = load('evidence/hazelcast-5.7.3-pasturestack.2.cdx.json')
407407
maven_tree = load('evidence/maven-runtime-dependency-tree.json')
408408
source_vulnerabilities = [
409409
item
@@ -489,7 +489,7 @@ jobs:
489489
or None in component_purls
490490
or len(component_refs) != len(set(component_refs))
491491
or len(component_purls) != len(set(component_purls))
492-
or maven_root != ('com.hazelcast', 'hazelcast', '5.7.3')
492+
or maven_root != ('com.hazelcast', 'hazelcast', '5.7.3-pasturestack.2')
493493
or sbom_root != maven_root
494494
or root_ref not in dependency_refs
495495
or dependency_refs != allowed_refs
@@ -507,7 +507,7 @@ jobs:
507507
docker run --rm --network none \
508508
-v "$PWD/evidence:/evidence:ro" \
509509
cyclonedx/cyclonedx-cli:0.33.1@sha256:252c2e26f468c25fea1e63ecde1bc3198ad6e9dbb57f5ed3236bddcb2281b3a7 \
510-
validate --input-file /evidence/hazelcast-5.7.3.cdx.json \
510+
validate --input-file /evidence/hazelcast-5.7.3-pasturestack.2.cdx.json \
511511
--input-format json --input-version v1_6 --fail-on-errors
512512
513513
- name: Upload review evidence

‎Dockerfile.pasturestack‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
# syntax=docker/dockerfile:1.7
22

3+
ARG VCS_REF
34
FROM eclipse-temurin:25.0.4_7-jdk-noble@sha256:534968c051301957beae735e7ba1db54d99ddecf08746d3b9d4f318cc132dbc3 AS build
45

6+
ARG VCS_REF
57
ENV MAVEN_OPTS="-Xms256m -Xmx1200m -XX:+UseSerialGC"
8+
ENV PASTURESTACK_VCS_REF="$VCS_REF"
69

710
RUN apt-get update \
811
&& apt-get install --yes --no-install-recommends unzip \
@@ -16,12 +19,12 @@ FROM scratch
1619

1720
ARG VCS_REF
1821
LABEL org.opencontainers.image.title="PastureStack Distributed Cache Runtime" \
19-
org.opencontainers.image.description="PastureStack 5.7.3 runtime based on Hazelcast 5.7.0 with reviewed security updates" \
22+
org.opencontainers.image.description="PastureStack artifact 5.7.3-pasturestack.2 with Hazelcast cluster runtime 5.7.3 and reviewed security updates" \
2023
org.opencontainers.image.source="https://github.com/PastureStack/distributed-cache-runtime" \
2124
org.opencontainers.image.revision="$VCS_REF" \
2225
org.opencontainers.image.licenses="Apache-2.0 OR LicenseRef-Hazelcast-Community" \
2326
org.opencontainers.image.vendor="PastureStack"
2427

25-
COPY --from=build /src/dist/hazelcast-5.7.3.jar /opt/pasturestack/vendor/hazelcast-5.7.3.jar
26-
COPY --from=build /src/dist/hazelcast-5.7.3.jar.sha256 /opt/pasturestack/vendor/hazelcast-5.7.3.jar.sha256
28+
COPY --from=build /src/dist/hazelcast-5.7.3-pasturestack.2.jar /opt/pasturestack/vendor/hazelcast-5.7.3-pasturestack.2.jar
29+
COPY --from=build /src/dist/hazelcast-5.7.3-pasturestack.2.jar.sha256 /opt/pasturestack/vendor/hazelcast-5.7.3-pasturestack.2.jar.sha256
2730
COPY LICENSE NOTICE ORIGIN.md SECURITY-MAINTENANCE.md /opt/pasturestack/licenses/

‎ORIGIN.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ This repository is derived from the public [Hazelcast repository](https://github
55
- Upstream release: `v5.7.0`
66
- Upstream boundary commit: `60c31e3750cbad64f5720e2e02f0a9830973193c`
77
- PastureStack maintenance line: linear commits after that upstream boundary
8-
- Maintained artifact: PastureStack 5.7.3 runtime JAR, based on Hazelcast 5.7.0, with reviewed source and dependency security updates
8+
- Maintained artifact: PastureStack Maven artifact 5.7.3-pasturestack.2 (numeric Hazelcast cluster runtime 5.7.3), based on Hazelcast 5.7.0, with reviewed source and dependency security updates
99

1010
The upstream Git history, copyright notices, author records, `LICENSE`, `NOTICE`, and file-level license headers are retained. PastureStack's maintenance commits do not replace or relicense upstream work, and PastureStack does not claim authorship of upstream contributions.
1111

‎README.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
> [!IMPORTANT]
44
> This repository is a narrowly scoped PastureStack fork of Hazelcast 5.7.0. It preserves the upstream Git history, copyright notices, license files, and authorship. PastureStack does not claim ownership of upstream work and is not affiliated with or endorsed by Hazelcast, Inc.
55
6-
The maintained `5.7.3` runtime keeps the upstream 5.7.0 API and applies a reviewed set of source hardening, runtime-library updates, and build-time integration dependency updates required by PastureStack. See [ORIGIN.md](ORIGIN.md) for provenance and [SECURITY-MAINTENANCE.md](SECURITY-MAINTENANCE.md) for the exact delta and release gates. The original upstream README follows unchanged below.
6+
The maintained Maven artifact `5.7.3-pasturestack.2` keeps the upstream 5.7.0 API and applies a reviewed set of source hardening, runtime-library updates, and build-time integration dependency updates required by PastureStack. Generated Hazelcast cluster metadata reports numeric runtime version `5.7.3`, because the cluster protocol does not accept a Maven qualifier. See [ORIGIN.md](ORIGIN.md) for provenance and [SECURITY-MAINTENANCE.md](SECURITY-MAINTENANCE.md) for the exact delta and release gates. The original upstream README follows unchanged below.
77

88
---
99

0 commit comments

Comments
 (0)