Skip to content

fix(scripts/ironbank): rebuild bundled Terraform from source with Go 1.25.9#25260

Merged
f0ssel merged 1 commit into
release/2.31from
fix/ironbank-terraform-go-toolchain-v2.31
May 13, 2026
Merged

fix(scripts/ironbank): rebuild bundled Terraform from source with Go 1.25.9#25260
f0ssel merged 1 commit into
release/2.31from
fix/ironbank-terraform-go-toolchain-v2.31

Conversation

@Shelnutt2
Copy link
Copy Markdown
Contributor

Build Terraform from source during the IronBank image build instead of downloading pre-built binaries from HashiCorp. This controls the Go toolchain version, ensuring Go stdlib CVEs (1 Critical, 5 High, 3 Medium) fixed in Go 1.25.9 are addressed in the bundled Terraform binary.

No upstream Terraform release is compiled with Go 1.25.9+; all use Go 1.25.8. Building from source with GOTOOLCHAIN=go1.25.9 (read from go.mod) is the only path forward without waiting for an upstream toolchain bump.

Changes

  • hardening_manifest.yaml: Replace pre-built Terraform 1.3.7 binary with Terraform 1.14.5 source tarball (matches install.go). Update terraform-provider-coder from 0.6.10 to 2.13.1 (matches go.mod). Add TERRAFORM_VERSION build arg.
  • build_ironbank.sh: Download Terraform source, compile with the project's Go toolchain (1.25.9), package as terraform.zip. Add go to dependencies. Update base image to UBI9.
  • Dockerfile: Update base image from UBI8 8.7 to UBI9 9.6. Remove python3-urllib3 to address CVE-2026-44431.

Refs ENT-1

Note

Generated by Coder Agents

Implementation context (Coder Agents generated)

Go toolchain analysis

Component Before After
Terraform binary Go 1.19.4 (v1.3.7 pre-built) Go 1.25.9 (v1.14.5 built from source)
terraform-provider-coder old (v0.6.10) Go 1.24.6 (v2.13.1)
Coder binary Go 1.25.9 Go 1.25.9 (unchanged)

Related PRs

…1.25.9

Build Terraform from source during the IronBank image build instead of
downloading pre-built binaries from HashiCorp. This controls the Go
toolchain version, ensuring Go stdlib CVEs (1 Critical, 5 High, 3
Medium) fixed in Go 1.25.9 are addressed in the bundled Terraform
binary.

No upstream Terraform release (including 1.14.9 and 1.15.2) is compiled
with Go 1.25.9+; all use Go 1.25.8. Building from source with
GOTOOLCHAIN=go1.25.9 (read from go.mod) is the only path forward
without waiting for an upstream toolchain bump.

Changes:
- hardening_manifest.yaml: Replace pre-built Terraform 1.3.7 binary with
  Terraform 1.14.5 source tarball (matches install.go). Update
  terraform-provider-coder from 0.6.10 to 2.13.1 (matches go.mod).
  Add TERRAFORM_VERSION build arg.
- build_ironbank.sh: Download Terraform source, compile with the
  project's Go toolchain (1.25.9), package as terraform.zip. Add go to
  dependencies. Update base image to UBI9.
- Dockerfile: Update base image from UBI8 8.7 to UBI9 9.6. Remove
  python3-urllib3 to address CVE-2026-44431.

Refs ENT-1
@Shelnutt2 Shelnutt2 added dependencies Pull requests that update a dependency file cherry-pick/v2.31 Needs to be cherry-picked to the 2.31 release branch labels May 13, 2026
@f0ssel f0ssel merged commit dfe986b into release/2.31 May 13, 2026
77 of 82 checks passed
@f0ssel f0ssel deleted the fix/ironbank-terraform-go-toolchain-v2.31 branch May 13, 2026 19:36
@github-actions github-actions Bot locked and limited conversation to collaborators May 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

cherry-pick/v2.31 Needs to be cherry-picked to the 2.31 release branch dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants