Files
terraform-app-influx/influxdb2.tf
2025-01-15 06:14:05 +01:00

63 lines
1.8 KiB
HCL

module "influxdb_persistance" {
source = "git@git.thomasklein.me:thomasklein/terraform-modules//9p-persistent-volume"
namespace = kubernetes_namespace.this.metadata.0.name
name = "influxdb"
volume_storage_capacity = "20Gi"
}
resource "helm_release" "influx" {
name = "influxdb"
namespace = kubernetes_namespace.this.metadata.0.name
repository = "https://helm.influxdata.com/"
chart = "influxdb2"
version = "2.1.2"
values = [
jsonencode({
image = {
tag = "2.7.11-alpine"
}
}),
jsonencode({
ingress = {
enabled = true
hostname = local.influx_domain
tls = true
secretName = "influxdb-tls"
annotations = {
"cert-manager.io/cluster-issuer" = "acme-thomasklein-me"
# "kubernetes.io/ingress.class" = "traefik"
# "traefik.ingress.kubernetes.io/router.entrypoints" = "websecure"
# "traefik.ingress.kubernetes.io/router.tls" = "true"
# "traefik.ingress.kubernetes.io/router.tls.certresolver" = "acme-thomasklein-me"
# "traefik.ingress.kubernetes.io/router.tls.domains.0.main" = local.ingress_domain
# "traefik.ingress.kubernetes.io/router.middlewares" = "redirect-metrics@file" # hide /metrics from the internet
}
labels = {}
}
}),
jsonencode({
persistence = {
enabled = "true"
useExisting = true
name = module.influxdb_persistance.pvc_name
}
}),
jsonencode({
adminUser = {
organization = "thomasklein"
user = "admin"
retention_policy = "90d"
existingSecret = kubernetes_secret.influxdb_auth.metadata.0.name
}
}),
]
}