-
Notifications
You must be signed in to change notification settings - Fork 155
Persist installer settings via apm config for self-update #667
Copy link
Copy link
Open
Labels
area/cliCLI command surface, flags, help text (cross-cutting).CLI command surface, flags, help text (cross-cutting).area/distributionInstallers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.Installers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.enhancementDeprecated: use type/feature. Kept for issue history; will be removed in milestone 0.10.0.Deprecated: use type/feature. Kept for issue history; will be removed in milestone 0.10.0.status/needs-designDirection approved, design discussion required before code.Direction approved, design discussion required before code.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/portabilityOne manifest, every target. Multi-target deploy, marketplace, packaging, install.One manifest, every target. Multi-target deploy, marketplace, packaging, install.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Metadata
Metadata
Assignees
Labels
area/cliCLI command surface, flags, help text (cross-cutting).CLI command surface, flags, help text (cross-cutting).area/distributionInstallers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.Installers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.enhancementDeprecated: use type/feature. Kept for issue history; will be removed in milestone 0.10.0.Deprecated: use type/feature. Kept for issue history; will be removed in milestone 0.10.0.status/needs-designDirection approved, design discussion required before code.Direction approved, design discussion required before code.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).Initial agentic triage complete; pending maintainer ratification (silence = approval).theme/portabilityOne manifest, every target. Multi-target deploy, marketplace, packaging, install.One manifest, every target. Multi-target deploy, marketplace, packaging, install.type/featureNew capability, new flag, new primitive.New capability, new flag, new primitive.
Type
Projects
Status
Todo
Summary
PR #660 introduces env vars (
APM_INSTALL_DIR,GITHUB_URL,APM_REPO,VERSION) to configureinstall.shfor air-gapped and GHE environments. These work well for the bootstrap install, but once APM is installed,apm updatehas no way to remember those settings.Users who installed to a custom directory or from a GHE mirror would need to re-export env vars every time they run
apm update, which is error-prone and defeats the purpose of a self-update command.Proposed solution
Add persistent config keys via
apm config:install-dir/usr/local/bin)mirror-urlhttps://github.com)mirror-repomicrosoft/apm)The flow would be:
apmbinary yet)apm config set mirror-url https://gh.corp.comapm updatereads config; env vars override if set (CI/unattended)Acceptance criteria
apm updatereadsinstall-dir,mirror-url,mirror-repofrom configapm config set mirror-url <url>persists across sessionsRelated
install.sh