File tree Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Expand file tree Collapse file tree 1 file changed +53
-0
lines changed Original file line number Diff line number Diff line change 1+ terraform {
2+ required_providers {
3+ kubectl = {
4+ source = " gavinbunney/kubectl"
5+ version = " ~> 1.14"
6+ }
7+ }
8+ }
9+
10+ provider "kubectl" {
11+ config_path = " ~/.kube/config"
12+ }
13+
14+ # 1. Create monitoring namespace
15+ resource "kubectl_manifest" "monitoring_namespace" {
16+ yaml_body = << YAML
17+ apiVersion: v1
18+ kind: Namespace
19+ metadata:
20+ name: monitoring
21+ YAML
22+ }
23+
24+
25+
26+ # Deploy Node Exporter DaemonSet + Service
27+ resource "kubectl_manifest" "node_exporter" {
28+ yaml_body = file (" ${ path . module } /manifests/node-exporter.yaml" )
29+ depends_on = [kubectl_manifest . monitoring_namespace ]
30+ }
31+
32+ # Deploy Node Exporter DaemonSet - Service
33+
34+
35+ resource "kubectl_manifest" "node-exporter-service" {
36+ yaml_body = file (" ${ path . module } /manifests/node-exporter-service.yaml" )
37+ depends_on = [kubectl_manifest . monitoring_namespace ]
38+ }
39+
40+ # (Optional) Use SHA hash to force reapply if manifest changes
41+ locals {
42+ node_exporter_hash = filesha256 (" ${ path . module } /manifests/node-exporter.yaml" )
43+ }
44+
45+ resource "null_resource" "trigger_node_exporter_restart" {
46+ triggers = {
47+ config_hash = local.node_exporter_hash
48+ }
49+
50+ provisioner "local-exec" {
51+ command = " kubectl rollout restart daemonset/node-exporter -n monitoring || true"
52+ }
53+ # }
You can’t perform that action at this time.
0 commit comments