nixfiles/cluster/cloudflare.tf

81 lines
No EOL
1.9 KiB
HCL

/*---
apiVersion: v1
kind: Secret
metadata:
name: cloudflare
namespace: traefik
type: Opaque
stringData:
api-token: XXX
---
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
name: cloudflare
namespace: traefik
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: email@example.com
privateKeySecretRef:
name: cloudflare-key
solvers:
- dns01:
cloudflare:
email: email@example.com
apiTokenSecretRef:
name: cloudflare
key: api-token
*/
variable "cloudflare_api_token" {
type = string
}
/*resource "kubernetes_secret" "cloudflare_api_token" {
metadata {
name = "cloudflare-api-token"
namespace = "traefik"
}
data = {
api-token = var.cloudflare_api_token
}
type = "Opaque"
}
resource "kubernetes_manifest" "cert_manager_cloudflare_issuer" {
depends_on = [
helm_release.traefik
]
manifest = {
"apiVersion" = "cert-manager.io/v1"
"kind" = "Issuer"
"metadata" = {
"name" = "cloudflare"
"namespace" = "traefik"
}
"spec" = {
"acme" = {
"email" = "acme@inskip.me"
"privateKeySecretRef" = {
"name" = "cloudflare-key"
}
"server" = "https://acme-v02.api.letsencrypt.org/directory"
"solvers" = [
{
"dns01" = {
"cloudflare" = {
"apiTokenSecretRef" = {
"key" = "api-token"
"name" = "cloudflare-api-token"
}
"email" = "kat@inskip.me"
}
}
},
]
}
}
}
}*/