Skip to content

Installs the kube-prometheus stack, a collection of Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

License

Notifications You must be signed in to change notification settings

SPHTech-Platform/terraform-helm-kube-prometheus-stack

Repository files navigation

Terraform Modules Template

Requirements

Name Version
terraform >= 1.0
helm >= 2.5

Providers

Name Version
helm 2.6.0

Modules

No modules.

Resources

Name Type
helm_release.kube_prometheus_stack resource

Inputs

Name Description Type Default Required
chart_name Helm chart name to provision string "kube-prometheus-stack" no
chart_namespace Namespace to install the chart into string "monitoring" no
chart_repository Helm repository for the chart string "https://prometheus-community.github.io/helm-charts" no
chart_timeout Timeout to wait for the Chart to be deployed. number 300 no
chart_version Version of Chart to install. Set to empty to install the latest version string "41.7.1" no
cluster_name Cluster Name where Grafana is deployed string "" no
cluster_oidc_issuer_arn Cluster OIDC URL string "" no
cluster_oidc_issuer_url Cluster OIDC URL string "" no
create_namespace Namespace to install the chart into bool false no
grafana_admin_password_key Key in the secret containing the admin password string "admin-password" no
grafana_affinity Pod affinity map(any) {} no
grafana_annotations Deployment annotations map(any) {} no
grafana_command Define command to be executed at startup by grafana container list(any) [] no
grafana_dashboard_providers YAML string to configure grafana dashboard providersref: http://docs.grafana.org/administration/provisioning/#dashboards path must be /var/lib/grafana/dashboards/<provider_name> string "" no
grafana_dashboards YAML string to configure grafana dashboard to import string "" no
grafana_dashboards_config_maps Reference to external ConfigMap per provider. Use provider name as key and ConfiMap name as value. YAML string string "" no
grafana_datasources YAML string to configure grafana datasources http://docs.grafana.org/administration/provisioning/#datasources string "" no
grafana_enable_service_links Inject Kubernetes services as environment variables. bool true no
grafana_env Extra environment variables that will be pass onto deployment pods map(any) {} no
grafana_env_from_secret The name of a secret in the same kubernetes namespace which contain values to be added to the environment string "" no
grafana_extra_configmap_mounts Extra ConfigMap to mount into the Container list(any) [] no
grafana_extra_containers YAML string for extra containers string "" no
grafana_extra_empty_dir_mounts Extra Empty DIRs to mount into the Container list(any) [] no
grafana_extra_init_containers Extra init containers list(any) [] no
grafana_extra_secret_mounts Additional grafana server secret mounts list(any) [] no
grafana_extra_volume_mounts Additional grafana server volume mounts list(any) [] no
grafana_image_pull_policy Image Pull Policy for Grafana string "IfNotPresent" no
grafana_image_repository Grafana Image repository on Dockerhub string "grafana/grafana" no
grafana_image_tag Grafana Image tag string "9.2.3" no
grafana_ingress_annotations Annotations for ingress map(any) {} no
grafana_ingress_enabled Enable Ingress bool false no
grafana_ingress_hosts Hosts for ingress list(any) [] no
grafana_ingress_labels Labels for ingress map(any) {} no
grafana_ingress_tls TLS configuration for ingress list(any) [] no
grafana_init_chown_data_enabled Enable the Chown init container bool true no
grafana_init_chown_data_resources Resources for the Chown init container map(any) {} no
grafana_ldap_config String with contents for LDAP configuration in TOML string "" no
grafana_ldap_existing_secret Use an existing secret for LDAP config string "" no
grafana_main_config Main Config file in YAML string "paths:\n data: /var/lib/grafana/data\n logs: /var/log/grafana\n plugins: /var/lib/grafana/plugins\n provisioning: /etc/grafana/provisioning\nanalytics:\n check_for_updates: true\nlog:\n mode: console\ngrafana_net:\n url: https://grafana.netn" no
grafana_node_selector Node selector for Pods map(any) {} no
grafana_notifiers YAML string to configure notifiers http://docs.grafana.org/administration/provisioning/#alert-notification-channels string "" no
grafana_pdb PodDisruptionBudget for Grafana map(any)
{
"minAvailable": 1
}
no
grafana_persistence_annotations Annotations for the PV map(any) {} no
grafana_persistence_enabled Enable PV bool false no
grafana_persistence_existing_claim Use an existing PVC string "" no
grafana_persistence_size Size of the PV string "10Gi" no
grafana_persistence_storage_class_name Storage Class name for the PV string "default" no
grafana_plugins List of plugins to install list(any) [] no
grafana_pod_annotations Pod annotations map(any) {} no
grafana_priority_class_name Priority Class name for Grafana string "" no
grafana_psp_enable Enable PSP bool true no
grafana_psp_use_app_armor Use AppAmor in the PSP bool true no
grafana_resources Resources for Grafana container map(any) {} no
grafana_security_context Security context for pods defined as a map which will be serialized to JSON. any
{
"fsGroup": 472,
"runAsGroup": 472,
"runAsUser": 472
}
no
grafana_service_account Name of the Service Account for Grafana string "" no
grafana_service_account_annotations Annotations for service account map(any) {} no
grafana_service_annotations Annotations for the service map(any) {} no
grafana_service_labels Labels for the service map(any) {} no
grafana_service_port Port of the service number 80 no
grafana_service_target_port Port in container to expose service number 3000 no
grafana_service_type Service type string "ClusterIP" no
grafana_smtp_existing_secret Existing secret containing the SMTP credentials string "" no
grafana_smtp_password_key Key in the secret containing the SMTP password string "password" no
grafana_smtp_user_key Key in the secret containing the SMTP username string "user" no
grafana_tolerations Tolerations for pods list(any) [] no
image_renderer_annotations image-renderer deployment annotations map(any) {} no
image_renderer_enabled Enable the image-renderer deployment and service bool true no
image_renderer_env image-renderer extra environment variables map(any)
{
"HTTP_HOST": "0.0.0.0"
}
no
image_renderer_image_repository image-renderer Image repository string "grafana/grafana-image-renderer" no
image_renderer_image_tag image-renderer Image tag string "latest" no
image_renderer_pod_annotations image-renderer pod annotations map(any) {} no
image_renderer_port image-renderer service port used by both service and deployment number 8081 no
image_renderer_priority_class_name image-renderer deployment priority class string "" no
image_renderer_replicas Number of replicas of image-renderer to run number 1 no
image_renderer_resources Resources for image-renderer container map(any) {} no
image_renderer_security_context image-renderer deployment securityContext any {} no
image_renderer_service_account image-renderer deployment serviceAccount string "" no
image_renderer_target_port image-renderer service targetPort used by both service and deployment number 8081 no
max_history Max History for Helm number 20 no
prometheus_alertmanager_nodeselector Alertmanager Spec node selector any "" no
prometheus_external_labels External Labels for Ops Out More Information map(any) {} no
prometheus_host_url Prometheus Host URL string "" no
prometheus_image_repository Prometheus Image repository string "quay.io/prometheus/prometheus" no
prometheus_image_tag Prometheus Image tag string "v2.39.1" no
prometheus_ingress_annotations Annotations for ingress map(any) {} no
prometheus_ingress_enabled Enable Ingress bool false no
prometheus_ingress_hosts Hosts for ingress list(any) [] no
prometheus_ingress_labels Labels for ingress map(any) {} no
prometheus_ingress_tls TLS configuration for ingress list(any) [] no
prometheus_metric_labels_allowlist Comma-separated list of additional Kubernetes label keys that will be used (Example: '=namespaces=[k8s-label-1,k8s-label-n,...],pods=[app],...)' string "" no
prometheus_nodeselector prometheus Spec node selector any "" no
prometheus_operator_image_repository Prometheus Operator Image repository string "quay.io/prometheus-operator/prometheus-operator" no
prometheus_operator_image_tag Prometheus Operator Image Tag string "v0.60.1" no
prometheus_remote_write Write samples from Prometheus to a remote endpoint list(any) [] no
prometheus_service_account Name of the Service Account for Grafana string "" no
prometheus_service_account_annotations Annotations for service account map(any) {} no
promethues_operator_nodeselector Promethues Operator node selector any "" no
recreate_pods Recreate the pods with every helm update bool false no
release_name Helm release name string "kube-prometheus-stack" no
replicas Number of replicas of Grafana to run number 1 no

Outputs

No outputs.

About

Installs the kube-prometheus stack, a collection of Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to provide easy to operate end-to-end Kubernetes cluster monitoring with Prometheus using the Prometheus Operator.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages