Skip to content

Commit 2b803f8

Browse files
authored
User auth customizability (#216)
* update user-auth module allowing customization
1 parent 3e8bd41 commit 2b803f8

File tree

4 files changed

+29
-1
lines changed

4 files changed

+29
-1
lines changed

templates/kubernetes/terraform/environments/prod/main.tf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,20 @@ module "kubernetes" {
9090
# This domain or address must be verified by the mail provider (Sendgrid, SES, etc.)
9191
user_auth_mail_from_address = "noreply@${local.domain_name}"
9292
cookie_signing_secret_key = "${local.project}-${local.environment}-${local.random_seed}"
93+
kratos_values_override = {}
94+
oathkeeper_values_override = {}
9395
}
9496
## User auth: Kratos requires database and a secret (as: `user_auth[0].name`)
97+
## example overriding the smtp adress in kratos_values_override, this will merge with the config
98+
## {
99+
## kratos = {
100+
## courier = {
101+
## smtp = {
102+
## from_address = var.user_auth_mail_from_address
103+
## }
104+
## }
105+
## }
106+
## }
95107
## Oathkeeper requires a private key (as `user_auth[0].jwks_secret_name`)
96108
## per environment one of each (database/database secret/private key) is created in the pre-k8s step
97109
## If you need to add another user-auth instance you will have to create another set of these resources

templates/kubernetes/terraform/environments/stage/main.tf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,20 @@ module "kubernetes" {
8989
# This domain or address must be verified by the mail provider (Sendgrid, SES, etc.)
9090
user_auth_mail_from_address = "noreply@${local.domain_name}"
9191
cookie_signing_secret_key = "${local.project}-${local.environment}-${local.random_seed}"
92+
kratos_values_override = {}
93+
oathkeeper_values_override = {}
9294
}
9395
## User auth: Kratos requires database and a secret (as: `user_auth[0].name`)
96+
## example overriding the smtp adress in kratos_values_override, this will merge with the config
97+
## {
98+
## kratos = {
99+
## courier = {
100+
## smtp = {
101+
## from_address = var.user_auth_mail_from_address
102+
## }
103+
## }
104+
## }
105+
## }
94106
## Oathkeeper requires a private key (as `user_auth[0].jwks_secret_name`)
95107
## per environment one of each (database/database secret/private key) is created in the pre-k8s step
96108
## If you need to add another user-auth instance you will have to create another set of these resources

templates/kubernetes/terraform/modules/kubernetes/user_auth.tf

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ data "aws_secretsmanager_secret_version" "jwks_content" {
1717
module "user_auth" {
1818
count = length(var.user_auth)
1919
source = "commitdev/zero/aws//modules/user_auth"
20-
version = "0.3.6"
20+
version = "0.4.8"
2121

2222
name = var.user_auth[count.index].name
2323
auth_namespace = var.user_auth[count.index].auth_namespace
@@ -31,6 +31,8 @@ module "user_auth" {
3131
cookie_signing_secret_key = var.user_auth[count.index].cookie_signing_secret_key
3232
kubectl_extra_args = local.k8s_exec_context
3333
external_secret_name = local.secrets_manager_secret_name
34+
kratos_values_override = lookup(var.user_auth[count.index], "kratos_values_override", {})
35+
oathkeeper_values_override = lookup(var.user_auth[count.index], "oathkeeper_values_override", {})
3436

3537
depends_on = [helm_release.external_secrets]
3638
}

templates/kubernetes/terraform/modules/kubernetes/variables.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,8 @@ variable "user_auth" {
145145
user_auth_mail_from_address = string
146146
whitelisted_return_urls = list(string)
147147
cookie_signing_secret_key = string
148+
kratos_values_override = map(any)
149+
oathkeeper_values_override = map(any)
148150
}))
149151
}
150152

0 commit comments

Comments
 (0)