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. |