tfc-cloud-agent
cloudposse/tfc-cloud-agent/kubernetes
Provision a Terraform Cloud Agent on an existing Kubernetes cluster.
terraform-kubernetes-tfc-cloud-agent    [![README Header][readme_header_img]][readme_header_link] [![Cloud Posse][logo]](https://cpco.io/homepage) This project installs the Terraform Cloud Agent on an existing Kubernetes cluster. You must provide your own Kubernetes provider configuration in your project! NOTE: Requires Terraform Cloud Business or Terraform Enterprise subscription. --- This project is part of our comprehensive "SweetOps" approach towards DevOps. [ ][share_email] [ ][share_googleplus] [ ][share_facebook] [ ][share_reddit] [ ][share_linkedin] [ ][share_twitter] ![Terraform Open Source
| Name | Type | Description | Default |
|---|---|---|---|
| name | string | Solution name, e.g. 'app' or 'jenkins' | required |
| id_length_limit | number | Limit `id` to this many characters. Set to `0` for unlimited length. Set to `nul | required |
| kubernetes_namespace | string | Kubernetes namespace override | required |
| stage | string | Stage, e.g. 'prod', 'staging', 'dev', OR 'source', 'build', 'test', 'deploy', 'r | required |
| tfc_agent_data_dir | string | The path to a directory to store all agent-related data, including Terraform con | required |
| enabled | bool | Set to false to prevent the module from creating any resources | required |
| namespace | string | Namespace, which could be your organization name or abbreviation, e.g. 'eg' or ' | required |
| deployment_name | string | Override the deployment name in Kubernetes | required |
| delimiter | string | Delimiter to be used between `namespace`, `environment`, `stage`, `name` and `at | required |
| label_order | list(string) | The naming order of the id output and Name tag. Defaults to ["namespace", "envir | required |
| regex_replace_chars | string | Regex to replace chars with empty string in `namespace`, `environment`, `stage` | required |
| environment | string | Environment, e.g. 'uw2', 'us-west-2', OR 'prod', 'staging', 'dev', 'UAT' | required |
| agent_cli_args | list | Extra command line arguments to pass to tfc-agent | [] |
| tfc_agent_token | string | The agent token to use when making requests to the Terraform Cloud API. This tok | "" |
| resource_limits_cpu | string | Kubernetes deployment resource hard CPU limit | "1" |
| resource_requests_memory | string | Kubernetes deployment resource memory requests | "50Mi" |
| attributes | list(string) | Additional attributes (e.g. `1`) | [] |
| agent_envs | map | A map of any extra environment variables to pass to the TFC agent | {} |
| tfc_agent_log_level | string | The log verbosity expressed as a level string. Level options include "trace", "d | "info" |
| namespace_creation_enabled | bool | Enable this if the Kubernetes namespace does not already exist | false |
| replicas | number | Number of replicas in the Kubernetes deployment | 1 |
| agent_image | string | Name and tag of Terraform Cloud Agent docker image | "hashicorp/tfc-agent:latest" |
| context | object({ enabled | Single object for setting entire context at once. See description of individual | {
"additional_tag_map": {},
"attribu |
| tfc_agent_disable_update | bool | Disable automatic core updates. | false |
| tfc_address | string | The HTTP or HTTPS address of the Terraform Cloud API. | "https://app.terraform.io" |
| resource_requests_cpu | string | Kubernetes deployment resource CPU requests | "250m" |
| resource_limits_memory | string | Kubernetes deployment resource hard memory limit | "512Mi" |
| tags | map(string) | Additional tags (e.g. `map('BusinessUnit','XYZ')` | {} |
| deployment_annotations | map | Annotations to add to the Kubernetes deployment | {} |
| additional_tag_map | map(string) | Additional tags for appending to tags_as_list_of_maps. Not added to `tags`. | {} |
| service_account_annotations | map | Annotations to add to the Kubernetes service account | {} |
| tfc_agent_single | bool | Enable single mode. This causes the agent to handle at most one job and immediat | false |
service_account_name — Name of the Kubernetes service accountnamespace — Name of the Kubernetes namespaceTerraform Module to define a consistent naming convention by (namespace, stage,
Terraform module for provisioning an EKS cluster
Terraform module that provision an S3 bucket to store the terraform.tfstate file
Terraform Module that defines a VPC with public/private subnets across multiple