DocsSetup and installationSet up an evaluation cluster

Set up an evaluation cluster

Provision starter GKE or EKS infrastructure, DNS, dependencies, and Lifecycle for evaluation.

When you have all starter infrastructure prerequisites, use this page to provision GKE or EKS. The OpenTofu module creates the cluster, supporting services, DNS, and, by default, Lifecycle itself.

⚠️

The starter OpenTofu module creates publicly reachable resources and is intended for testing, demos, and learning, not production. Apply applicable network policies and identity controls. Your organization must approve these security controls.

Select the installation path

Use this evaluation and demo path for a starter cluster. The OpenTofu module defaults app_lifecycle_enabled to true. Thus, tofu apply creates the infrastructure and installs the lifecycle Helm release. Do not install Lifecycle a second time with this default path.

An operator-managed Helm path needs a supported existing cluster. If you use the starter module, set app_lifecycle_enabled = false before you apply it. Then, follow Install Lifecycle.

⚠️

Use these paths for evaluation only. The module pins chart and application versions. Before each apply, examine the OpenTofu plan and pinned versions.

Select the cloud provider for the evaluation cluster:

Google Cloud Platform

Set up application credentials

Enable Kubernetes Engine and Cloud DNS APIs:

<PROJECT_ID> is the Google Cloud project ID, not the project name.

Bootstrap infrastructure

Clone the infrastructure repository:

Copy the example input file:

Example secrets.auto.tfvars file:

⚠️

When dns_provider = "cloudflare", uncomment cloudflare_api_token. Use a Cloudflare API token that can manage the selected DNS zone. Keep the token in secrets.auto.tfvars. The infrastructure repository ignores this file. Do not commit it. See the infrastructure revision for the token-scope requirements.

Initialize OpenTofu. Examine the plan. Apply the plan:

This creates the Kubernetes cluster, supporting services, DNS records, and, because app_lifecycle_enabled is true, the Lifecycle Helm release.

After the apply completes, follow its kubeconfig instructions. Then, test the sample application:

See the example apply output for more kubeconfig details. Continue to test the evaluation installation. Do not run a second Helm installation.


Amazon Web Services

⚠️

The AWS evaluation procedure uses AdministratorAccess. Limit that access to an isolated evaluation account. Remove the access when the test ends. Use approved least-privilege permissions for an operator-managed deployment.


Bootstrap infrastructure

Clone the infrastructure repository:

Copy the example input file:

Example secrets.auto.tfvars file:

⚠️

When dns_provider = "cloudflare", uncomment cloudflare_api_token. Use a Cloudflare API token that can manage the selected DNS zone. Keep the token in secrets.auto.tfvars. The infrastructure repository ignores this file. Do not commit it. See the infrastructure revision for the token-scope requirements.

Initialize OpenTofu. Examine the plan. Apply the plan:

This creates the Kubernetes cluster, supporting services, DNS records, and, because app_lifecycle_enabled is true, the Lifecycle Helm release.

After the apply completes, follow its kubeconfig instructions. Then, test the sample application:

See the example apply output for more kubeconfig details. Continue to the installation test section. Do not run a second Helm installation.

Test the evaluation installation

Use the same namespace and host values supplied to OpenTofu:

Wait for the Lifecycle deployments. Make sure that the HTTPS endpoint responds. If the module’s pinned release fails, examine the OpenTofu and Kubernetes output. Do not add a second Helm release.

Then, create and connect the GitHub App.