Skip to content

Commit 40fb4b9

Browse files
authored
deployer access to oathkeeper rules (#161)
* deployer access to oathkeeper rules * kratos redirect to frontend domain instead
1 parent c9703b2 commit 40fb4b9

3 files changed

Lines changed: 41 additions & 31 deletions

File tree

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

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ resource "helm_release" "oathkeeper" {
4646

4747
set {
4848
name = "oathkeeper.config.errors.handlers.redirect.config.to"
49-
value = "https://${var.backend_service_domain}/auth/login"
49+
value = "https://${var.frontend_service_domain}/auth/login"
5050
}
5151

5252
set {
@@ -124,92 +124,82 @@ resource "helm_release" "kratos" {
124124
# Return urls
125125
set {
126126
name = "kratos.config.selfservice.default_browser_return_url"
127-
value = "https://${var.backend_service_domain}/"
127+
value = "https://${var.frontend_service_domain}/"
128128
}
129129

130130
set {
131131
name = "kratos.config.selfservice.whitelisted_return_urls[0]"
132-
value = "https://${var.backend_service_domain}/"
132+
value = "https://${var.frontend_service_domain}/"
133133
}
134134

135135
set {
136136
name = "kratos.config.selfservice.flows.settings.ui_url"
137-
value = "https://${var.backend_service_domain}/auth/settings"
137+
value = "https://${var.frontend_service_domain}/auth/settings"
138138
}
139139

140140
set {
141141
name = "kratos.config.selfservice.flows.settings.after.default_browser_return_url"
142-
value = "https://${var.backend_service_domain}/dashboard"
142+
value = "https://${var.frontend_service_domain}/dashboard"
143143
}
144144

145145
set {
146146
name = "kratos.config.selfservice.flows.verification.ui_url"
147-
value = "https://${var.backend_service_domain}/auth/verify"
147+
value = "https://${var.frontend_service_domain}/auth/verify"
148148
}
149149

150150
set {
151151
name = "kratos.config.selfservice.flows.verification.after.default_browser_return_url"
152-
value = "https://${var.backend_service_domain}/dashboard"
152+
value = "https://${var.frontend_service_domain}/dashboard"
153153
}
154154

155155
set {
156156
name = "kratos.config.selfservice.flows.recovery.ui_url"
157-
value = "https://${var.backend_service_domain}/auth/recovery"
157+
value = "https://${var.frontend_service_domain}/auth/recovery"
158158
}
159159

160160
set {
161161
name = "kratos.config.selfservice.flows.logout.after.default_browser_return_url"
162-
value = "https://${var.backend_service_domain}/"
162+
value = "https://${var.frontend_service_domain}/"
163163
}
164164

165165
set {
166166
name = "kratos.config.selfservice.flows.login.ui_url"
167-
value = "https://${var.backend_service_domain}/auth/login"
167+
value = "https://${var.frontend_service_domain}/auth/login"
168168
}
169169

170170
set {
171171
name = "kratos.config.selfservice.flows.login.after.default_browser_return_url"
172-
value = "https://${var.backend_service_domain}/dashboard"
172+
value = "https://${var.frontend_service_domain}/dashboard"
173173
}
174174

175175
set {
176176
name = "kratos.config.selfservice.flows.registration.ui_url"
177-
value = "https://${var.backend_service_domain}/auth/registration"
177+
value = "https://${var.frontend_service_domain}/auth/registration"
178178
}
179179

180180
set {
181181
name = "kratos.config.selfservice.flows.registration.after.default_browser_return_url"
182-
value = "https://${var.backend_service_domain}/dashboard"
182+
value = "https://${var.frontend_service_domain}/dashboard"
183183
}
184184

185185
set {
186186
name = "kratos.config.selfservice.flows.registration.after.password.default_browser_return_url"
187-
value = "https://${var.backend_service_domain}/dashboard"
187+
value = "https://${var.frontend_service_domain}/dashboard"
188188
}
189189

190190
set {
191191
name = "kratos.config.selfservice.flows.registration.after.oidc.default_browser_return_url"
192-
value = "https://${var.backend_service_domain}/dashboard"
192+
value = "https://${var.frontend_service_domain}/dashboard"
193193
}
194194

195195
set {
196196
name = "kratos.config.selfservice.flows.error.ui_url"
197-
value = "https://${var.backend_service_domain}/auth/errors"
197+
value = "https://${var.frontend_service_domain}/auth/errors"
198198
}
199199

200200
set {
201201
name = "kratos.config.selfservice.flows."
202-
value = "https://${var.backend_service_domain}/"
203-
}
204-
205-
set {
206-
name = "kratos.config.selfservice.flows."
207-
value = "https://${var.backend_service_domain}/"
208-
}
209-
210-
set {
211-
name = "kratos.config.selfservice.flows."
212-
value = "https://${var.backend_service_domain}/"
202+
value = "https://${var.frontend_service_domain}/"
213203
}
214204
}
215205

templates/terraform/environments/prod/user_access.tf

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
locals {
2+
# user-auth:enabled will allow deployer to manage oathkeeper rules, otherwise concats with []
3+
auth_enabled = <% if eq (index .Params `userAuth`) "yes" %>true<% else %>false<% end %>
4+
auth_deploy_rules = local.auth_enabled ? [{
5+
verbs = ["get", "create", "delete", "patch", "update"]
6+
api_groups = ["*"]
7+
resources = ["rules"]
8+
}] : []
9+
}
10+
111
# define AWS policy documents for developer
212
data "aws_iam_policy_document" "developer_access" {
313
# EKS
@@ -192,7 +202,7 @@ locals {
192202
]
193203

194204
# define Kubernetes policy for deployer
195-
k8s_deployer_access = [
205+
k8s_deployer_access = concat([
196206
{
197207
verbs = ["create", "list", "get", "delete", "patch", "update", "watch"]
198208
api_groups = ["*"]
@@ -207,5 +217,5 @@ locals {
207217
api_groups = ["*"]
208218
resources = ["secrets"]
209219
}
210-
]
220+
], local.auth_deploy_rules)
211221
}

templates/terraform/environments/stage/user_access.tf

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
locals {
2+
# user-auth:enabled will allow deployer to manage oathkeeper rules, otherwise concats with []
3+
auth_enabled = <% if eq (index .Params `userAuth`) "yes" %>true<% else %>false<% end %>
4+
auth_deploy_rules = local.auth_enabled ? [{
5+
verbs = ["get", "create", "delete", "patch", "update"]
6+
api_groups = ["*"]
7+
resources = ["rules"]
8+
}] : []
9+
}
10+
111
# define AWS policy documents for developer
212
data "aws_iam_policy_document" "developer_access" {
313
# EKS
@@ -192,7 +202,7 @@ locals {
192202
]
193203

194204
# define Kubernetes policy for deployer
195-
k8s_deployer_access = [
205+
k8s_deployer_access = concat([
196206
{
197207
verbs = ["create", "list", "get", "delete", "patch", "update", "watch"]
198208
api_groups = ["*"]
@@ -207,5 +217,5 @@ locals {
207217
api_groups = ["*"]
208218
resources = ["secrets"]
209219
}
210-
]
220+
], local.auth_deploy_rules)
211221
}

0 commit comments

Comments
 (0)