devops-stack-module-kube-prometheus-stack
A DevOps Stack module to deploy and configure kube-prometheus-chart.
The kube-prometheus-stack chart used by this module is shipped in this repository as well, in order to avoid any unwanted behaviors caused by unsupported versions.
| Current Chart Version | Original Repository | Default Values | 
|---|---|---|
| 45.22.0 | 
Since this module is meant to be instantiated using its variants, the usage documentation is available in each variant ( AKS | EKS | KinD ).
Below you will only find the technical reference automatically generated from the *.tf files on the root module.
Technical Documentation
Requirements
The following requirements are needed by this module:
- 
argocd (>= 4) 
- 
kubernetes (>= 2) 
- 
null (>= 3) 
- 
random (>= 3) 
- 
utils (>= 1) 
Resources
The following resources are used by this module:
- 
argocd_application.this (resource) 
- 
argocd_project.this (resource) 
- 
kubernetes_namespace.kube_prometheus_stack_namespace (resource) 
- 
null_resource.dependencies (resource) 
- 
null_resource.k8s_resources (resource) 
- 
null_resource.this (resource) 
- 
random_password.grafana_admin_password (resource) 
- 
random_password.oauth2_cookie_secret (resource) 
- 
helm_template.this (data source) 
- 
utils_deep_merge_yaml.values (data source) 
Required Inputs
The following input variables are required:
cluster_name
Description: Name given to the cluster. Value used for naming some the resources created by the module.
Type: string
base_domain
Description: Base domain of the cluster. Value used for the ingress' URL of the application.
Type: string
Optional Inputs
The following input variables are optional (have default values):
argocd_namespace
Description: Namespace used by Argo CD where the Application and AppProject resources should be created.
Type: string
Default: "argocd"
target_revision
Description: Override of target revision of the application chart.
Type: string
Default: "v3.1.0"
cluster_issuer
Description: SSL certificate issuer to use. Usually you would configure this value as letsencrypt-staging or letsencrypt-prod on your root *.tf files.
Type: string
Default: "ca-issuer"
namespace
Description: Namespace where the applications’s Kubernetes resources should be created. Namespace will be created in case it doesn’t exist.
Type: string
Default: "kube-prometheus-stack"
helm_values
Description: Helm chart value overrides. They should be passed as a list of HCL structures.
Type: any
Default: []
deep_merge_append_list
Description: A boolean flag to enable/disable appending lists instead of overwriting them.
Type: bool
Default: false
app_autosync
Description: Automated sync options for the Argo CD Application resource.
Type:
object({
    allow_empty = optional(bool)
    prune       = optional(bool)
    self_heal   = optional(bool)
  })Default:
{
  "allow_empty": false,
  "prune": true,
  "self_heal": true
}metrics_storage_main
Description: Storage settings for the Thanos sidecar. Needs to be of type any because the structure is different depending on the provider used.
Type: any
Default: {}
Outputs
The following outputs are exported:
id
Description: ID to pass other modules in order to refer to this module as a dependency.
grafana_admin_password
Description: The admin password for Grafana.
Reference in table format
Show tables
= Requirements
| Name | Version | 
|---|---|
| >= 4 | |
| >= 2 | |
| >= 3 | |
| >= 3 | |
| >= 1 | 
= Providers
| Name | Version | 
|---|---|
| >= 3 | |
| >= 4 | |
| >= 2 | |
| >= 1 | |
| n/a | |
| >= 3 | 
= Resources
| Name | Type | 
|---|---|
| resource | |
| resource | |
| resource | |
| resource | |
| resource | |
| resource | |
| resource | |
| resource | |
| resource | |
| data source | |
| data source | 
= Inputs
| Name | Description | Type | Default | Required | 
|---|---|---|---|---|
| Name given to the cluster. Value used for naming some the resources created by the module. | 
 | n/a | yes | |
| Base domain of the cluster. Value used for the ingress' URL of the application. | 
 | n/a | yes | |
| Namespace used by Argo CD where the Application and AppProject resources should be created. | 
 | 
 | no | |
| Override of target revision of the application chart. | 
 | 
 | no | |
| SSL certificate issuer to use. Usually you would configure this value as  | 
 | 
 | no | |
| Namespace where the applications’s Kubernetes resources should be created. Namespace will be created in case it doesn’t exist. | 
 | 
 | no | |
| Helm chart value overrides. They should be passed as a list of HCL structures. | 
 | 
 | no | |
| A boolean flag to enable/disable appending lists instead of overwriting them. | 
 | 
 | no | |
| Automated sync options for the Argo CD Application resource. |  |  | no | |
| n/a | 
 | 
 | no | |
| Grafana settings | 
 | 
 | no | |
| Prometheus settings | 
 | 
 | no | |
| Alertmanager settings | 
 | 
 | no | |
| Storage settings for the Thanos sidecar. Needs to be of type  | 
 | 
 | no | 
= Outputs
| Name | Description | 
|---|---|
| ID to pass other modules in order to refer to this module as a dependency. | |
| The admin password for Grafana. |