boot-clj / boot-clj/boot

Disabling self-update for vendor installs

Open
#500 3 comments 1 reaction 0 assignees View on GitHub
Dominant language
Clojure
Stars
1.7k
Forks
178
PR merge metrics
No merged PRs in 30d

Description

Currently packaging boot to be installed via vendor tooling, which gives sysadmin people better peace of mind than a blind `sudo bash curl ...` invocation.

Presently doing this via simply provisioning a custom version of `boot.sh` without all the magic, and deploying the stable boot.jar into `/usr/` and having boot.sh load that. ( It still loads all the dependencies and stuff from maven on first run, but this of course happens as a non-priveleged instead of root ).

However, in such situation its desirable to disable self-update mechanics.

Obviously this can be bodged in via re-writing args passing from scratch in the bash wrapper, and then bailing when somebody tries to upgrade, but I figured it might be better to suggest some kind of first-class support for this.

I suspect a JVM Option like `-Dboot.vendor_install=1` would be sufficient, or maybe a string like `-Dboot.vendor=gentoo` which could trip the right paths in boot.

Contributor guide

Open the contributing guide

Research direction

Start by tracing self-update behavior from boot.sh into boot.jar, then inspect how JVM options are passed through the wrapper. Define how a vendor-install setting should be detected and ensure it prevents self-update without requiring a rewritten wrapper; no specific test file is named in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
build-system, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.