Skip to content

fix(argo-cd): set EXTENSIONS_DIR so extensions install to the served path - #4068

Merged
mbevc1 merged 2 commits into
argoproj:mainfrom
jmeridth:fix/extensions-dir-env
Sep 9, 2026
Merged

fix(argo-cd): set EXTENSIONS_DIR so extensions install to the served path#4068
mbevc1 merged 2 commits into
argoproj:mainfrom
jmeridth:fix/extensions-dir-env

Conversation

@jmeridth

@jmeridth jmeridth commented Sep 6, 2026

Copy link
Copy Markdown
Member

Closes #3320

What/Why

server.extensions mounted the shared volume at /tmp/extensions (where argocd-server discovers extensions) while the installer image copies into /tmp/extensions/resources by default, so installed extensions never loaded in the UI. Upstream made the target configurable via EXTENSIONS_DIR (argoproj-labs/argocd-extension-installer#14, thanks @Sturgelose, shipped in the v1.1.0 image the chart pins since #4064), and its documentation prescribes /tmp/extensions for this chart's wiring. This sets that env on every extension init container. Entries from each extension's .env render after it and take precedence, and the .env block is now with-guarded so env-less extensions render validly.

Proof it works

helm template with an extensionList entry renders EXTENSIONS_DIR before the extension's own env, nothing leaks into output from the template comment, and ./scripts/lint.sh passes. Older pinned installer images ignore the unknown variable, so pinning v1.0.1 keeps exactly today's behavior.

Risk + AI role

Low: only the opt-in extensions init container's rendered env changes. AI-assisted, maintainer-directed.

Review focus

@Sturgelose confirmation welcome that /tmp/extensions is the served path per your upstream docs table, since you authored both the report and the fix.


Checklist:

  • I have bumped the chart version according to versioning
  • I have updated the documentation according to documentation (n/a: no values changes)
  • I have updated the chart changelog according to changelog
  • Any new values are backwards compatible and/or have sensible default. (n/a: no new values)
  • I wrote this PR with the help of a LLM but I fully vetted the work before raising this PR for review
  • I have signed off all my commits as required by DCO.
  • I have created a separate pull request for each chart according to pull requests
  • My build is green (troubleshooting builds).

@jmeridth jmeridth self-assigned this Sep 6, 2026
@jmeridth
jmeridth marked this pull request as ready for review September 6, 2026 03:49
yu-croco
yu-croco previously approved these changes Sep 7, 2026
@mbevc1
mbevc1 enabled auto-merge (squash) September 7, 2026 06:16
…path

What/Why

The server.extensions feature mounted the shared volume at /tmp/extensions
(where argocd-server discovers extensions) but the installer image copies
into /tmp/extensions/resources by default, so installed extensions never
loaded in the UI. Upstream made the target configurable via EXTENSIONS_DIR
(argoproj-labs/argocd-extension-installer#14, shipped in the v1.1.0 image
the chart now pins), and its docs prescribe /tmp/extensions for this
chart's wiring. Set that env on every extension init container; entries
from each extension's .env render after it and take precedence, and the
.env block is now with-guarded so env-less extensions render validly.

Proof it works

helm template with an extensionList entry renders EXTENSIONS_DIR before
the extension's own env, template comments do not leak into output, and
./scripts/lint.sh passes.

Risk + AI role

Low: only affects rendered env of the opt-in extensions init container;
older pinned installer images ignore the unknown variable. AI-assisted
(Claude Fable 5), maintainer-directed.

Review focus

Confirmation that /tmp/extensions (not /tmp/extensions/resources) is the
path argocd-server serves from, per the upstream PR's documentation table
naming this chart's defaults.

Signed-off-by: jmeridth <jmeridth@gmail.com>
What/Why

No chart template in this repo uses inline template comments in rendered
blocks; the EXTENSIONS_DIR rationale lives in the commit and PR instead.

Proof it works

helm template output unchanged; ./scripts/lint.sh passes.

Risk + AI role

None beyond the parent change. AI-assisted (Claude Fable 5).

Review focus

None.

Signed-off-by: jmeridth <jmeridth@gmail.com>
@jmeridth

jmeridth commented Sep 8, 2026

Copy link
Copy Markdown
Member Author

Rebased onto main after #4070 took 10.8.2; this PR now targets 10.8.3. Template change and changelog text unchanged, version line only.

@jmeridth
jmeridth requested a review from yu-croco September 8, 2026 12:25
@mbevc1
mbevc1 merged commit 794d7a9 into argoproj:main Sep 9, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

server.extensions installing in the wrong path

4 participants