This commit is contained in:
10
README.md
10
README.md
@@ -27,7 +27,13 @@ The following providers are used by this module:
|
|||||||
|
|
||||||
## Modules
|
## Modules
|
||||||
|
|
||||||
No modules.
|
The following Modules are called:
|
||||||
|
|
||||||
|
### <a name="module_grafana_persistance"></a> [grafana\_persistance](#module\_grafana\_persistance)
|
||||||
|
|
||||||
|
Source: git@git.thomasklein.me:thomasklein/terraform-modules//9p-persistent-volume
|
||||||
|
|
||||||
|
Version:
|
||||||
|
|
||||||
## Resources
|
## 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)
|
- [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)
|
- [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_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_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)
|
- [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) (data source)
|
||||||
|
|
||||||
|
|||||||
18
helm.tf
18
helm.tf
@@ -4,22 +4,24 @@ resource "helm_release" "this" {
|
|||||||
|
|
||||||
repository = "https://grafana.github.io/helm-charts"
|
repository = "https://grafana.github.io/helm-charts"
|
||||||
chart = "grafana"
|
chart = "grafana"
|
||||||
version = "6.44.8"
|
version = "6.50.7"
|
||||||
|
|
||||||
values = [
|
values = [
|
||||||
jsonencode({
|
jsonencode({
|
||||||
ingress = {
|
ingress = {
|
||||||
enabled = true
|
enabled = true
|
||||||
hosts = [local.ingress_domain]
|
hosts = [local.ingress_domain]
|
||||||
|
ingressClassName = "traefik"
|
||||||
annotations = {
|
annotations = {
|
||||||
"kubernetes.io/ingress.class" = "traefik"
|
"cert-manager.io/cluster-issuer" = "acme-thomasklein-me"
|
||||||
"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 = {}
|
labels = {}
|
||||||
|
tls = [
|
||||||
|
{
|
||||||
|
hosts = [local.ingress_domain]
|
||||||
|
secretName = "grafana-thomasklein-me-tls"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
|
||||||
@@ -27,7 +29,7 @@ resource "helm_release" "this" {
|
|||||||
persistence = {
|
persistence = {
|
||||||
enabled = "true"
|
enabled = "true"
|
||||||
type = "pvc"
|
type = "pvc"
|
||||||
existingClaim = kubernetes_persistent_volume_claim.this.metadata.0.name
|
existingClaim = module.grafana_persistance.pvc_name
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
|||||||
38
volume.tf
38
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"
|
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user