diff --git a/CHANGELOG.md b/CHANGELOG.md index 36ffdc4..d415f3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,4 +9,4 @@ BREAKING CHANGES: * Variable `agent_disable_update` is now `agent_auto_update` which defaults to minor and must be one of *disabled*, *minor*, or *patch* (#7) IMPROVEMENTS: -* [Example usage](examples/default/) added to the examples/default directory (#7) \ No newline at end of file +* [Example usage](examples/default/) added to the examples/default directory (#7) diff --git a/README.md b/README.md index f08d046..3cb0853 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ provider "kubernetes" {} module "terraform-cloud-agent-kubernetes" { source = "redeux/terraform-cloud-agent/kubernetes" - version = "0.1.0" + version = "~> 1.0.1" namespace = "terraform-cloud-agent" create_namespace = true @@ -67,6 +67,8 @@ No modules. | [namespace](#input\_namespace) | The namespace to deploy the agent into. Unless create\_namespace is true, the namespace must already exist. | `string` | n/a | yes | | [requests\_cpu](#input\_requests\_cpu) | CPU requests. | `string` | `"500m"` | no | | [requests\_memory](#input\_requests\_memory) | Memory requests. | `string` | `"250Mi"` | no | +| [service\_account\_annotations](#input\_service\_account\_annotations) | Annotations to add to the Kubernetes service account. Can be used to annotate the IRSA. | `map(string)` | `{}` | no | +| [service\_account\_name](#input\_service\_account\_name) | Name of the service account. | `string` | `"terraform-cloud-agent"` | no | | [tfc\_url](#input\_tfc\_url) | The Terraform Cloud endpoint. Must be changed if using Terraform Enterprise. | `string` | `"https://app.terraform.io"` | no | ## Outputs diff --git a/kubernetes_cluster_role_binding.tf b/kubernetes_cluster_role_binding.tf index 4a29100..dff8cbb 100644 --- a/kubernetes_cluster_role_binding.tf +++ b/kubernetes_cluster_role_binding.tf @@ -21,4 +21,4 @@ resource "kubernetes_cluster_role_binding" "tfc_agent_cluster_role_binding" { name = kubernetes_service_account.tfc_agent_service_account[0].metadata[0].name namespace = var.namespace } -} \ No newline at end of file +} diff --git a/kubernetes_namespace.tf b/kubernetes_namespace.tf index bb99e50..ccb11fc 100644 --- a/kubernetes_namespace.tf +++ b/kubernetes_namespace.tf @@ -10,4 +10,4 @@ resource "kubernetes_namespace" "tfc_agent_namespace" { name = var.namespace } -} \ No newline at end of file +} diff --git a/kubernetes_secret.tf b/kubernetes_secret.tf index 63ddb21..7c34a1c 100644 --- a/kubernetes_secret.tf +++ b/kubernetes_secret.tf @@ -13,4 +13,4 @@ resource "kubernetes_secret" "tfc_agent_token" { data = { "token" = var.agent_token } -} \ No newline at end of file +} diff --git a/kubernetes_service_account.tf b/kubernetes_service_account.tf index 582b81c..64dc07f 100644 --- a/kubernetes_service_account.tf +++ b/kubernetes_service_account.tf @@ -7,8 +7,8 @@ resource "kubernetes_service_account" "tfc_agent_service_account" { "app.kubernetes.io/module-version" = local.module-version "app.kubernetes.io/managed-by" = "terraform" } - - name = "terraform-cloud-agent" - namespace = var.create_namespace ? kubernetes_namespace.tfc_agent_namespace[0].metadata[0].name : var.namespace + name = var.service_account_name + namespace = var.create_namespace ? kubernetes_namespace.tfc_agent_namespace[0].metadata[0].name : var.namespace + annotations = var.service_account_annotations } -} \ No newline at end of file +} diff --git a/variables.tf b/variables.tf index 6dd5e9c..90a763b 100644 --- a/variables.tf +++ b/variables.tf @@ -102,3 +102,14 @@ variable "tfc_url" { description = "The Terraform Cloud endpoint. Must be changed if using Terraform Enterprise." } +variable "service_account_name" { + type = string + default = "terraform-cloud-agent" + description = "Name of the service account." +} + +variable "service_account_annotations" { + type = map(string) + default = {} + description = "Annotations to add to the Kubernetes service account. Can be used to annotate the IRSA." +}