Skip to content

feat: add new scaletest infrastructure #15573

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 24 commits into from
Dec 12, 2024
Prev Previous commit
Next Next commit
eu
  • Loading branch information
f0ssel committed Dec 3, 2024
commit 8f21ee4e5253cd8b457ea64761e78b470cd7bc8f
117 changes: 60 additions & 57 deletions scaletest/terraform/new/k8s_certmanager.tf
Original file line number Diff line number Diff line change
@@ -1,65 +1,68 @@
locals {
cert_manager_namespace = "cert-manager"
cert_manager_helm_repo = "https://charts.jetstack.io"
cert_manager_helm_chart = "cert-manager"
cert_manager_release_name = "cert-manager"
cert_manager_chart_version = "1.12.2"
cloudflare_issuer_private_key_secret_name = "cloudflare-issuer-private-key"
}
# locals {
# cert_manager_namespace = "cert-manager"
# cert_manager_helm_repo = "https://charts.jetstack.io"
# cert_manager_helm_chart = "cert-manager"
# cert_manager_release_name = "cert-manager"
# cert_manager_chart_version = "1.16.2"
# cloudflare_issuer_private_key_secret_name = "cloudflare-issuer-private-key"
# }

resource "kubernetes_secret" "cloudflare-api-key" {
provider = kubernetes.primary
# resource "kubernetes_secret" "cloudflare-api-key" {
# provider = kubernetes.primary

metadata {
name = "cloudflare-api-key-secret"
namespace = local.cert_manager_namespace
}
data = {
api-token = var.cloudflare_api_token
}
}
# metadata {
# name = "cloudflare-api-key-secret"
# namespace = local.cert_manager_namespace
# }
# data = {
# api-token = var.cloudflare_api_token
# }
# }

resource "kubernetes_namespace" "cert-manager-namespace" {
provider = kubernetes.primary
# resource "kubernetes_namespace" "cert-manager-namespace" {
# provider = kubernetes.primary

metadata {
name = local.cert_manager_namespace
}
}
# metadata {
# name = local.cert_manager_namespace
# }
# }

resource "helm_release" "cert-manager" {
provider = helm.primary
# resource "helm_release" "cert-manager" {
# provider = helm.primary

repository = local.cert_manager_helm_repo
chart = local.cert_manager_helm_chart
name = local.cert_manager_release_name
namespace = kubernetes_namespace.cert-manager-namespace.metadata.0.name
values = [<<EOF
installCRDs: true
EOF
]
}
# repository = local.cert_manager_helm_repo
# chart = local.cert_manager_helm_chart
# name = local.cert_manager_release_name
# namespace = kubernetes_namespace.cert-manager-namespace.metadata.0.name
# values = [<<EOF
# installCRDs: true
# webhook:
# securePort: 10250
# EOF
# ]
# }

resource "kubectl_manifest" "cloudflare-cluster-issuer" {
provider = kubectl.primary
# resource "kubectl_manifest" "cloudflare-issuer" {
# provider = kubectl.primary

depends_on = [ helm_release.cert-manager ]
yaml_body = <<YAML
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: cloudflare-issuer
spec:
acme:
email: ${var.cloudflare_email}
server: https://acme-staging-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: ${local.cloudflare_issuer_private_key_secret_name}
solvers:
- dns01:
cloudflare:
apiTokenSecretRef:
name: ${kubernetes_secret.cloudflare-api-key.metadata.0.name}
key: api-token
YAML
}
# depends_on = [ helm_release.cert-manager ]
# yaml_body = <<YAML
# apiVersion: cert-manager.io/v1
# kind: Issuer
# metadata:
# name: cloudflare-issuer
# namespace: ${kubernetes_namespace.cert-manager-namespace.metadata.0.name}
# spec:
# acme:
# email: ${var.cloudflare_email}
# server: https://acme-staging-v02.api.letsencrypt.org/directory
# privateKeySecretRef:
# name: ${local.cloudflare_issuer_private_key_secret_name}
# solvers:
# - dns01:
# cloudflare:
# apiTokenSecretRef:
# name: ${kubernetes_secret.cloudflare-api-key.metadata.0.name}
# key: api-token
# YAML
# }
Loading
Loading