Skip to content

Commit 0e9d823

Browse files
committed
#26 Replaced parameter store values with sm secret , fixed readme
1 parent ab75f21 commit 0e9d823

File tree

5 files changed

+20
-80
lines changed

5 files changed

+20
-80
lines changed

README-RU.md

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -251,29 +251,23 @@ $ cp terraform/layer1-aws/demo.tfvars.example terraform/layer1-aws/terraform.tfv
251251
252252
#### Секреты
253253

254-
В корне `layer2-k8s` лежит файл `aws-ssm-gitlab-secrets.tf`, ожидающий значения, заданные в AWS SSM Parameter Store. Данные секреты используются для аутентификации в Kibana и Grafana используя GitLab. Также в параметрах задается токен для регистрации гитлаб раннера:
255-
256-
```
257-
/maddevs-demo/infra/grafana/gitlab_client_id
258-
/maddevs-demo/infra/grafana/gitlab_client_secret
259-
/maddevs-demo/infra/kibana/gitlab_client_id
260-
/maddevs-demo/infra/kibana/gitlab_client_secret
261-
/maddevs-demo/infra/runner/gitlab_registration_token
262-
```
263-
264-
Другой способ передачи этих секретов - использовать AWS Secret Manager. В файле `examples/aws-secret-manager-gitlab-secrets.tf` находится пример использования. Данный конфиг ожидает json секрет `/maddevs-demo/infra/gitlab-tokens` с содержимым:
254+
В корне `layer2-k8s` лежит файл `aws-sm-secrets.tf`, ожидающий значения, заданные в секрете `/${local.name}-${local.environment}/infra/layer2-k8s` AWS Secrets Manager. Данные секреты используются для аутентификации в Kibana и Grafana используя GitLab. Также задается токен для регистрации гитлаб раннера, параметры slack для алертменеджера:
265255

266256
```json
267257
{
268258
"kibana_gitlab_client_id": "access key token",
269259
"kibana_gitlab_client_secret": "secret key token",
260+
"kibana_gitlab_group": "gitlab group",
270261
"grafana_gitlab_client_id": "access key token",
271262
"grafana_gitlab_client_secret": "secret key token",
272-
"gitlab_registration_token": "gitlab-runner token"
263+
"gitlab_registration_token": "gitlab-runner token",
264+
"grafana_gitlab_group": "gitlab group",
265+
"alertmanager_slack_url": "slack url",
266+
"alertmanager_slack_channel": "slack channel"
273267
}
274268
```
275269

276-
Используя тот или иной способ, задайте необходимые секреты, можно задать пустые значения. В случае если вы не будете использовать данные секреты, следует удалить эти `.tf` файлы из корня `layer2-k8s`
270+
> Задайте все необходимые значения, можно задать пустые значения. В случае если вы не будете использовать данные секреты, следует удалить этот `.tf` файл из корня `layer2-k8s`
277271
278272
#### Домен и SSL
279273

README.md

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -249,29 +249,23 @@ $ cp terraform/layer1-aws/demo.tfvars.example terraform/layer1-aws/terraform.tfv
249249
250250
#### Secrets
251251

252-
At the root of `layer2-k8s` is the `aws-ssm-gitlab-secrets.tf` file waiting for values set in the AWS SSM Parameter Store. These secrets are used for authentication with Kibana and Grafana using GitLab. Also, in the parameters, a token is set for registering a gitlab runner:
253-
254-
```
255-
/maddevs-demo/infra/grafana/gitlab_client_id
256-
/maddevs-demo/infra/grafana/gitlab_client_secret
257-
/maddevs-demo/infra/kibana/gitlab_client_id
258-
/maddevs-demo/infra/kibana/gitlab_client_secret
259-
/maddevs-demo/infra/runner/gitlab_registration_token
260-
```
261-
262-
Another way to set these secrets is to use AWS Secret Manager. The `examples/aws-secret-manager-gitlab-secrets.tf` file contains an example of usage. This config expects json secret `/maddevs-demo/infra/gitlab-tokens` with the following content:
252+
In the root of `layer2-k8s` is the `aws-sm-secrets.tf` where several local variables expect AWS Secrets Manager secret with the pattern `/${local.name}-${local.environment}/infra/layer2-k8s`. These secrets are used for authentication with Kibana and Grafana using GitLab and register gitlab runner.
263253

264254
```json
265255
{
266256
"kibana_gitlab_client_id": "access key token",
267257
"kibana_gitlab_client_secret": "secret key token",
258+
"kibana_gitlab_group": "gitlab group",
268259
"grafana_gitlab_client_id": "access key token",
269260
"grafana_gitlab_client_secret": "secret key token",
270-
"gitlab_registration_token": "gitlab-runner token"
261+
"gitlab_registration_token": "gitlab-runner token",
262+
"grafana_gitlab_group": "gitlab group",
263+
"alertmanager_slack_url": "slack url",
264+
"alertmanager_slack_channel": "slack channel"
271265
}
272266
```
273267

274-
Using either of these methods, set proper secrets; you can set empty values. If you will not use these secrets, you should delete these `.tf` files from the `layer2-k8s` root.
268+
> Set proper secrets; you can set empty/mock values. If you won't use these secrets, delete this `.tf` file from the `layer2-k8s` root.
275269
276270
#### Domain and SSL
277271

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
locals {
22
kibana_gitlab_client_id = jsondecode(data.aws_secretsmanager_secret_version.infra.secret_string)["kibana_gitlab_client_id"]
33
kibana_gitlab_client_secret = jsondecode(data.aws_secretsmanager_secret_version.infra.secret_string)["kibana_gitlab_client_secret"]
4+
kibana_gitlab_group = jsondecode(data.aws_secretsmanager_secret_version.infra.secret_string)["kibana_gitlab_group"]
45
grafana_gitlab_client_id = jsondecode(data.aws_secretsmanager_secret_version.infra.secret_string)["grafana_gitlab_client_id"]
56
grafana_gitlab_client_secret = jsondecode(data.aws_secretsmanager_secret_version.infra.secret_string)["grafana_gitlab_client_secret"]
67
gitlab_registration_token = jsondecode(data.aws_secretsmanager_secret_version.infra.secret_string)["gitlab_registration_token"]
7-
8+
grafana_gitlab_group = jsondecode(data.aws_secretsmanager_secret_version.infra.secret_string)["grafana_gitlab_group"]
9+
alertmanager_slack_url = jsondecode(data.aws_secretsmanager_secret_version.infra.secret_string)["alertmanager_slack_url"]
10+
alertmanager_slack_channel = jsondecode(data.aws_secretsmanager_secret_version.infra.secret_string)["alertmanager_slack_channel"]
811
}
912

1013
data "aws_secretsmanager_secret" "infra" {
11-
name = "/${local.name_wo_region}/infra/gitlab-tokens"
14+
name = "/${local.name_wo_region}/infra/layer2-k8s"
1215
}
1316

1417
data "aws_secretsmanager_secret_version" "infra" {

terraform/layer2-k8s/aws-ssm-gitlab-secrets.tf

Lines changed: 0 additions & 32 deletions
This file was deleted.

terraform/layer2-k8s/variables.tf

Lines changed: 1 addition & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
variable "remote_state_bucket" {
22
type = string
3-
default = "madops-terraform-state-us-east-1"
4-
description = "Name of the bucket with the state"
3+
description = "Name of the bucket for terraform state"
54
}
65

76
variable "remote_state_key" {
@@ -142,24 +141,6 @@ variable "elk_index_retention_days" {
142141
default = 14
143142
}
144143

145-
variable "grafana_gitlab_group" {
146-
type = string
147-
default = "madops"
148-
description = "Gitlab group for grafana oauth"
149-
}
150-
151-
variable "alertmanager_slack_channel" {
152-
type = string
153-
default = "madops-demo-alerts"
154-
description = "Slack channel for alertmanager alerts"
155-
}
156-
157-
variable "kibana_gitlab_group" {
158-
type = string
159-
default = "madops"
160-
description = "Gitlab group for kibana oauth2"
161-
}
162-
163144
# Calico
164145
variable "calico_daemonset" {
165146
description = "Version of calico helm chart"

0 commit comments

Comments
 (0)