Terraform plan for CloudBees SDA for modern cloud platforms.
Includes roots for creating a Kubernetes cluster in EKS (other providers TBD) and configuration for installing CloudBees SDA.
The following tools should be installed and available in your PATH:
- Required
terraform
v1.0+
- Recommended
aws
CLI with configured profile(s)kubectl
at a version matching the target Kubernetes cluster
- Set up your local configuration
- Use
.env
to configure variables across all plans- Copy
.env.example
to.env
- Edit
.env
and provide your desired values. - If needed, reload the configuration with
source .env
- Copy
- Use
.auto.tfvars
to configure each plan- Copy
.auto.tfvars.example
to.auto.tfvars
in each Terraform root - Edit
.auto.tfvars
and provide your desired values.
- Copy
- Use
- Set up the Terraform backend.
- It is recommended to configure a remote Terraform backend for each of the root plans.
- Each Terraform plan contains a
backend.tf.example
that you can copy tobackend.tf
(ignored by Git) and modify as needed. - Otherwise, Terraform will use the default local store.
The Makefile wraps Terraform with a default action of "plan". When you run the following make
targets, you can set the value of ACTION
to change this behavior.
-
Prepare the EKS cluster.
- Initialize the terraform plan.
$ terraform init
- (Optional) View the terraform plan. Without a provided
ACTION
, this will runterraform plan
.$ terraform plan
- Create the EKS cluster.
$ terraform apply
- Initialize the terraform plan.
-
Install CloudBees SDA.
- Initialize the terraform plan.
$ terraform init
- (Optional) View the terraform plan. Without a provided
ACTION
, this will runterraform plan
.$ terraform plan
- Create the EKS cluster.
$ terraform apply
- Initialize the terraform plan.