Skip to content

Commit

Permalink
Grafana dashboards loading
Browse files Browse the repository at this point in the history
  - Store dashboad as configmap
  - Mount dashboard config map to Grafana
  • Loading branch information
Venkata Challa committed Mar 11, 2024
1 parent 2183265 commit fd631e4
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 0 deletions.
8 changes: 8 additions & 0 deletions cluster/terraform_kubernetes/config/dashboards.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: 1
providers:
- name: 'default'
orgId: 1
folder: ''
type: file
options:
path: /var/lib/grafana/dashboards
46 changes: 46 additions & 0 deletions cluster/terraform_kubernetes/grafana.tf
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,17 @@ resource "kubernetes_deployment" "grafana_deployment" {
name = "grafana-datasources"
mount_path = "/etc/grafana/provisioning/datasources"
}

volume_mount {
name = "grafana-dashboard-provisioning"
mount_path = "/etc/grafana/provisioning/dashboards"
}

volume_mount {

name = "grafana-dashboards"
mount_path = "/var/lib/grafana/dashboards"
}
}
volume {
name = "grafana-datasources"
Expand All @@ -90,6 +101,19 @@ resource "kubernetes_deployment" "grafana_deployment" {
name = "grafana-storage"
empty_dir {}
}
volume {
name = "grafana-dashboard-provisioning"
config_map {
name = kubernetes_config_map.grafana_dashboard_provisioning.metadata[0].name
}
}
volume {
name = "grafana-dashboards"
config_map {
name = kubernetes_config_map.grafana_dashboards.metadata[0].name
}
}

}
}
}
Expand All @@ -112,3 +136,25 @@ resource "kubernetes_service" "grafana_service" {
}
}
}

resource "kubernetes_config_map" "grafana_dashboards" {
metadata {
name = "grafana-dashboards"
namespace = kubernetes_namespace.default_list["monitoring"].metadata[0].name
}

data = {
"dashboard1.json" = file("${path.module}/config/dashboards/kubernetes-cluster.json")
}
}

resource "kubernetes_config_map" "grafana_dashboard_provisioning" {
metadata {
name = "grafana-dashboard-provisioning"
namespace = kubernetes_namespace.default_list["monitoring"].metadata[0].name
}

data = {
"dashboards.yaml" = file("${path.module}/config/dashboards.yaml")
}
}

0 comments on commit fd631e4

Please sign in to comment.