gke-kube-prometheus-stack
ammilam/gke-kube-prometheus-stack/google
kube-prometheus-stack module This terraform module deploys a kube-prometheus-stack helm chart and supporting resources onto a GKE cluster. The helm chart is configured to use create GCE ingresses with the option for Google OpenID Connect to be enabled for Grafana. Table of Contents Prerequisites Configuring Kubernetes and Helm Providers Usage Configuration Options Prometheus Prometheus Scrape Configs Example Scrape Config Prometheus Rules Example PrometheusRule Alertmanager Webhook Alert Channels Example Webhook Alert Channel Grafana Grafana Dashboards Prerequisites Have a GKE cluster to deploy this into in the first place Have a Google Metrics Scope configured * Have helm and kubernetes provider configs that reference a gke cluster's endpoint, cluster cert, and oauth access token Configur
| Name | Type | Description | Default |
|---|---|---|---|
| alertmanager_webhook_receivers | any | alert channels for a chat client | required |
| metrics_scope_project_id | string | Monitoring Scope Project | required |
| suffix | string | required | |
| namespace | string | Namespace to install kube-prometheus-stack and related resources into | required |
| prometheus_scrape_configs | any | additional scrape configs for prometheus | required |
| project_id | string | Project that contains the GKE cluster to deploy prometheus-stack into | required |
| grafana_tls_private_key | string | Grafana TLS private key | "" |
| region | string | "us-central1" | |
| alertmanager_enabled | bool | true | |
| grafana_oauth_client_id | string | Grafana OAuth client ID | "" |
| pushgateway_resource_cpu_limit | string | pushgateway pod cpu limit | "2" |
| grafana_oidc_enabled | bool | Enable OpenID Connect with Google for Grafana | false |
| chart_repository | string | Helm chart repository for kube-prometheus-stack | "https://prometheus-community.github.io/ |
| dns_public_zone | string | Public Managed Zone | "" |
| alertmanager_replicas | number | Count of Alertmanager replicas | 1 |
| prometheus_retention_length | string | length to keep scraped metrics in prometheus for visualization | "14d" |
| grafana_resources | any | Grafana resource limits | {} |
| alertmanager_resources | any | Alertmanager resource limits | {} |
| grafana_enabled | bool | true | |
| grafana_admin_password | string | admin password for grafana | "prom-operator" |
| pushgateway_resource_memory_requests | string | pushgateway pod memory requests | "6Gi" |
| env | string | prod|non-prod | "prod" |
| dns_public_zone_project_id | string | Project containing the Public DNS Managed Zone | "" |
| alertmanager_log_level | string | "info" | |
| grafana_additional_datasources | string | "" | |
| grafana_replicas | number | Count of Grafana replicas | 1 |
| … and 10 more inputs | |||
alertmanager_base_urlkube_prometheus_stack_gcp_service_accountkube_prometheus_stack_gcp_service_account_emailpushgateway_endpointprometheus_ip_addresshelm_valueskube_prometheus_stack_service_accountkube_prometheus_stack_k8s_service_accountgrafana_base_urlgrafana_ip_addressalertmanager_ip_addressprometheus_base_url