Skip to content

Commit d48aa82

Browse files
committed
Added detailed list of changes for 0.4.0 to chart migration doc
Signed-off-by: Emiliano Suñé <emiliano.sune@gmail.com>
1 parent 4dc913e commit d48aa82

File tree

1 file changed

+298
-12
lines changed

1 file changed

+298
-12
lines changed

docs/chart-upgrade-guide.md

Lines changed: 298 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,36 +9,41 @@ The Traction Helm chart has been refactored to use the [ACA-Py Helm chart](https
99
### Migration Steps
1010

1111
> [!IMPORTANT]
12-
> The following migration steps assume the upgrade target is a working > deployment of Traction using version `0.3.8` of the chart.
12+
> The following migration steps assume the upgrade target is a working deployment of Traction using version `0.3.8` of the chart. Upgrades from previous versions have not been tested.
1313
1414
#### Update Global Configuration
15+
1516
```yaml
1617
# Move ingressSuffix to global section
1718
global:
18-
ingressSuffix: -dev.example.com # Move from root level
19+
ingressSuffix: -dev.example.com # Move from root level
1920
```
2021
2122
#### Update ACA-Py Image Configuration
23+
2224
```yaml
2325
acapy:
2426
image:
25-
registry: ghcr.io # Add registry field
26-
repository: bcgov/traction-plugins-acapy # Remove registry prefix
27+
registry: ghcr.io # Add registry field
28+
repository: bcgov/traction-plugins-acapy # Remove registry prefix
2729
# ... keep other image settings
2830
```
2931

3032
#### Update Service Port Configuration
33+
3134
```yaml
3235
acapy:
3336
service:
3437
ports:
35-
http: 8021 # Update from httpPort: 8030
36-
admin: 8022 # Update from adminPort: 8031
37-
ws: 8023 # Add websocket port if needed
38+
http: 8021 # Update from httpPort: 8030
39+
admin: 8022 # Update from adminPort: 8031
40+
ws: 8023 # Add websocket port if needed
3841
```
3942
4043
#### Convert Plugin Configuration
41-
Replace the `plugins` section with `extraArgs`:
44+
45+
Plugins are now configured directly as CLI arguments, replace the `plugins` section with `extraArgs`:
46+
4247
```yaml
4348
acapy:
4449
extraArgs:
@@ -53,12 +58,13 @@ acapy:
5358
```
5459

5560
#### Update Secrets Configuration
61+
5662
```yaml
5763
acapy:
5864
secrets:
5965
api:
6066
retainOnUninstall: true
61-
existingSecret: "" # Update from acapy.secret.adminApiKey.existingSecret
67+
existingSecret: "" # Update from acapy.secret.adminApiKey.existingSecret
6268
secretKeys:
6369
adminApiKey: adminApiKey
6470
jwtKey: jwt
@@ -67,15 +73,18 @@ acapy:
6773
```
6874

6975
#### Update Multitenancy Configuration
76+
7077
```yaml
7178
acapy:
7279
argfile.yml:
7380
multitenancy-config:
74-
- wallet_type=single-wallet-askar # Simplified array format
81+
- wallet_type=single-wallet-askar # Simplified array format
7582
```
7683

7784
#### Remove Obsolete Configurations
85+
7886
Remove these sections from your values file:
87+
7988
- `postgresql.*`
8089
- `acapy.walletStorageConfig.*`
8190
- `acapy.walletStorageCredentials.*`
@@ -85,15 +94,17 @@ Remove these sections from your values file:
8594
- `acapy.secret.*` (replaced with `acapy.secrets.*`)
8695

8796
#### Update UI Configuration
97+
8898
```yaml
8999
ui:
90-
pluginInnkeeper: # New section for innkeeper config
100+
pluginInnkeeper: # New section for innkeeper config
91101
existingSecret: ""
92102
smtp:
93-
existingSecret: "" # Move from root level existingSecret
103+
existingSecret: "" # Move from root level existingSecret
94104
```
95105

96106
> [!WARNING]
107+
>
97108
> 1. **Port Changes:** The default ACA-Py service ports have changed from 8030/8031 to 8021/8022. Update any external configurations accordingly.
98109
>
99110
> 2. **Database Configuration:** PostgreSQL configuration is now handled by the ACA-Py chart dependency, not directly in the Traction chart.
@@ -105,3 +116,278 @@ ui:
105116
> 5. **Resource Configuration:** Some resource limit configurations have been simplified to requests-only in the new structure.
106117
>
107118
> 6. **Template Changes:** Since ACA-Py templates are now provided by the dependency chart, any custom template modifications will need to be reconsidered.
119+
120+
<details>
121+
122+
<summary>Detailed list of changes for 0.4.0</summary>
123+
124+
### Chart.yaml Dependencies
125+
126+
**Old Structure (v0.3.8):**
127+
128+
```yaml
129+
dependencies:
130+
- name: postgresql
131+
version: 11.9.13
132+
repository: https://charts.bitnami.com/bitnami/
133+
condition: postgresql.enabled
134+
- name: common
135+
repository: "https://charts.bitnami.com/bitnami"
136+
version: 2.x.x
137+
```
138+
139+
**New Structure (v0.4.0+):**
140+
141+
```yaml
142+
dependencies:
143+
- name: acapy
144+
version: 0.2.3
145+
repository: https://openwallet-foundation.github.io/helm-charts/
146+
- name: common
147+
repository: "https://charts.bitnami.com/bitnami"
148+
version: 2.31.3
149+
```
150+
151+
### Values.yaml Structural Changes
152+
153+
#### Global Section (NEW)
154+
155+
**New Section:**
156+
157+
```yaml
158+
global:
159+
imageRegistry: ""
160+
imagePullSecrets: []
161+
ingressSuffix: -dev.example.com
162+
defaultStorageClass: ""
163+
security:
164+
allowInsecureImages: false
165+
compatibility:
166+
openshift:
167+
adaptSecurityContext: auto
168+
```
169+
170+
**Migration Required:**
171+
172+
- Move `ingressSuffix` from root level to `global.ingressSuffix`
173+
174+
#### ACA-Py Configuration Changes
175+
176+
**Old Agent Image Configuration:**
177+
178+
```yaml
179+
acapy:
180+
image:
181+
repository: ghcr.io/bcgov/traction-plugins-acapy
182+
pullPolicy: IfNotPresent
183+
pullSecrets: []
184+
tag: ""
185+
```
186+
187+
**New Agent Image Configuration:**
188+
189+
```yaml
190+
acapy:
191+
image:
192+
registry: ghcr.io # NEW: separate registry field
193+
repository: bcgov/traction-plugins-acapy # CHANGED: no registry prefix
194+
pullPolicy: IfNotPresent
195+
pullSecrets: []
196+
tag: ""
197+
digest: "" # NEW: digest support
198+
```
199+
200+
#### Configuration Files
201+
202+
**Removed Sections:**
203+
204+
- `acapy.argfile.yml.genesis-transactions-list` (replaced with `ledgers.yml`)
205+
- `acapy.argfile.yml.label` (now handled automatically)
206+
- `acapy.walletStorageConfig.*` (moved to ACA-Py chart)
207+
- `acapy.walletStorageCredentials.*` (moved to ACA-Py chart)
208+
- `acapy.multitenancyConfiguration.*` (moved to ACA-Py chart)
209+
- `acapy.plugins.*` (replaced with `extraArgs`)
210+
211+
**New/Changed Sections:**
212+
213+
```yaml
214+
acapy:
215+
argfile.yml:
216+
# REMOVED: genesis-transactions-list: /home/aries/ledgers.yml
217+
# REMOVED: label: '{{ include "acapy.label" .}}'
218+
multitenancy-config: # NEW: array format instead of complex config
219+
- wallet_type=single-wallet-askar
220+
webhook-url: "" # NEW: explicit webhook URL field
221+
```
222+
223+
#### Plugin Configuration Changes
224+
225+
**Old Structure:**
226+
227+
```yaml
228+
acapy:
229+
plugins:
230+
basicmessageStorage: true
231+
connectionUpdate: true
232+
multitenantProvider: true
233+
tractionInnkeeper: true
234+
rpc: true
235+
```
236+
237+
**New Structure:**
238+
239+
```yaml
240+
acapy:
241+
extraArgs: # Plugins now configured directly as CLI arguments
242+
- --plugin 'aries_cloudagent.messaging.jsonld'
243+
- --plugin traction_plugins.traction_innkeeper.v1_0
244+
- --plugin-config-value traction_innkeeper.innkeeper_wallet.tenant_id="$(INNKEEPER_WALLET_TENANT_ID)"
245+
- --plugin-config-value traction_innkeeper.innkeeper_wallet.wallet_key="$(INNKEEPER_WALLET_WALLET_KEY)"
246+
- --plugin multitenant_provider.v1_0
247+
- --plugin basicmessage_storage.v1_0
248+
- --plugin connections
249+
- --plugin connection_update.v1_0
250+
- --plugin rpc.v1_0
251+
- --plugin webvh
252+
```
253+
254+
#### Service Configuration
255+
256+
**Old Structure:**
257+
258+
```yaml
259+
acapy:
260+
service:
261+
type: ClusterIP
262+
adminPort: 8031
263+
httpPort: 8030
264+
```
265+
266+
**New Structure:**
267+
268+
```yaml
269+
acapy:
270+
service:
271+
ports:
272+
http: 8021 # CHANGED: port number and structure
273+
admin: 8022 # CHANGED: port number and structure
274+
ws: 8023 # NEW: websocket port
275+
```
276+
277+
#### Secrets Configuration
278+
279+
**Old Structure:**
280+
281+
```yaml
282+
acapy:
283+
secret:
284+
adminApiKey:
285+
existingSecret: ""
286+
generated: true
287+
value: ""
288+
walletKey:
289+
existingSecret: ""
290+
pluginInnkeeper:
291+
existingSecret: ""
292+
generated: true
293+
walletkey: ""
294+
tenantid: ""
295+
```
296+
297+
**New Structure:**
298+
299+
```yaml
300+
acapy:
301+
secrets:
302+
api:
303+
retainOnUninstall: true
304+
existingSecret: ""
305+
secretKeys:
306+
adminApiKey: adminApiKey
307+
jwtKey: jwt
308+
walletKey: walletKey
309+
webhookapiKey: webhookapi
310+
seed:
311+
enabled: false
312+
```
313+
314+
#### Network and Ingress Changes
315+
316+
**New Additions:**
317+
318+
```yaml
319+
acapy:
320+
ingress: # NEW: ACA-Py specific ingress (disabled by default)
321+
agent:
322+
enabled: false
323+
hostname: ""
324+
admin:
325+
enabled: false
326+
hostname: ""
327+
328+
agentUrl: "" # NEW: override URLs
329+
adminUrl: "" # NEW: override URLs
330+
331+
extraEnvVars: [] # NEW: environment variables
332+
extraEnvVarsCM: "" # NEW: ConfigMap for env vars
333+
extraEnvVarsSecret: "" # NEW: Secret for env vars
334+
335+
websockets: # NEW: WebSocket support
336+
enabled: false
337+
```
338+
339+
#### Removed Sections
340+
341+
**Sections No Longer Available:**
342+
343+
- `acapy.persistence.*` (handled by ACA-Py chart)
344+
- `acapy.openshift.adminRoute.*` (simplified routing)
345+
- Most resource limit configurations (now use requests only)
346+
347+
### 3. Tenant UI Configuration Changes
348+
349+
#### SMTP Configuration Changes
350+
351+
**Old Structure:**
352+
353+
```yaml
354+
ui:
355+
existingSecret: "" # Root level secret
356+
smtp:
357+
# ... smtp config
358+
```
359+
360+
**New Structure:**
361+
362+
```yaml
363+
ui:
364+
pluginInnkeeper: # NEW: separate innkeeper config
365+
existingSecret: ""
366+
smtp:
367+
existingSecret: "" # NEW: SMTP-specific secret
368+
# ... smtp config
369+
```
370+
371+
#### New UI Features
372+
373+
**New Sections:**
374+
375+
```yaml
376+
ui:
377+
showOIDCReservationLogin: false # NEW: OIDC reservation login
378+
lokiUrl: "" # NEW: Loki logging endpoint
379+
```
380+
381+
### 4. PostgreSQL Removal
382+
383+
**Major Change:** The PostgreSQL subchart dependency has been removed. Database configuration is now handled through the ACA-Py chart dependency.
384+
385+
**Removed Section:**
386+
387+
```yaml
388+
postgresql:
389+
enabled: true
390+
# ... entire postgresql configuration
391+
```
392+
393+
</details>

0 commit comments

Comments
 (0)