Skip to content

[4.x] jenkins-agent-terraform-2408: Node 24 LTS, eMudhra/emSign CA store refresh, Go 1.26.10 - #1177

Open
austindimmer wants to merge 2 commits into
opendevstack:4.xfrom
austindimmer:fix/INFIAAS-11916-terraform-2408-4.x
Open

austindimmer wants to merge 2 commits into
opendevstack:4.xfrom
austindimmer:fix/INFIAAS-11916-terraform-2408-4.x

Conversation

@austindimmer

@austindimmer austindimmer commented Oct 26, 2026 •

Copy link
Copy Markdown

Backport of #1175 (master) to 4.x, same agent and docs diff (cherry-pick; only the CHANGELOG context differs, since 4.x has no #1173 entry). Precedent for direct 4.x fixes: #1096, #1097.

Refreshes every CA store in jenkins-agent-terraform-2408 after the eMudhra/emSign incident and moves Node off the EOL 20 line: Node 24 LTS, uv 0.13.5, pip>=26.2.2 + certifi>=2026.10.23 per uv-managed Python, dnf update ca-certificates, Go 1.26.10 (SHA-256 verified). Python 3.9 (EOL, no fixed pip) is no longer installed; uv python install 3.9 remains available. Behaviour change: python3/python/python3-config are now the default Python 3.12 with the agent's libraries (before: the RHEL platform 3.9), and pipenv defaults to 3.12. The Python CLIs (pipenv, az, ...) are linked onto PATH explicitly, and the Python install loop now fails loudly.

See #1175 for details and verification output.

Tasks:

  • Updated documentation in docs/modules/... directory
  • Ran tests in <quickstarter>/testdata directory (n/a: agent image only)

Austin Dimmer added 2 commits October 26, 2026 14:55
…/emSign CA refresh, Go 1.26.10

The eMudhra/emSign incident (eight compromised intermediates) needs every CA
store in the agent refreshed: pip always loads its vendored certifi in
addition to the system store, so OS ca-certificates alone is not enough.

- NODEJS_VERSION 20 -> 24 (Node 20 is EOL; 24.22.1 ships the fixed root store)
- uv 0.10.9 -> 0.13.5 (embedded CA store fix)
- pip >= 26.2.2 and certifi >= 2026.10.23 for every uv-managed Python
- dnf update ca-certificates in the package layer
- GO_VERSION 1.21.13 -> 1.26.10, and the tarball's SHA-256 is verified
  (ARG GO_SHA256, from go.dev)
- drop Python 3.9: EOL, and no pip release with the fix supports it
  (pip >= 26.1 requires Python >= 3.10). uv is installed, so users can
  still `uv python install 3.9`
- the default Python (PYTHON_DEFAULT_VERSION=3.12, defined once) becomes
  python3, python and python3-config (an exec wrapper, because the script
  derives its prefix from its own path), and its console scripts (pipenv,
  virtualenv, az, pre-commit, ...) are linked into /usr/local/bin, which now
  precedes /usr/bin on PATH. Before, python3 and these scripts had the
  agent's libraries only because `--system --python 3.9` resolved to the
  RHEL platform python3.9. The build asserts python3, its libraries,
  python3-config, the CLIs, and that dnf still works on the platform python3
- the Python loop now fails the build on the first interpreter that fails;
  before, `fi;` let a later successful iteration mask an earlier failure
- CHANGELOG: the python3/pipenv default under Changed, the Python 3.9
  removal under Removed
- docs: Node/Python/Go versions, python3, tenv (not tfenv) for 2408
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant