CAMEL-23703: camel-launcher - secure website installers with immutable release manifests#24682
CAMEL-23703: camel-launcher - secure website installers with immutable release manifests#24682ammachado wants to merge 1 commit into
Conversation
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
|
🧪 CI tested the following changed modules:
🔬 Scalpel shadow comparison — Scalpel: 648 tested, 27 compile-only — current: 1 all testedMaveniverse Scalpel detected 675 affected modules (current approach: 1).
|
212391c to
211b7a0
Compare
…e release manifests Add install.sh and install.ps1: per-user installers that verify a SHA-256 recorded in a signed-path manifest before extracting, reject path traversal / absolute paths / escaping symlinks, and confirm Java 17+ is discoverable before activation. WebsiteManifestGenerator produces the manifests consumed by both scripts. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
4a683c3 to
b4097fb
Compare
Claude Code on behalf of ammachado
Description
This PR adds canonical per-user installers for the Camel CLI Launcher:
src/install/install.shsrc/install/install.ps1Both installers can resolve the latest published release or install a requested
X.Y.Zversion. They download the launcher archive from Maven Central, verify it against a SHA-256 recorded in the website manifest, validate archive structure before extraction, run the staged launcher once to confirm Java 17+ discovery works, and then activate the install under the current user account.The PR also adds
WebsiteManifestGenerator.java, a JDK-only source-file tool that writes immutable per-version manifests and updateslatest.propertiesonly when it moves forward to a newer version.Target
mainbranch)Tracking
Apache Camel coding standards and style
mvn clean install -DskipTestslocally from root folder and I have committed all auto-generated changes.Local verification run:
mvn formatter:format impsort:sortmvn -pl dsl/camel-jbang/camel-launcher -Dlicense.skip=true formatter:format impsort:sortmvn -pl dsl/camel-jbang/camel-launcher -Dlicense.skip=true -Dtest=WebsiteInstallTest,WebsiteInstallerFixtureTest,WebsiteManifestGeneratorTest -Dsurefire.failIfNoSpecifiedTests=false testThe focused launcher test command reported
BUILD SUCCESSwith 57 tests run, 0 failures, 0 errors, and 9 skipped. Windows PowerShell installer scenarios were skipped on this non-Windows host. Full build and cross-platform validation are intentionally deferred to CI/PR for this split.AI-assisted contributions
Co-authored-bytrailers) and the PR description identifies the AI tool used.Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com