Welcome to my Terraform Library, a storage place for my assets related to my journey around Terraform and Iac for the Cloud.
Documentation | References |
---|
- It contains deployments and configuration for Kubernetes Cluster and companion infrastructure for different Cloud providers.
- Terraform operations use makefile inside every cloud provider (e.g.
aws
) to give you examples of the most common operation command set. There are targets for the most common scenarios: init (with backend), plan/apply and destroy but also a general action target to run any terraform command.- Copy
.env.example
to.env
to customize the environment variables. Although, some variables can be passed as arguments to target in the make command (ROOT
for example).
- Copy
- Values Customization:
- Variables: Copy
shared.tfvars.example
toshared.tfvars
inside the cloud/provider/env folder. Then, copy.auto.tfvars.example
to.auto.tfvars
inside the root folders. Customize files with your values. It relies on Variables inheritance. See Terraform - Variable Precedence - Learning-Ocean - Backend:
- Apply the Root
state-bucket
creates a remote backend - Copy
backend.tf.example
tobackend.tf
in every Root to use the backend created in the previous step.
- Apply the Root
- Variables: Copy
- Companion Repositories:
- Docker Library for testing using the image
- The Helm provider uses the values from the Kubernetes library
⚠️ IMPORTANT - It requiresgit submodule update --init --recursive
- Helm provider is separated from the creation of the K8s cluster Stacking with managed Kubernetes cluster resources
- It uses Pre-commits for Validations and Documentation