Move all dashboards to GitOps (#175)

* Typo

* Remove Grafana provider

* Temp: move dashbaords to gitOps

* Move external labels to resource attributes

* Avoid DDoS with using 0.0.0.0

* Pre-commit

* Transition in two steps

Will need to remove provider in a separate version to provide a transition path as removing this will break terraform and leave orphans in the state

* Move patterns' dashboards creation to gitOps

Standardize config objects for patterns as well

* Pre-commit

* Create AMP dashboard from external source with Grafana provider

* Fix deprecated option

* Fix Flux requirements

* Run pre-commit

* Update example with operator

* Cleanup examples

* Update multicluster example

* Update multicluster example

* Drop dead variable

* Update docs

* Change GitOps branch name

* Update docs

* Replacing Secrets Manager to SSM to store Grafana API Key (#178)

* Fixing SSM

* Fixing SSM

* Replacing Secrets Manager with SSM

* Replacing Secrets Manager with SSM

* Update architecture diagram

* Update architecture diagram

* Update README.md

* Update index.md

* Fixing Grafana Operator Version

* Fix multicluster example

* Update docs

---------

Co-authored-by: Ela AWS <51791117+elamaran11@users.noreply.github.com>
Co-authored-by: Elamaran Shanmugam <elamaran.shan@gmail.com>
This commit is contained in:
Rodrigue Koffi
2023-06-12 18:00:42 +02:00
committed by GitHub
parent c5e4c0c718
commit fa38a90efc
46 changed files with 363 additions and 4462 deletions
@@ -36,12 +36,13 @@ resource "aws_iam_policy" "cluster_secretstore" {
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetResourcePolicy",
"secretsmanager:GetSecretValue",
"secretsmanager:DescribeSecret",
"secretsmanager:ListSecretVersionIds"
"ssm:DescribeParameters",
"ssm:GetParameter",
"ssm:GetParameters",
"ssm:GetParametersByPath",
"ssm:GetParameterHistory"
],
"Resource": "${aws_secretsmanager_secret.secret.arn}"
"Resource": "${aws_ssm_parameter.secret.arn}"
},
{
"Effect": "Allow",
@@ -64,7 +65,7 @@ metadata:
spec:
provider:
aws:
service: SecretsManager
service: ParameterStore
region: ${data.aws_region.current.name}
auth:
jwt:
@@ -75,16 +76,15 @@ YAML
depends_on = [module.external_secrets]
}
resource "aws_secretsmanager_secret" "secret" {
recovery_window_in_days = 0
kms_key_id = aws_kms_key.secrets.arn
}
resource "aws_secretsmanager_secret_version" "secret" {
secret_id = aws_secretsmanager_secret.secret.id
secret_string = jsonencode({
resource "aws_ssm_parameter" "secret" {
name = "/terraform-accelerator/grafana-api-key"
description = "SSM Secret to store grafana API Key"
type = "SecureString"
value = jsonencode({
GF_SECURITY_ADMIN_APIKEY = var.grafana_api_key
})
key_id = aws_kms_key.secrets.id
overwrite = true
}
resource "kubectl_manifest" "secret" {
@@ -103,7 +103,7 @@ spec:
name: ${var.target_secret_name}
dataFrom:
- extract:
key: ${aws_secretsmanager_secret.secret.name}
key: ${aws_ssm_parameter.secret.name}
YAML
depends_on = [module.external_secrets]
}