DirectorySecurity AdvisoriesPricing
Sign in
Directory
tofu-controller logoHELM

tofu-controller

Helm chart
Last changed
Request a free trial

Contact our team to test out this Helm chart and related images for free. Please also indicate any other images you would like to evaluate.

Overview
Chart tags
Default values
Chart metadata
Images

Tofu Controller

Chainguard's redistribution of the tofu-controller Helm chart, pre-configured with hardened Chainguard Images.

The tofu-controller is a GitOps OpenTofu and Terraform controller for Flux. It reconciles Terraform custom resources by launching tf-runner pods that plan and apply your infrastructure code.

Prerequisites

The tofu-controller is a Flux controller and expects Flux (in particular the source-controller) to be installed in the cluster, for example with the flux2 Helm chart.

Authentication is required to access this chart and its images. First, authenticate with Chainguard and configure your environment:

chainctl auth login
chainctl auth configure-docker --pull-token --save
helm registry login cgr.dev

Create an image pull secret for the cluster:

kubectl create secret docker-registry cgr-pull-secret \
  --docker-server=cgr.dev \
  --docker-username="$(echo cgr.dev | docker-credential-cgr get | jq -r '.Username')" \
  --docker-password="$(echo cgr.dev | docker-credential-cgr get | jq -r '.Secret')" \
  --namespace flux-system

Installation

helm install tofu-controller oci://cgr.dev/ORGANIZATION/charts/tofu-controller \
  --namespace flux-system \
  --create-namespace \
  --set imagePullSecrets[0].name=cgr-pull-secret

The chart's imagePullSecrets value applies to the controller pod only. The tf-runner pods the controller creates run under the runner service account (tf-runner by default) in each namespace that hosts Terraform resources, so make the pull secret available to that service account as well, for example:

kubectl patch serviceaccount tf-runner -n flux-system \
  -p '{"imagePullSecrets": [{"name": "cgr-pull-secret"}]}'

Images

This chart maps the following image slots to Chainguard Images:

ValueChainguard ImageFIPS Image

image

cgr.dev/ORGANIZATION/tofu-controller

cgr.dev/ORGANIZATION/tofu-controller-fips

runner.image

cgr.dev/ORGANIZATION/tofu-controller-runner

cgr.dev/ORGANIZATION/tofu-controller-runner-fips

The runner image is passed to the controller through the RUNNER_POD_IMAGE environment variable. The optional branch planner (branchPlanner.enabled, off by default) is not mapped because Chainguard does not publish a branch-planner image.

About This Chart

This is a redistribution of the upstream tofu-controller Helm chart. All upstream configuration options and documentation apply.

For full documentation, see: https://flux-iac.github.io/tofu-controller/

Chart versions
  • 0.16.5-fips

    Latest
  • 0.16.5

  • 0.16-fips

  • 0.16

View all chart versions

The trusted source for open source

Talk to an expert
PrivacyTerms

Product

Chainguard ContainersChainguard LibrariesChainguard VMsChainguard OS PackagesChainguard ActionsChainguard Agent SkillsIntegrationsPricing
© 2026 Chainguard, Inc. All Rights Reserved.
Chainguard® and the Chainguard logo are registered trademarks of Chainguard, Inc. in the United States and/or other countries.
The other respective trademarks mentioned on this page are owned by the respective companies and use of them does not imply any affiliation or endorsement.