From d73dc305847eaa9eb8a6b3d02a3f69986924c66f Mon Sep 17 00:00:00 2001 From: Rodrigue Koffi Date: Thu, 28 Jul 2022 13:29:01 +0200 Subject: [PATCH] Drop unused module --- modules/core/cert-manager/README.md | 69 ------------------- .../cert-manager/cert-manager-ca/Chart.yaml | 6 -- .../templates/certificate.yaml | 21 ------ .../templates/clusterissuers.yaml | 14 ---- .../cert-manager/cert-manager-ca/values.yaml | 13 ---- .../cert-manager-letsencrypt/Chart.yaml | 6 -- .../templates/clusterissuer-production.yaml | 27 -------- .../templates/clusterissuer-staging.yaml | 27 -------- .../cert-manager-letsencrypt/values.yaml | 6 -- modules/core/cert-manager/data.tf | 32 --------- modules/core/cert-manager/locals.tf | 45 ------------ modules/core/cert-manager/main.tf | 47 ------------- modules/core/cert-manager/outputs.tf | 9 --- modules/core/cert-manager/values.yaml | 8 --- modules/core/cert-manager/variables.tf | 51 -------------- modules/core/cert-manager/versions.tf | 14 ---- 16 files changed, 395 deletions(-) delete mode 100644 modules/core/cert-manager/README.md delete mode 100644 modules/core/cert-manager/cert-manager-ca/Chart.yaml delete mode 100644 modules/core/cert-manager/cert-manager-ca/templates/certificate.yaml delete mode 100644 modules/core/cert-manager/cert-manager-ca/templates/clusterissuers.yaml delete mode 100644 modules/core/cert-manager/cert-manager-ca/values.yaml delete mode 100644 modules/core/cert-manager/cert-manager-letsencrypt/Chart.yaml delete mode 100644 modules/core/cert-manager/cert-manager-letsencrypt/templates/clusterissuer-production.yaml delete mode 100644 modules/core/cert-manager/cert-manager-letsencrypt/templates/clusterissuer-staging.yaml delete mode 100644 modules/core/cert-manager/cert-manager-letsencrypt/values.yaml delete mode 100644 modules/core/cert-manager/data.tf delete mode 100644 modules/core/cert-manager/locals.tf delete mode 100644 modules/core/cert-manager/main.tf delete mode 100644 modules/core/cert-manager/outputs.tf delete mode 100644 modules/core/cert-manager/values.yaml delete mode 100644 modules/core/cert-manager/variables.tf delete mode 100644 modules/core/cert-manager/versions.tf diff --git a/modules/core/cert-manager/README.md b/modules/core/cert-manager/README.md deleted file mode 100644 index 9db6d79..0000000 --- a/modules/core/cert-manager/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# Cert Manager Deployment Guide - -## Introduction - -Cert Manager adds certificates and certificate issuers as resource types in Kubernetes clusters, and simplifies the process of obtaining, renewing and using those certificates. - -## Helm Chart - -### Instructions to use the Helm Chart - -See the [cert-manager documentation](https://cert-manager.io/docs/installation/helm/). - -# Docker Image for Cert Manager - -cert-manager docker image is available at this repo: - - - - -## Requirements - -| Name | Version | -|------|---------| -| [terraform](#requirement\_terraform) | >= 1.0.0 | -| [aws](#requirement\_aws) | >= 4.10 | -| [helm](#requirement\_helm) | >= 2.4.1 | - -## Providers - -| Name | Version | -|------|---------| -| [aws](#provider\_aws) | >= 4.10 | -| [helm](#provider\_helm) | >= 2.4.1 | - -## Modules - -| Name | Source | Version | -|------|--------|---------| -| [helm\_addon](#module\_helm\_addon) | ../helm-addon | n/a | - -## Resources - -| Name | Type | -|------|------| -| [aws_iam_policy.cert_manager](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource | -| [helm_release.cert_manager_ca](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource | -| [helm_release.cert_manager_letsencrypt](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource | -| [aws_iam_policy_document.cert_manager_iam_policy_document](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | -| [aws_route53_zone.selected](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/route53_zone) | data source | - -## Inputs - -| Name | Description | Type | Default | Required | -|------|-------------|------|---------|:--------:| -| [addon\_context](#input\_addon\_context) | Input configuration for the addon |
object({
aws_caller_identity_account_id = string
aws_caller_identity_arn = string
aws_eks_cluster_endpoint = string
aws_partition_id = string
aws_region_name = string
eks_cluster_id = string
eks_oidc_issuer_url = string
eks_oidc_provider_arn = string
tags = map(string)
irsa_iam_role_path = string
})
| n/a | yes | -| [domain\_names](#input\_domain\_names) | Domain names of the Route53 hosted zone to use with cert-manager. | `list(string)` | `[]` | no | -| [helm\_config](#input\_helm\_config) | cert-manager Helm chart configuration | `any` | `{}` | no | -| [install\_letsencrypt\_issuers](#input\_install\_letsencrypt\_issuers) | Install Let's Encrypt Cluster Issuers. | `bool` | `true` | no | -| [irsa\_policies](#input\_irsa\_policies) | Additional IAM policies used for the add-on service account. | `list(string)` | `[]` | no | -| [letsencrypt\_email](#input\_letsencrypt\_email) | Email address for expiration emails from Let's Encrypt. | `string` | `""` | no | -| [manage\_via\_gitops](#input\_manage\_via\_gitops) | Determines if the add-on should be managed via GitOps. | `bool` | `false` | no | - -## Outputs - -| Name | Description | -|------|-------------| -| [argocd\_gitops\_config](#output\_argocd\_gitops\_config) | Configuration used for managing the add-on with ArgoCD | -| [eks\_cluster\_id](#output\_eks\_cluster\_id) | Current AWS EKS Cluster ID | - diff --git a/modules/core/cert-manager/cert-manager-ca/Chart.yaml b/modules/core/cert-manager/cert-manager-ca/Chart.yaml deleted file mode 100644 index 364b25e..0000000 --- a/modules/core/cert-manager/cert-manager-ca/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: cert-manager-ca -description: A Helm chart to install a Cert Manager CA -type: application -version: 0.2.0 -appVersion: v0.1.0 diff --git a/modules/core/cert-manager/cert-manager-ca/templates/certificate.yaml b/modules/core/cert-manager/cert-manager-ca/templates/certificate.yaml deleted file mode 100644 index 25c1240..0000000 --- a/modules/core/cert-manager/cert-manager-ca/templates/certificate.yaml +++ /dev/null @@ -1,21 +0,0 @@ -{{- range .Values.clusterIssuers }} -{{- if eq .type "CA" }} -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: {{ .name }} - namespace: {{ $.Release.Namespace }} -spec: - isCA: true - commonName: {{ .name }} - secretName: {{ .secretName }} - {{- with .privateKey }} - privateKey: - {{- toYaml . | nindent 4 }} - {{- end }} - {{- with .issuer }} - issuerRef: - {{- toYaml . | nindent 4 }} - {{- end }} -{{- end }} -{{- end }} diff --git a/modules/core/cert-manager/cert-manager-ca/templates/clusterissuers.yaml b/modules/core/cert-manager/cert-manager-ca/templates/clusterissuers.yaml deleted file mode 100644 index 86040a2..0000000 --- a/modules/core/cert-manager/cert-manager-ca/templates/clusterissuers.yaml +++ /dev/null @@ -1,14 +0,0 @@ -{{- range .Values.clusterIssuers }} ---- -apiVersion: cert-manager.io/v1 -kind: ClusterIssuer -metadata: - name: {{ .name }} -spec: - {{- if eq .type "selfSigned" }} - selfSigned: {} - {{- else if eq .type "CA" }} - ca: - secretName: {{ .secretName }} - {{- end }} -{{- end }} diff --git a/modules/core/cert-manager/cert-manager-ca/values.yaml b/modules/core/cert-manager/cert-manager-ca/values.yaml deleted file mode 100644 index 02e952b..0000000 --- a/modules/core/cert-manager/cert-manager-ca/values.yaml +++ /dev/null @@ -1,13 +0,0 @@ -clusterIssuers: - - name: cert-manager-selfsigned - type: selfSigned - - name: cert-manager-ca - type: CA - secretName: cert-manager-ca-root - privateKey: - algorithm: ECDSA - size: 256 - issuer: - name: cert-manager-selfsigned - kind: ClusterIssuer - group: cert-manager.io diff --git a/modules/core/cert-manager/cert-manager-letsencrypt/Chart.yaml b/modules/core/cert-manager/cert-manager-letsencrypt/Chart.yaml deleted file mode 100644 index 1ba9f1b..0000000 --- a/modules/core/cert-manager/cert-manager-letsencrypt/Chart.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: v2 -name: cert-manager-letsencrypt -description: Cert Manager Cluster Issuers for Let's Encrypt certificates with DNS01 protocol -type: application -version: 0.1.0 -appVersion: v0.1.0 diff --git a/modules/core/cert-manager/cert-manager-letsencrypt/templates/clusterissuer-production.yaml b/modules/core/cert-manager/cert-manager-letsencrypt/templates/clusterissuer-production.yaml deleted file mode 100644 index b0c93cb..0000000 --- a/modules/core/cert-manager/cert-manager-letsencrypt/templates/clusterissuer-production.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: cert-manager.io/v1 -kind: ClusterIssuer -metadata: - name: {{ .Release.Name }}-production-route53 - labels: - ca: letsencrypt - environment: production - solver: dns01 - provider: route53 -spec: - acme: - {{- if .Values.email }} - email: {{ .Values.email }} - {{- end }} - server: https://acme-v02.api.letsencrypt.org/directory - preferredChain: ISRG Root X1 - privateKeySecretRef: - name: {{ .Release.Name }}-production-route53 - solvers: - - dns01: - route53: - region: {{ .Values.region | default "global" }} - {{- if .Values.dnsZones }} - selector: - dnsZones: - {{- .Values.dnsZones | toYaml | nindent 12 }} - {{- end }} diff --git a/modules/core/cert-manager/cert-manager-letsencrypt/templates/clusterissuer-staging.yaml b/modules/core/cert-manager/cert-manager-letsencrypt/templates/clusterissuer-staging.yaml deleted file mode 100644 index 765ae0d..0000000 --- a/modules/core/cert-manager/cert-manager-letsencrypt/templates/clusterissuer-staging.yaml +++ /dev/null @@ -1,27 +0,0 @@ -apiVersion: cert-manager.io/v1 -kind: ClusterIssuer -metadata: - name: {{ .Release.Name }}-staging-route53 - labels: - ca: letsencrypt - environment: staging - solver: dns01 - provider: route53 -spec: - acme: - {{- if .Values.email }} - email: {{ .Values.email }} - {{- end }} - server: https://acme-staging-v02.api.letsencrypt.org/directory - preferredChain: ISRG Root X1 - privateKeySecretRef: - name: {{ .Release.Name }}-staging-route53 - solvers: - - dns01: - route53: - region: {{ .Values.region | default "global" }} - {{- if .Values.dnsZones }} - selector: - dnsZones: - {{- .Values.dnsZones | toYaml | nindent 12 }} - {{- end }} diff --git a/modules/core/cert-manager/cert-manager-letsencrypt/values.yaml b/modules/core/cert-manager/cert-manager-letsencrypt/values.yaml deleted file mode 100644 index 49c7071..0000000 --- a/modules/core/cert-manager/cert-manager-letsencrypt/values.yaml +++ /dev/null @@ -1,6 +0,0 @@ -# email: user@example.com - -# region: global - -# dnsZones: -# - domain.name diff --git a/modules/core/cert-manager/data.tf b/modules/core/cert-manager/data.tf deleted file mode 100644 index 1f9304a..0000000 --- a/modules/core/cert-manager/data.tf +++ /dev/null @@ -1,32 +0,0 @@ -data "aws_route53_zone" "selected" { - for_each = toset(var.domain_names) - - name = each.key -} - -data "aws_iam_policy_document" "cert_manager_iam_policy_document" { - statement { - effect = "Allow" - resources = ["arn:${var.addon_context.aws_partition_id}:route53:::change/*"] - actions = ["route53:GetChange"] - } - - dynamic "statement" { - for_each = { for k, v in toset(var.domain_names) : k => data.aws_route53_zone.selected[k].arn } - - content { - effect = "Allow" - resources = [statement.value] - actions = [ - "route53:ChangeresourceRecordSets", - "route53:ListresourceRecordSets" - ] - } - } - - statement { - effect = "Allow" - resources = ["*"] - actions = ["route53:ListHostedZonesByName"] - } -} diff --git a/modules/core/cert-manager/locals.tf b/modules/core/cert-manager/locals.tf deleted file mode 100644 index 9afc1c0..0000000 --- a/modules/core/cert-manager/locals.tf +++ /dev/null @@ -1,45 +0,0 @@ -locals { - name = "cert-manager" - service_account_name = "cert-manager" # AWS PrivateCA is expecting the service account name as `cert-manager` - - default_helm_config = { - name = local.name - chart = local.name - repository = "https://charts.jetstack.io" - version = "v1.8.0" - namespace = local.name - description = "Cert Manager Add-on" - values = local.default_helm_values - } - - default_helm_values = [templatefile("${path.module}/values.yaml", {})] - - helm_config = merge( - local.default_helm_config, - var.helm_config - ) - - set_values = [ - { - name = "serviceAccount.name" - value = local.service_account_name - }, - { - name = "serviceAccount.create" - value = false - } - ] - - irsa_config = { - kubernetes_namespace = local.helm_config["namespace"] - kubernetes_service_account = local.service_account_name - create_kubernetes_namespace = try(local.helm_config["create_namespace"], true) - create_kubernetes_service_account = true - irsa_iam_policies = concat([aws_iam_policy.cert_manager.arn], var.irsa_policies) - } - - argocd_gitops_config = { - enable = true - serviceAccountName = local.service_account_name - } -} diff --git a/modules/core/cert-manager/main.tf b/modules/core/cert-manager/main.tf deleted file mode 100644 index 7d137ac..0000000 --- a/modules/core/cert-manager/main.tf +++ /dev/null @@ -1,47 +0,0 @@ -module "helm_addon" { - source = "../helm-addon" - manage_via_gitops = var.manage_via_gitops - set_values = local.set_values - helm_config = local.helm_config - irsa_config = local.irsa_config - addon_context = var.addon_context -} - -resource "helm_release" "cert_manager_ca" { - count = var.manage_via_gitops ? 0 : 1 - name = "cert-manager-ca" - chart = "${path.module}/cert-manager-ca" - version = "0.2.0" - namespace = local.helm_config["namespace"] - - depends_on = [module.helm_addon] -} - -resource "helm_release" "cert_manager_letsencrypt" { - count = var.manage_via_gitops || !var.install_letsencrypt_issuers ? 0 : 1 - name = "cert-manager-letsencrypt" - chart = "${path.module}/cert-manager-letsencrypt" - version = "0.1.0" - namespace = local.helm_config["namespace"] - - set { - name = "email" - value = var.letsencrypt_email - type = "string" - } - - set { - name = "dnsZones" - value = "{${join(",", toset(var.domain_names))}}" - type = "string" - } - - depends_on = [module.helm_addon] -} - -resource "aws_iam_policy" "cert_manager" { - description = "cert-manager IAM policy." - name = "${var.addon_context.eks_cluster_id}-${local.helm_config["name"]}-irsa" - path = var.addon_context.irsa_iam_role_path - policy = data.aws_iam_policy_document.cert_manager_iam_policy_document.json -} diff --git a/modules/core/cert-manager/outputs.tf b/modules/core/cert-manager/outputs.tf deleted file mode 100644 index 42f0003..0000000 --- a/modules/core/cert-manager/outputs.tf +++ /dev/null @@ -1,9 +0,0 @@ -output "argocd_gitops_config" { - description = "Configuration used for managing the add-on with ArgoCD" - value = var.manage_via_gitops ? local.argocd_gitops_config : null -} - -output "eks_cluster_id" { - description = "Current AWS EKS Cluster ID" - value = var.addon_context.eks_cluster_id -} diff --git a/modules/core/cert-manager/values.yaml b/modules/core/cert-manager/values.yaml deleted file mode 100644 index 345aa9b..0000000 --- a/modules/core/cert-manager/values.yaml +++ /dev/null @@ -1,8 +0,0 @@ -extraArgs: - - --enable-certificate-owner-ref=true - -installCRDs: true - -securityContext: - enabled: true - fsGroup: 1001 diff --git a/modules/core/cert-manager/variables.tf b/modules/core/cert-manager/variables.tf deleted file mode 100644 index 467f124..0000000 --- a/modules/core/cert-manager/variables.tf +++ /dev/null @@ -1,51 +0,0 @@ -variable "helm_config" { - description = "cert-manager Helm chart configuration" - type = any - default = {} -} - -variable "manage_via_gitops" { - description = "Determines if the add-on should be managed via GitOps." - type = bool - default = false -} - -variable "irsa_policies" { - description = "Additional IAM policies used for the add-on service account." - type = list(string) - default = [] -} - -variable "domain_names" { - description = "Domain names of the Route53 hosted zone to use with cert-manager." - type = list(string) - default = [] -} - -variable "install_letsencrypt_issuers" { - description = "Install Let's Encrypt Cluster Issuers." - type = bool - default = true -} - -variable "letsencrypt_email" { - description = "Email address for expiration emails from Let's Encrypt." - type = string - default = "" -} - -variable "addon_context" { - description = "Input configuration for the addon" - type = object({ - aws_caller_identity_account_id = string - aws_caller_identity_arn = string - aws_eks_cluster_endpoint = string - aws_partition_id = string - aws_region_name = string - eks_cluster_id = string - eks_oidc_issuer_url = string - eks_oidc_provider_arn = string - tags = map(string) - irsa_iam_role_path = string - }) -} diff --git a/modules/core/cert-manager/versions.tf b/modules/core/cert-manager/versions.tf deleted file mode 100644 index aca51a0..0000000 --- a/modules/core/cert-manager/versions.tf +++ /dev/null @@ -1,14 +0,0 @@ -terraform { - required_version = ">= 1.0.0" - - required_providers { - aws = { - source = "hashicorp/aws" - version = ">= 4.10" - } - helm = { - source = "hashicorp/helm" - version = ">= 2.4.1" - } - } -}