Skip to content

Commit 6ad64b5

Browse files
committed
feat: make postLogoutUri and redirectUri configurable
1 parent fd6d930 commit 6ad64b5

File tree

18 files changed

+125
-36
lines changed

18 files changed

+125
-36
lines changed

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
| Readme | Chart Version | App Version | Description | Hub |
66
|--------|---------------|-------------|-------------|-----|
77
| [Agent](./charts/agent/README.md) | 2.9.1 | v2.6.1 | Formance Membership Agent Helm Chart | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/agent)](https://artifacthub.io/packages/search?repo=agent) |
8-
| [Cloudprem](./charts/cloudprem/README.md) | 4.0.0-beta.1 | latest | Formance control-plane | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/cloudprem)](https://artifacthub.io/packages/search?repo=cloudprem) |
9-
| [Console-V3](./charts/console-v3/README.md) | 2.8.0 | v1.17.0 | Formance Console | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/console-v3)](https://artifacthub.io/packages/search?repo=console-v3) |
8+
| [Cloudprem](./charts/cloudprem/README.md) | 4.0.0-beta.2 | latest | Formance control-plane | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/cloudprem)](https://artifacthub.io/packages/search?repo=cloudprem) |
9+
| [Console-V3](./charts/console-v3/README.md) | 3.0.0-beta.1 | v1.17.0 | Formance Console | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/console-v3)](https://artifacthub.io/packages/search?repo=console-v3) |
1010
| [Core](./charts/core/README.md) | 1.2.6 | latest | Formance Core Library | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/core)](https://artifacthub.io/packages/search?repo=core) |
1111
| [Demo](./charts/demo/README.md) | 2.1.2 | latest | Formance Private Regions Demo | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/demo)](https://artifacthub.io/packages/search?repo=demo) |
12-
| [Membership](./charts/membership/README.md) | 3.0.0-beta.1 | v1.11.1 | Formance EE Membership API. Manage stacks, organizations, regions, invitations, users, roles, and permissions. | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/membership)](https://artifacthub.io/packages/search?repo=membership) |
13-
| [Portal](./charts/portal/README.md) | 3.0.0-beta.1 | v1.17.0 | Formance Portal | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/portal)](https://artifacthub.io/packages/search?repo=portal) |
12+
| [Membership](./charts/membership/README.md) | 3.0.0-beta.2 | v1.11.1 | Formance EE Membership API. Manage stacks, organizations, regions, invitations, users, roles, and permissions. | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/membership)](https://artifacthub.io/packages/search?repo=membership) |
13+
| [Portal](./charts/portal/README.md) | 3.0.0-beta.2 | v1.17.0 | Formance Portal | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/portal)](https://artifacthub.io/packages/search?repo=portal) |
1414
| [Regions](./charts/regions/README.md) | 3.1.1 | latest | Formance Private Regions Helm Chart | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/regions)](https://artifacthub.io/packages/search?repo=regions) |
1515
| [Stargate](./charts/stargate/README.md) | 0.8.1 | latest | Formance EE Stargate gRPC Gateway | [![Artifact HUB](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/stargate)](https://artifacthub.io/packages/search?repo=stargate) |
1616

charts/cloudprem/Chart.lock

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
dependencies:
22
- name: membership
33
repository: file://../membership
4-
version: 3.0.0-beta.1
4+
version: 3.0.0-beta.2
55
- name: portal
66
repository: file://../portal
7-
version: 3.0.0-beta.1
7+
version: 3.0.0-beta.2
88
- name: console-v3
99
repository: file://../console-v3
10-
version: 2.8.0
11-
digest: sha256:f23f7629bf11510c772d44d6c5cd602f0d6420c0ccd0685e66ab3abbc07678c5
12-
generated: "2025-11-25T11:45:31.232188+01:00"
10+
version: 3.0.0-beta.1
11+
digest: sha256:5745f695bc4822a7af6e458f0802a722a3693ae391ba0db5e39de579b91a5507
12+
generated: "2025-11-21T17:07:58.415243+01:00"

charts/cloudprem/Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ type: application
3232
# This is the chart version. This version number should be incremented each time you make changes
3333
# to the chart and its templates, including the app version.
3434
# Versions are expected to follow Semantic Versioning (https://semver.org/)
35-
version: 4.0.0-beta.1
35+
version: 4.0.0-beta.2
3636

3737
# This is the version number of the application being deployed. This version number should be
3838
# incremented each time you make changes to the application. Versions are not expected to
@@ -54,6 +54,6 @@ dependencies:
5454
repository: file://../portal
5555
condition: global.platform.portal.enabled
5656
- name: console-v3
57-
version: 2.X
57+
version: 3.0.X-X
5858
repository: file://../console-v3
5959
condition: global.platform.consoleV3.enabled

charts/cloudprem/README.md

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Formance cloudprem Helm chart
22

33
[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/cloudprem)](https://artifacthub.io/packages/search?repo=cloudprem)
4-
![Version: 4.0.0-beta.1](https://img.shields.io/badge/Version-4.0.0--beta.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square)
4+
![Version: 4.0.0-beta.2](https://img.shields.io/badge/Version-4.0.0--beta.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: latest](https://img.shields.io/badge/AppVersion-latest-informational?style=flat-square)
55

66
Formance control-plane
77

@@ -13,7 +13,7 @@ Kubernetes: `>=1.14.0-0`
1313

1414
| Repository | Name | Version |
1515
|------------|------|---------|
16-
| file://../console-v3 | console-v3 | 2.X |
16+
| file://../console-v3 | console-v3 | 3.0.X-X |
1717
| file://../membership | membership | 3.0.X-X |
1818
| file://../portal | portal | 3.0.X-X |
1919

@@ -277,6 +277,10 @@ See [profiles](./profiles) for more examples.
277277
#### Breaking changes
278278

279279
- Console-V2 is now removed, only Console-V3 is supported.
280+
- Membership oauth client now use Policy Based Access Control (PBAC) by default. See [PBAC documentation](https://docs.formance.com/deployment/cloudprem2/pbac) for more information.
281+
282+
# Membership oauth client configuration changes:
283+
<Insert Docs>
280284

281285
### From v2.X.X To v3.0.0
282286

@@ -389,7 +393,6 @@ Dex:
389393
|-----|------|---------|-------------|
390394
| global.aws.elb | bool | `false` | Enable AWS ELB across all services, appropriate <service>.aws.targertGroup must be set |
391395
| global.aws.iam | bool | `false` | Enable AWS IAM Authentification |
392-
| console-v3.aws | object | `{"targetGroups":{"http":{"ipAddressType":"ipv4","serviceRef":{"name":"{{ include \"core.fullname\" $ }}","port":"{{ .Values.service.ports.http.port }}"},"targetGroupARN":"","targetType":"ip"}}}` | AWS Console target groups |
393396
| membership.aws | object | `{"targetGroups":{"grpc":{"ipAddressType":"ipv4","serviceRef":{"name":"{{ include \"core.fullname\" $ }}","port":"{{ .Values.service.ports.grpc.port }}"},"targetGroupARN":"","targetType":"ip"},"http":{"ipAddressType":"ipv4","serviceRef":{"name":"{{ include \"core.fullname\" $ }}","port":"{{ .Values.service.ports.http.port }}"},"targetGroupARN":"","targetType":"ip"}}}` | AWS Membership target groups |
394397
| membership.dex.aws | object | `{"targetGroups":{"dex-http":{"ipAddressType":"ipv4","serviceRef":{"name":"{{ include \"dex.fullname\" .Subcharts.dex }}","port":"{{ .Values.dex.service.ports.http.port }}"},"targetGroupARN":"","targetType":"ip"}}}` | AWS Target Groups |
395398
| portal.aws | object | `{"targetGroups":{"http":{"ipAddressType":"ipv4","serviceRef":{"name":"{{ include \"core.fullname\" $ }}","port":"{{ .Values.service.ports.http.port }}"},"targetGroupARN":"","targetType":"ip"}}}` | AWS Portal target groups |
@@ -416,12 +419,12 @@ Dex:
416419
| global.monitoring.traces.mode | string | `"grpc"` | Mode |
417420
| global.monitoring.traces.port | int | `4317` | Port |
418421
| global.nats.url | string | `""` | NATS URL: nats://nats:4222 nats://$PUBLISHER_NATS_USERNAME:$PUBLISHER_NATS_PASSWORD@nats:4222 |
419-
| global.platform.consoleV3 | object | `{"host":"console.v3.{{ .Values.global.serviceHost }}","oauth":{"client":{"existingSecret":"","id":"console-v3","secret":"changeMe2","secretKeys":{"secret":""}}},"scheme":"https"}` | Console V3: EXPERIMENTAL |
422+
| global.platform.consoleV3 | object | `{"host":"console.v3.{{ .Values.global.serviceHost }}","oauth":{"client":{"existingSecret":"","id":"console-v3","postLogoutRedirectUris":"- {{ tpl (printf \"%s://%s\" .Values.global.platform.consoleV3.scheme .Values.global.platform.consoleV3.host) $ }}/auth/logout\n","redirectUris":"- {{ tpl (printf \"%s://%s\" .Values.global.platform.consoleV3.scheme .Values.global.platform.consoleV3.host) $ }}/auth/login\n- {{ tpl (printf \"%s://%s\" .Values.global.platform.consoleV3.scheme .Values.global.platform.consoleV3.host) $ }}/auth/login-by-org\n","scopes":["accesses","remember_me","keep_refresh_token","on_behalf"],"secret":"changeMe2","secretKeys":{"secret":""}}},"scheme":"https"}` | Console V3: EXPERIMENTAL |
420423
| global.platform.consoleV3.enabled | bool | `true` | Enable console-v3 |
421424
| global.platform.consoleV3.host | string | `"console.v3.{{ .Values.global.serviceHost }}"` | is the host for the console |
422425
| global.platform.consoleV3.oauth.client.existingSecret | string | `""` | is the name of the secret |
423426
| global.platform.consoleV3.oauth.client.id | string | `"console-v3"` | is the id of the client |
424-
| global.platform.consoleV3.oauth.client.scopes | list | `["supertoken","accesses","remember_me","keep_refresh_token","organization_features"]` | is the name of the secret |
427+
| global.platform.consoleV3.oauth.client.scopes | list | `["accesses","remember_me","keep_refresh_token","on_behalf"]` | is the name of the secret |
425428
| global.platform.consoleV3.oauth.client.secret | string | `"changeMe2"` | is the secret of the client |
426429
| global.platform.consoleV3.oauth.client.secretKeys | object | `{"secret":""}` | is the key contained within the secret |
427430
| global.platform.consoleV3.scheme | string | `"https"` | is the scheme for the console |
@@ -432,7 +435,7 @@ Dex:
432435
| global.platform.membership.scheme | string | `"https"` | is the scheme for the membership |
433436
| global.platform.portal.host | string | `"portal.{{ .Values.global.serviceHost }}"` | is the host for the portal |
434437
| global.platform.portal.oauth.client.id | string | `"portal"` | is the id of the client |
435-
| global.platform.portal.oauth.client.scopes | list | `["supertoken","accesses","remember_me","keep_refresh_token","organization_features"]` | is the name of the secret |
438+
| global.platform.portal.oauth.client.scopes | list | `["accesses","remember_me","keep_refresh_token","on_behalf"]` | is the name of the secret |
436439
| global.platform.portal.oauth.client.secret | string | `"changeMe1"` | is the secret of the client |
437440
| global.platform.portal.oauth.client.secretKeys | object | `{"secret":""}` | is the key contained within the secret |
438441
| global.platform.portal.scheme | string | `"https"` | is the scheme for the portal |
@@ -527,10 +530,18 @@ Dex:
527530
| global.nats.auth.secretKeys.username | string | `"username"` | |
528531
| global.nats.auth.user | string | `""` | |
529532
| global.nats.enabled | bool | `false` | |
533+
| global.platform.consoleV3.oauth.client.postLogoutRedirectUris | string | `"- {{ tpl (printf \"%s://%s\" .Values.global.platform.consoleV3.scheme .Values.global.platform.consoleV3.host) $ }}/auth/logout\n"` | |
534+
| global.platform.consoleV3.oauth.client.redirectUris | string | `"- {{ tpl (printf \"%s://%s\" .Values.global.platform.consoleV3.scheme .Values.global.platform.consoleV3.host) $ }}/auth/login\n- {{ tpl (printf \"%s://%s\" .Values.global.platform.consoleV3.scheme .Values.global.platform.consoleV3.host) $ }}/auth/login-by-org\n"` | |
530535
| global.platform.membership.oidc.host | string | `"dex.{{ .Values.global.serviceHost }}"` | is the host for the oidc |
531536
| global.platform.membership.oidc.scheme | string | `"https"` | is the scheme for the issuer |
532537
| global.platform.portal.enabled | bool | `true` | |
533538
| global.platform.portal.oauth.client.existingSecret | string | `""` | |
539+
| global.platform.portal.oauth.client.postLogoutRedirectUris | string | `"- {{ tpl (printf \"%s://%s\" .Values.global.platform.portal.scheme .Values.global.platform.portal.host) $ }}/auth/logout\n"` | |
540+
| global.platform.portal.oauth.client.redirectUris | string | `"- {{ tpl (printf \"%s://%s\" .Values.global.platform.portal.scheme .Values.global.platform.portal.host) $ }}/auth/login\n- {{ tpl (printf \"%s://%s\" .Values.global.platform.portal.scheme .Values.global.platform.portal.host) $ }}/auth/login-by-org\n"` | |
541+
| global.platform.portal.oauth.client.scopes[0] | string | `"accesses"` | |
542+
| global.platform.portal.oauth.client.scopes[1] | string | `"remember_me"` | |
543+
| global.platform.portal.oauth.client.scopes[2] | string | `"keep_refresh_token"` | |
544+
| global.platform.portal.oauth.client.scopes[3] | string | `"on_behalf"` | |
534545
| global.platform.stargate.serverURL | string | `""` | |
535546
| global.platform.stargate.tls.disable | bool | `false` | |
536547
| console-v3.affinity | object | `{}` | Console affinity |

charts/cloudprem/README.md.gotmpl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,10 @@ See [profiles](./profiles) for more examples.
273273
#### Breaking changes
274274

275275
- Console-V2 is now removed, only Console-V3 is supported.
276+
- Membership oauth client now use Policy Based Access Control (PBAC) by default. See [PBAC documentation](https://docs.formance.com/deployment/cloudprem2/pbac) for more information.
276277

278+
# Membership oauth client configuration changes:
279+
<Insert Docs>
277280

278281
### From v2.X.X To v3.0.0
279282

charts/console-v3/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ type: application
2929
# This is the chart version. This version number should be incremented each time you make changes
3030
# to the chart and its templates, including the app version.
3131
# Versions are expected to follow Semantic Versioning (https://semver.org/)
32-
version: 2.8.0
32+
version: 3.0.0-beta.1
3333

3434
# This is the version number of the application being deployed. This version number should be
3535
# incremented each time you make changes to the application. Versions are not expected to

charts/console-v3/README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# console-v3
22

3-
![Version: 2.8.0](https://img.shields.io/badge/Version-2.8.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.17.0](https://img.shields.io/badge/AppVersion-v1.17.0-informational?style=flat-square)
3+
![Version: 3.0.0-beta.1](https://img.shields.io/badge/Version-3.0.0--beta.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.17.0](https://img.shields.io/badge/AppVersion-v1.17.0-informational?style=flat-square)
44

55
Formance Console
66

@@ -31,7 +31,6 @@ Kubernetes: `>=1.14.0-0`
3131
| Key | Type | Default | Description |
3232
|-----|------|---------|-------------|
3333
| global.aws.elb | bool | `false` | Enable AWS ELB across all services, appropriate <service>.aws.targertGroup must be set |
34-
| aws | object | `{"targetGroups":{"http":{"ipAddressType":"ipv4","serviceRef":{"name":"{{ include \"core.fullname\" $ }}","port":"{{ .Values.service.ports.http.port }}"},"targetGroupARN":"","targetType":"ip"}}}` | AWS Console target groups |
3534

3635
### Global configuration
3736

@@ -45,7 +44,7 @@ Kubernetes: `>=1.14.0-0`
4544
| global.monitoring.traces.insecure | bool | `true` | Insecure |
4645
| global.monitoring.traces.mode | string | `"grpc"` | Mode |
4746
| global.monitoring.traces.port | int | `4317` | Port |
48-
| global.platform.consoleV3 | object | `{"host":"console.v3.{{ .Values.global.serviceHost }}","oauth":{"client":{"existingSecret":"","id":"console-v3","secret":"changeMe2","secretKeys":{"secret":""}}},"scheme":"https"}` | Console V3: EXPERIMENTAL |
47+
| global.platform.consoleV3 | object | `{"host":"console.v3.{{ .Values.global.serviceHost }}","oauth":{"client":{"existingSecret":"","id":"console-v3","postLogoutRedirectUris":"- {{ tpl (printf \"%s://%s\" .Values.global.platform.consoleV3.scheme .Values.global.platform.consoleV3.host) $ }}/auth/logout\n","redirectUris":"- {{ tpl (printf \"%s://%s\" .Values.global.platform.consoleV3.scheme .Values.global.platform.consoleV3.host) $ }}/auth/login\n- {{ tpl (printf \"%s://%s\" .Values.global.platform.consoleV3.scheme .Values.global.platform.consoleV3.host) $ }}/auth/login-by-org\n","scopes":["accesses","remember_me","keep_refresh_token","on_behalf"],"secret":"changeMe2","secretKeys":{"secret":""}}},"scheme":"https"}` | Console V3: EXPERIMENTAL |
4948
| global.platform.consoleV3.host | string | `"console.v3.{{ .Values.global.serviceHost }}"` | is the host for the console |
5049
| global.platform.consoleV3.oauth.client.existingSecret | string | `""` | is the name of the secret |
5150
| global.platform.consoleV3.oauth.client.id | string | `"console-v3"` | is the id of the client |

charts/console-v3/values.schema.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,18 @@
195195
"id": {
196196
"type": "string"
197197
},
198+
"postLogoutRedirectUris": {
199+
"type": "string"
200+
},
201+
"redirectUris": {
202+
"type": "string"
203+
},
204+
"scopes": {
205+
"type": "array",
206+
"items": {
207+
"type": "string"
208+
}
209+
},
198210
"secret": {
199211
"type": "string"
200212
},

charts/console-v3/values.yaml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,16 @@ global:
6868
# @section -- Global configuration
6969
secretKeys:
7070
secret: ""
71+
scopes:
72+
- accesses
73+
- remember_me
74+
- keep_refresh_token
75+
- on_behalf
76+
redirectUris: |
77+
- {{ tpl (printf "%s://%s" .Values.global.platform.consoleV3.scheme .Values.global.platform.consoleV3.host) $ }}/auth/login
78+
- {{ tpl (printf "%s://%s" .Values.global.platform.consoleV3.scheme .Values.global.platform.consoleV3.host) $ }}/auth/login-by-org
79+
postLogoutRedirectUris: |
80+
- {{ tpl (printf "%s://%s" .Values.global.platform.consoleV3.scheme .Values.global.platform.consoleV3.host) $ }}/auth/logout
7181
stargate:
7282
# -- if enabled, the stackApiUrl is not required
7383
# It will be templated with `{{ printf "http://%s-%s:8080/#{organizationId}/#{stackId}/api" .Release.Name "stargate" -}}`
@@ -158,8 +168,8 @@ service:
158168
# -- service node port
159169
# nodePort:
160170

161-
# -- AWS Console target groups
162-
# @section -- Global AWS configuration
171+
# -- AWS Console target groups
172+
# @section -- Global AWS configuration
163173
aws:
164174
targetGroups:
165175
http:

charts/membership/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ type: application
1616
# This is the chart version. This version number should be incremented each time you make changes
1717
# to the chart and its templates, including the app version.
1818
# Versions are expected to follow Semantic Versioning (https://semver.org/)
19-
version: 3.0.0-beta.1
19+
version: 3.0.0-beta.2
2020

2121
# This is the version number of the application being deployed. This version number should be
2222
# incremented each time you make changes to the application. Versions are not expected to

0 commit comments

Comments
 (0)