You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/index.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,6 +25,9 @@ traces collection, dashboards and alerts for monitoring:
25
25
- NGINX workloads (running on Amazon EKS)
26
26
- Java/JMX workloads (running on Amazon EKS)
27
27
- Amazon Managed Service for Prometheus workspaces with Amazon CloudWatch
28
+
- Installs Grafana Operator to add AWS data sources and create Grafana Dashboards to Amazon Managed Grafana.
29
+
- Installs FluxCD to perform GitOps sync of a Git Repo to EKS Cluster. We will use this later for creating Grafana Dashboards and AWS datasources to Amazon Managed Grafana.
30
+
- Installs External Secrets Operator to retrieve and Sync the Grafana API keys.
28
31
29
32
These modules can be directly configured in your existing Terraform
30
33
configurations or ready to be deployed in our packaged
Copy file name to clipboardExpand all lines: modules/eks-monitoring/README.md
+15-1Lines changed: 15 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,10 @@ This module provides EKS cluster monitoring with the following resources:
4
4
5
5
- AWS Distro For OpenTelemetry Operator and Collector for Metrics and Traces
6
6
- Logs with [AWS for FluentBit](https://github.com/aws/aws-for-fluent-bit)
7
-
- AWS Managed Grafana Dashboard and data source
7
+
- Installs Grafana Operator to add AWS data sources and create Grafana Dashboards to Amazon Managed Grafana.
8
+
- Installs FluxCD to perform GitOps sync of a Git Repo to EKS Cluster. We will use this later for creating Grafana Dashboards and AWS datasources to Amazon Managed Grafana.
9
+
- Installs External Secrets Operator to retrieve and Sync the Grafana API keys.
10
+
- Amazon Managed Grafana Dashboard and data source
8
11
- Alerts and recording rules with AWS Managed Service for Prometheus
9
12
10
13
This module makes use of the open source [kube-prometheus-stack](https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack)
@@ -33,6 +36,7 @@ This module makes use of the open source [kube-prometheus-stack](https://github.
|[aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity)| data source |
@@ -70,13 +76,19 @@ This module makes use of the open source [kube-prometheus-stack](https://github.
70
76
| <aname="input_enable_cert_manager"></a> [enable\_cert\_manager](#input\_enable\_cert\_manager)| Allow reusing an existing installation of cert-manager |`bool`|`true`| no |
71
77
| <aname="input_enable_custom_metrics"></a> [enable\_custom\_metrics](#input\_enable\_custom\_metrics)| Allows additional metrics collection for config elements in the `custom_metrics_config` config object. Automatic dashboards are not included |`bool`|`false`| no |
72
78
| <aname="input_enable_dashboards"></a> [enable\_dashboards](#input\_enable\_dashboards)| Enables or disables curated dashboards |`bool`|`true`| no |
79
+
| <aname="input_enable_external_secrets"></a> [enable\_external\_secrets](#input\_enable\_external\_secrets)| Installs External Secrets to EKS Cluster |`bool`|`true`| no |
80
+
| <aname="input_enable_fluxcd"></a> [enable\_fluxcd](#input\_enable\_fluxcd)| Enables or disables FluxCD. Disabling this might affect some data in the dashboards |`bool`|`true`| no |
81
+
| <aname="input_enable_grafana_operator"></a> [enable\_grafana\_operator](#input\_enable\_grafana\_operator)| Deploys Grafana Operator to EKS Cluster |`bool`|`true`| no |
73
82
| <aname="input_enable_java"></a> [enable\_java](#input\_enable\_java)| Enable Java workloads monitoring, alerting and default dashboards |`bool`|`false`| no |
74
83
| <aname="input_enable_kube_state_metrics"></a> [enable\_kube\_state\_metrics](#input\_enable\_kube\_state\_metrics)| Enables or disables Kube State metrics exporter. Disabling this might affect some data in the dashboards |`bool`|`true`| no |
75
84
| <aname="input_enable_logs"></a> [enable\_logs](#input\_enable\_logs)| Using AWS For FluentBit to collect cluster and application logs to Amazon CloudWatch |`bool`|`true`| no |
76
85
| <aname="input_enable_nginx"></a> [enable\_nginx](#input\_enable\_nginx)| Enable NGINX workloads monitoring, alerting and default dashboards |`bool`|`false`| no |
77
86
| <aname="input_enable_node_exporter"></a> [enable\_node\_exporter](#input\_enable\_node\_exporter)| Enables or disables Node exporter. Disabling this might affect some data in the dashboards |`bool`|`true`| no |
78
87
| <aname="input_enable_recording_rules"></a> [enable\_recording\_rules](#input\_enable\_recording\_rules)| Enables or disables Managed Prometheus recording rules |`bool`|`true`| no |
79
88
| <aname="input_enable_tracing"></a> [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 |
| <aname="input_grafana_api_key"></a> [grafana\_api\_key](#input\_grafana\_api\_key)| Grafana API key for the Amazon Managed Grafana workspace |`string`| n/a | yes |
80
92
| <aname="input_helm_config"></a> [helm\_config](#input\_helm\_config)| Helm Config for Prometheus |`any`|`{}`| no |
81
93
| <aname="input_irsa_iam_permissions_boundary"></a> [irsa\_iam\_permissions\_boundary](#input\_irsa\_iam\_permissions\_boundary)| IAM permissions boundary for IRSA roles |`string`|`null`| no |
82
94
| <aname="input_irsa_iam_role_path"></a> [irsa\_iam\_role\_path](#input\_irsa\_iam\_role\_path)| IAM role path for IRSA roles |`string`|`"/"`| no |
@@ -90,6 +102,8 @@ This module makes use of the open source [kube-prometheus-stack](https://github.
| <aname="input_prometheus_config"></a> [prometheus\_config](#input\_prometheus\_config)| Controls default values such as scrape interval, timeouts and ports globally | <pre>object({<br> global_scrape_interval = string<br> global_scrape_timeout = string<br> })</pre> | <pre>{<br> "global_scrape_interval": "60s",<br> "global_scrape_timeout": "15s"<br>}</pre> | no |
92
104
| <aname="input_tags"></a> [tags](#input\_tags)| Additional tags (e.g. `map('BusinessUnit`,`XYZ`) |`map(string)`|`{}`| no |
105
+
| <aname="input_target_secret_name"></a> [target\_secret\_name](#input\_target\_secret\_name)| Target secret in Kubernetes to store the Grafana API Key Secret |`string`|`"grafana-admin-credentials"`| no |
106
+
| <aname="input_target_secret_namespace"></a> [target\_secret\_namespace](#input\_target\_secret\_namespace)| Target namespace of secret in Kubernetes to store the Grafana API Key Secret |`string`|`"grafana-operator"`| no |
This deploys an EKS Cluster with the External Secrets Operator. The cluster is populated with a ClusterSecretStore and ExternalSecret using Grafana API Key secret from AWS Secret Manager. A secret store for each AWS Secret Manager is created. Store use IRSA (IAM Roles For Service Account) to retrieve the secret values from AWS.
4
+
5
+
<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
| <aname="input_enable_external_secrets"></a> [enable\_external\_secrets](#input\_enable\_external\_secrets)| Enable external-secrets |`bool`|`true`| no |
47
+
| <aname="input_grafana_api_key"></a> [grafana\_api\_key](#input\_grafana\_api\_key)| Grafana API key for the Amazon Managed Grafana workspace |`string`| n/a | yes |
48
+
| <aname="input_helm_config"></a> [helm\_config](#input\_helm\_config)| Helm provider config for external secrets |`any`|`{}`| no |
49
+
| <aname="input_target_secret_name"></a> [target\_secret\_name](#input\_target\_secret\_name)| Name to store the secret for Grafana API Key |`string`| n/a | yes |
50
+
| <aname="input_target_secret_namespace"></a> [target\_secret\_namespace](#input\_target\_secret\_namespace)| Namespace to store the secret for Grafana API Key |`string`| n/a | yes |
0 commit comments