Installation¶
TFOut can be installed in several ways depending on your preferences and environment.
Prerequisites¶
- Kubernetes cluster (1.19+)
kubectl
configured to access your cluster- Appropriate permissions to create CustomResourceDefinitions and RBAC resources
Method 1: Helm Chart (Recommended)¶
The easiest way to install TFOut is using the Helm chart:
# Add the TFOut Helm repository
helm repo add tfout https://swibrow.github.io/tfout
# Update your local Helm chart repository cache
helm repo update
# Install TFOut
helm install tfout tfout/tfout --namespace tfout --create-namespace
Customizing the Installation¶
Create a values.yaml
file to customize the installation:
# values.yaml
image:
repository: ghcr.io/swibrow/tfout
tag: "v0.1.0"
controller:
replicas: 2
leaderElection: true
resources:
limits:
cpu: 200m
memory: 256Mi
requests:
cpu: 50m
memory: 128Mi
# AWS credentials for S3 access
env:
- name: AWS_REGION
value: "us-west-2"
envFrom:
- secretRef:
name: aws-credentials
Then install with custom values:
Method 2: Kubernetes Manifests¶
You can install TFOut directly using Kubernetes manifests:
# Install CRDs and operator
kubectl apply -f https://github.com/swibrow/tfout/releases/latest/download/install.yaml
Method 3: Build from Source¶
If you want to build and install from source:
# Clone the repository
git clone https://github.com/swibrow/tfout.git
cd tfout
# Build and install
make install
make deploy IMG=controller:latest
Verification¶
Verify that TFOut is running correctly:
# Check the operator deployment
kubectl get deployments -n tfout
# Check the operator logs
kubectl logs -n tfout deployment/tfout-controller-manager
# Verify CRDs are installed
kubectl get crd terraformoutputs.tfout.wibrow.net
You should see output similar to:
Next Steps¶
- Follow the Quick Start guide to create your first TerraformOutputs resource
- Review Configuration options