diff --git a/README.md b/README.md index 2ad0d3b..bd3a174 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,13 @@ The following providers are used by this module: ## Modules -No modules. +The following Modules are called: + +### [grafana\_persistance](#module\_grafana\_persistance) + +Source: git@git.thomasklein.me:thomasklein/terraform-modules//9p-persistent-volume + +Version: ## Resources @@ -36,8 +42,6 @@ The following resources are used by this module: - [aws_cognito_user_pool_client.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cognito_user_pool_client) (resource) - [helm_release.this](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) (resource) - [kubernetes_namespace.this](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) (resource) -- [kubernetes_persistent_volume.this](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/persistent_volume) (resource) -- [kubernetes_persistent_volume_claim.this](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/persistent_volume_claim) (resource) - [aws_cognito_user_pools.thomasklein_infra](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/cognito_user_pools) (data source) - [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) (data source) diff --git a/helm.tf b/helm.tf index 96b0fb9..2d7d18d 100644 --- a/helm.tf +++ b/helm.tf @@ -4,22 +4,24 @@ resource "helm_release" "this" { repository = "https://grafana.github.io/helm-charts" chart = "grafana" - version = "6.44.8" + version = "6.50.7" values = [ jsonencode({ ingress = { - enabled = true - hosts = [local.ingress_domain] + enabled = true + hosts = [local.ingress_domain] + ingressClassName = "traefik" annotations = { - "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 + "cert-manager.io/cluster-issuer" = "acme-thomasklein-me" } labels = {} + tls = [ + { + hosts = [local.ingress_domain] + secretName = "grafana-thomasklein-me-tls" + } + ] } }), @@ -27,7 +29,7 @@ resource "helm_release" "this" { persistence = { enabled = "true" type = "pvc" - existingClaim = kubernetes_persistent_volume_claim.this.metadata.0.name + existingClaim = module.grafana_persistance.pvc_name } }), diff --git a/volume.tf b/volume.tf index 69c8048..0f500b4 100644 --- a/volume.tf +++ b/volume.tf @@ -1,36 +1,8 @@ -locals { +module "grafana_persistance" { + source = "git@git.thomasklein.me:thomasklein/terraform-modules//9p-persistent-volume" + + namespace = kubernetes_namespace.this.metadata.0.name + name = "grafana" volume_storage_capacity = "1Gi" } -resource "kubernetes_persistent_volume" "this" { - metadata { - name = "pv-p9hostpath-grafana" - } - spec { - capacity = { - storage = local.volume_storage_capacity - } - access_modes = ["ReadWriteMany"] - persistent_volume_source { - host_path { - path = "/mnt/datastore/grafana" - } - } - } -} - -resource "kubernetes_persistent_volume_claim" "this" { - metadata { - name = "grafana" - namespace = kubernetes_namespace.this.metadata.0.name - } - spec { - access_modes = ["ReadWriteMany"] - resources { - requests = { - storage = local.volume_storage_capacity - } - } - volume_name = kubernetes_persistent_volume.this.metadata.0.name - } -}