diff --git a/README.md b/README.md index 5c89a57..f445b3b 100644 --- a/README.md +++ b/README.md @@ -164,7 +164,7 @@ If you are interested in contributing, see the [Contribution guide](https://gith | [enable\_managed\_grafana](#input\_enable\_managed\_grafana) | Creates a new Amazon Managed Grafana Workspace | `bool` | `true` | no | | [enable\_managed\_prometheus](#input\_enable\_managed\_prometheus) | Creates a new Amazon Managed Service for Prometheus Workspace | `bool` | `true` | no | | [grafana\_api\_key](#input\_grafana\_api\_key) | Grafana API key for the Amazon Managed Grafana workspace | `string` | `null` | no | -| [irsa\_iam\_permissions\_boundary](#input\_irsa\_iam\_permissions\_boundary) | IAM permissions boundary for IRSA roles | `string` | `""` | no | +| [irsa\_iam\_permissions\_boundary](#input\_irsa\_iam\_permissions\_boundary) | IAM permissions boundary for IRSA roles | `string` | `null` | no | | [irsa\_iam\_role\_path](#input\_irsa\_iam\_role\_path) | IAM role path for IRSA roles | `string` | `"/"` | no | | [managed\_grafana\_workspace\_id](#input\_managed\_grafana\_workspace\_id) | Amazon Managed Grafana Workspace ID | `string` | `""` | no | | [managed\_prometheus\_workspace\_id](#input\_managed\_prometheus\_workspace\_id) | Amazon Managed Service for Prometheus Workspace ID | `string` | `""` | no | diff --git a/modules/workloads/infra/README.md b/modules/workloads/infra/README.md index 792da43..f1e36f3 100644 --- a/modules/workloads/infra/README.md +++ b/modules/workloads/infra/README.md @@ -68,10 +68,10 @@ This module is inspired from the open source [kube-prometheus-stack](https://git | [enable\_recording\_rules](#input\_enable\_recording\_rules) | Enables or disables Managed Prometheus recording rules. Disabling this might affect some data in the dashboards | `bool` | `true` | no | | [enable\_tracing](#input\_enable\_tracing) | (Experimental) Enables tracing with AWS X-Ray. This changes the deploy mode of the collector to daemon set. Requirement: adot add-on <= 0.58-build.0 | `bool` | `false` | no | | [helm\_config](#input\_helm\_config) | Helm Config for Prometheus | `any` | `{}` | no | -| [irsa\_iam\_permissions\_boundary](#input\_irsa\_iam\_permissions\_boundary) | IAM permissions boundary for IRSA roles | `string` | `""` | no | +| [irsa\_iam\_permissions\_boundary](#input\_irsa\_iam\_permissions\_boundary) | IAM permissions boundary for IRSA roles | `string` | `null` | no | | [irsa\_iam\_role\_path](#input\_irsa\_iam\_role\_path) | IAM role path for IRSA roles | `string` | `"/"` | no | | [ksm\_config](#input\_ksm\_config) | Kube State metrics configuration |
object({
create_namespace = bool
k8s_namespace = string
helm_chart_name = string
helm_chart_version = string
helm_release_name = string
helm_repo_url = string
helm_settings = map(string)
helm_values = map(any)

scrape_interval = string
scrape_timeout = string
})
|
{
"create_namespace": true,
"helm_chart_name": "kube-state-metrics",
"helm_chart_version": "4.24.0",
"helm_release_name": "kube-state-metrics",
"helm_repo_url": "https://prometheus-community.github.io/helm-charts",
"helm_settings": {},
"helm_values": {},
"k8s_namespace": "kube-system",
"scrape_interval": "60s",
"scrape_timeout": "15s"
}
| no | -| [managed\_prometheus\_workspace\_endpoint](#input\_managed\_prometheus\_workspace\_endpoint) | Amazon Managed Prometheus Workspace Endpoint | `string` | `null` | no | +| [managed\_prometheus\_workspace\_endpoint](#input\_managed\_prometheus\_workspace\_endpoint) | Amazon Managed Prometheus Workspace Endpoint | `string` | `""` | no | | [managed\_prometheus\_workspace\_id](#input\_managed\_prometheus\_workspace\_id) | Amazon Managed Prometheus Workspace ID | `string` | `null` | no | | [managed\_prometheus\_workspace\_region](#input\_managed\_prometheus\_workspace\_region) | Amazon Managed Prometheus Workspace's Region | `string` | `null` | no | | [ne\_config](#input\_ne\_config) | Node exporter configuration |
object({
create_namespace = bool
k8s_namespace = string
helm_chart_name = string
helm_chart_version = string
helm_release_name = string
helm_repo_url = string
helm_settings = map(string)
helm_values = map(any)

scrape_interval = string
scrape_timeout = string
})
|
{
"create_namespace": true,
"helm_chart_name": "prometheus-node-exporter",
"helm_chart_version": "2.0.3",
"helm_release_name": "prometheus-node-exporter",
"helm_repo_url": "https://prometheus-community.github.io/helm-charts",
"helm_settings": {},
"helm_values": {},
"k8s_namespace": "prometheus-node-exporter",
"scrape_interval": "60s",
"scrape_timeout": "60s"
}
| no | diff --git a/modules/workloads/infra/outputs.tf b/modules/workloads/infra/outputs.tf index 50c09c6..4f0196b 100644 --- a/modules/workloads/infra/outputs.tf +++ b/modules/workloads/infra/outputs.tf @@ -1,10 +1,10 @@ output "grafana_dashboard_urls" { value = [concat( - grafana_dashboard.workloads.*.url, - grafana_dashboard.nodes.*.url, - grafana_dashboard.nsworkload.*.url, - grafana_dashboard.kubelet.*.url, - grafana_dashboard.cluster.*.url, + grafana_dashboard.workloads[*].url, + grafana_dashboard.nodes[*].url, + grafana_dashboard.nsworkload[*].url, + grafana_dashboard.kubelet[*].url, + grafana_dashboard.cluster[*].url, )] description = "URLs for dashboards created" } diff --git a/modules/workloads/infra/variables.tf b/modules/workloads/infra/variables.tf index 070107b..c6679f3 100644 --- a/modules/workloads/infra/variables.tf +++ b/modules/workloads/infra/variables.tf @@ -18,14 +18,15 @@ variable "irsa_iam_role_path" { variable "irsa_iam_permissions_boundary" { description = "IAM permissions boundary for IRSA roles" type = string - default = "" + default = null } variable "managed_prometheus_workspace_endpoint" { description = "Amazon Managed Prometheus Workspace Endpoint" type = string - default = null + default = "" } + variable "managed_prometheus_workspace_id" { description = "Amazon Managed Prometheus Workspace ID" type = string diff --git a/modules/workloads/java/README.md b/modules/workloads/java/README.md index b7dd257..fd4baaf 100644 --- a/modules/workloads/java/README.md +++ b/modules/workloads/java/README.md @@ -52,9 +52,9 @@ This module provides monitoring for Java based workloads with the following reso | [enable\_alerting\_rules](#input\_enable\_alerting\_rules) | Enables or disables Managed Prometheus alerting rules | `bool` | `true` | no | | [enable\_recording\_rules](#input\_enable\_recording\_rules) | Enables or disables Managed Prometheus recording rules. Disabling this might affect some data in the dashboards | `bool` | `true` | no | | [helm\_config](#input\_helm\_config) | Helm Config for Prometheus | `any` | `{}` | no | -| [irsa\_iam\_permissions\_boundary](#input\_irsa\_iam\_permissions\_boundary) | IAM permissions boundary for IRSA roles | `string` | `""` | no | +| [irsa\_iam\_permissions\_boundary](#input\_irsa\_iam\_permissions\_boundary) | IAM permissions boundary for IRSA roles | `string` | `null` | no | | [irsa\_iam\_role\_path](#input\_irsa\_iam\_role\_path) | IAM role path for IRSA roles | `string` | `"/"` | no | -| [managed\_prometheus\_workspace\_endpoint](#input\_managed\_prometheus\_workspace\_endpoint) | Amazon Managed Prometheus Workspace Endpoint | `string` | `null` | no | +| [managed\_prometheus\_workspace\_endpoint](#input\_managed\_prometheus\_workspace\_endpoint) | Amazon Managed Prometheus Workspace Endpoint | `string` | `""` | no | | [managed\_prometheus\_workspace\_id](#input\_managed\_prometheus\_workspace\_id) | Amazon Managed Prometheus Workspace ID | `string` | `null` | no | | [managed\_prometheus\_workspace\_region](#input\_managed\_prometheus\_workspace\_region) | Amazon Managed Prometheus Workspace's Region | `string` | `null` | no | | [prometheus\_config](#input\_prometheus\_config) | Controls default values such as scrape interval, timeouts and ports globally |
object({
global_scrape_interval = string
global_scrape_timeout = string
scrape_sample_limit = number
})
|
{
"global_scrape_interval": "60s",
"global_scrape_timeout": "15s",
"scrape_sample_limit": 1000
}
| no | diff --git a/modules/workloads/java/outputs.tf b/modules/workloads/java/outputs.tf index a82d582..b265ffe 100644 --- a/modules/workloads/java/outputs.tf +++ b/modules/workloads/java/outputs.tf @@ -1,6 +1,6 @@ output "grafana_dashboard_urls" { value = [concat( - grafana_dashboard.this.*.url, + grafana_dashboard.this[*].url, )] description = "URLs for dashboards created" } diff --git a/modules/workloads/java/variables.tf b/modules/workloads/java/variables.tf index b3237e9..5c0ab63 100644 --- a/modules/workloads/java/variables.tf +++ b/modules/workloads/java/variables.tf @@ -12,7 +12,7 @@ variable "irsa_iam_role_path" { variable "irsa_iam_permissions_boundary" { description = "IAM permissions boundary for IRSA roles" type = string - default = "" + default = null } variable "enable_recording_rules" { @@ -30,7 +30,7 @@ variable "enable_alerting_rules" { variable "managed_prometheus_workspace_endpoint" { description = "Amazon Managed Prometheus Workspace Endpoint" type = string - default = null + default = "" } variable "managed_prometheus_workspace_id" { diff --git a/modules/workloads/nginx/README.md b/modules/workloads/nginx/README.md index a5732c6..b32d1eb 100644 --- a/modules/workloads/nginx/README.md +++ b/modules/workloads/nginx/README.md @@ -51,9 +51,9 @@ It provides the following resources: | [enable\_alerting\_rules](#input\_enable\_alerting\_rules) | Enables or disables Managed Prometheus alerting rules | `bool` | `true` | no | | [enable\_dashboards](#input\_enable\_dashboards) | Enables or disables curated dashboards | `bool` | `true` | no | | [helm\_config](#input\_helm\_config) | Helm Config for Prometheus | `any` | `{}` | no | -| [irsa\_iam\_permissions\_boundary](#input\_irsa\_iam\_permissions\_boundary) | IAM permissions boundary for IRSA roles | `string` | `""` | no | +| [irsa\_iam\_permissions\_boundary](#input\_irsa\_iam\_permissions\_boundary) | IAM permissions boundary for IRSA roles | `string` | `null` | no | | [irsa\_iam\_role\_path](#input\_irsa\_iam\_role\_path) | IAM role path for IRSA roles | `string` | `"/"` | no | -| [managed\_prometheus\_workspace\_endpoint](#input\_managed\_prometheus\_workspace\_endpoint) | Amazon Managed Prometheus Workspace Endpoint | `string` | `null` | no | +| [managed\_prometheus\_workspace\_endpoint](#input\_managed\_prometheus\_workspace\_endpoint) | Amazon Managed Prometheus Workspace Endpoint | `string` | `""` | no | | [managed\_prometheus\_workspace\_id](#input\_managed\_prometheus\_workspace\_id) | Amazon Managed Prometheus Workspace ID | `string` | `null` | no | | [managed\_prometheus\_workspace\_region](#input\_managed\_prometheus\_workspace\_region) | Amazon Managed Prometheus Workspace's Region | `string` | `null` | no | | [tags](#input\_tags) | Additional tags (e.g. `map('BusinessUnit`,`XYZ`) | `map(string)` | `{}` | no | diff --git a/modules/workloads/nginx/dashboards.tf b/modules/workloads/nginx/dashboards.tf index 24ffe6a..872800c 100644 --- a/modules/workloads/nginx/dashboards.tf +++ b/modules/workloads/nginx/dashboards.tf @@ -1,5 +1,6 @@ resource "grafana_dashboard" "workloads" { - count = var.enable_dashboards ? 1 : 0 + count = var.enable_dashboards ? 1 : 0 + folder = var.dashboards_folder_id config_json = file("${path.module}/dashboards/nginx.json") } diff --git a/modules/workloads/nginx/outputs.tf b/modules/workloads/nginx/outputs.tf index a5bac35..61967ac 100644 --- a/modules/workloads/nginx/outputs.tf +++ b/modules/workloads/nginx/outputs.tf @@ -1,4 +1,4 @@ output "grafana_dashboard_urls" { - value = [concat(grafana_dashboard.workloads.*.url)] + value = [concat(grafana_dashboard.workloads[*].url)] description = "URLs for dashboards created" } diff --git a/modules/workloads/nginx/variables.tf b/modules/workloads/nginx/variables.tf index 582cd0c..7926a3e 100644 --- a/modules/workloads/nginx/variables.tf +++ b/modules/workloads/nginx/variables.tf @@ -19,13 +19,13 @@ variable "irsa_iam_role_path" { variable "irsa_iam_permissions_boundary" { description = "IAM permissions boundary for IRSA roles" type = string - default = "" + default = null } variable "managed_prometheus_workspace_endpoint" { description = "Amazon Managed Prometheus Workspace Endpoint" type = string - default = null + default = "" } variable "managed_prometheus_workspace_id" { description = "Amazon Managed Prometheus Workspace ID" diff --git a/variables.tf b/variables.tf index 185e716..5ba10fb 100644 --- a/variables.tf +++ b/variables.tf @@ -17,7 +17,7 @@ variable "irsa_iam_role_path" { variable "irsa_iam_permissions_boundary" { description = "IAM permissions boundary for IRSA roles" type = string - default = "" + default = null } variable "enable_amazon_eks_adot" {