Files
terraform-aws-observability…/modules/eks-monitoring/dashboards.tf
T
Rodrigue Koffi fa38a90efc Move all dashboards to GitOps (#175)
* Typo

* Remove Grafana provider

* Temp: move dashbaords to gitOps

* Move external labels to resource attributes

* Avoid DDoS with using 0.0.0.0

* Pre-commit

* Transition in two steps

Will need to remove provider in a separate version to provide a transition path as removing this will break terraform and leave orphans in the state

* Move patterns' dashboards creation to gitOps

Standardize config objects for patterns as well

* Pre-commit

* Create AMP dashboard from external source with Grafana provider

* Fix deprecated option

* Fix Flux requirements

* Run pre-commit

* Update example with operator

* Cleanup examples

* Update multicluster example

* Update multicluster example

* Drop dead variable

* Update docs

* Change GitOps branch name

* Update docs

* Replacing Secrets Manager to SSM to store Grafana API Key (#178)

* Fixing SSM

* Fixing SSM

* Replacing Secrets Manager with SSM

* Replacing Secrets Manager with SSM

* Update architecture diagram

* Update architecture diagram

* Update README.md

* Update index.md

* Fixing Grafana Operator Version

* Fix multicluster example

* Update docs

---------

Co-authored-by: Ela AWS <51791117+elamaran11@users.noreply.github.com>
Co-authored-by: Elamaran Shanmugam <elamaran.shan@gmail.com>
2023-06-12 18:00:42 +02:00

49 lines
1.5 KiB
Terraform

resource "kubectl_manifest" "flux_gitrepository" {
count = var.enable_dashboards ? 1 : 0
yaml_body = <<YAML
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: GitRepository
metadata:
name: ${var.flux_gitrepository_name}
namespace: flux-system
spec:
interval: 5m0s
url: ${var.flux_gitrepository_url}
ref:
branch: ${var.flux_gitrepository_branch}
YAML
depends_on = [module.external_secrets]
}
resource "kubectl_manifest" "flux_kustomization" {
yaml_body = <<YAML
apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
kind: Kustomization
metadata:
name: ${var.flux_kustomization_name}
namespace: flux-system
spec:
interval: 1m0s
path: ${var.flux_kustomization_path}
prune: true
sourceRef:
kind: GitRepository
name: ${var.flux_gitrepository_name}
postBuild:
substitute:
AMG_AWS_REGION: ${var.managed_prometheus_workspace_region}
AMP_ENDPOINT_URL: ${var.managed_prometheus_workspace_endpoint}
AMG_ENDPOINT_URL: ${var.grafana_url}
GRAFANA_CLUSTER_DASH_URL: ${var.grafana_cluster_dashboard_url}
GRAFANA_KUBELET_DASH_URL: ${var.grafana_kubelet_dashboard_url}
GRAFANA_NSWRKLDS_DASH_URL: ${var.grafana_namespace_workloads_dashboard_url}
GRAFANA_NODEEXP_DASH_URL: ${var.grafana_node_exporter_dashboard_url}
GRAFANA_NODES_DASH_URL: ${var.grafana_nodes_dashboard_url}
GRAFANA_WORKLOADS_DASH_URL: ${var.grafana_workloads_dashboard_url}
YAML
count = var.enable_dashboards ? 1 : 0
depends_on = [module.external_secrets]
}