Commit f597951
feat(infra): add Spring Cloud Vault secrets management (STA-219) (#236)
* feat(infra): add Spring Cloud Vault secrets management across all services (STA-219)
Integrate HashiCorp Vault via Spring Cloud Vault 5.0.1 for centralised
secrets management. Vault is opt-in (app.vault.enabled=false by default)
so existing env-var workflow and all tests continue to work unchanged.
- Add spring-cloud-starter-vault-config to platform-infra
- Add VaultConfig with @ConditionalOnProperty toggle (matchIfMissing=false)
- Add optional:vault:// ConfigData import to all 10 service application.yml
- Configure KV v2 backend with per-service and shared (application) contexts
- Add vault-init Docker Compose service that seeds dev secrets on startup
- Add init-vault.sh script seeding DB creds, API keys, JWT keys per service
Closes STA-219
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(infra): add spring.cloud.vault.enabled=false to all integration test configs
Fixes duplicate YAML key errors in CI where integration test application.yml
files that already had spring.cloud.stream conflicted with the new
spring.cloud.vault block from the main application.yml.
Also explicitly disables Vault in all IT configs to prevent connection
attempts in CI where no Vault instance is running.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix(infra): default Vault scheme to HTTPS and remove dev token fallback (STA-219)
Addresses CodeRabbit review: scheme defaults to HTTPS for production safety,
token has no fallback to prevent accidental auth with dev-root-token.
Local dev sets VAULT_SCHEME=http and VAULT_TOKEN=dev-root-token via docker-compose.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 501ebef commit f597951
26 files changed
Lines changed: 516 additions & 88 deletions
File tree
- api-gateway-iam/api-gateway-iam/src/main/resources
- blockchain-custody/blockchain-custody/src
- integration-test/resources
- main/resources
- compliance-travel-rule/compliance-travel-rule/src
- integration-test/resources
- main/resources
- fiat-off-ramp/fiat-off-ramp/src
- integration-test/resources
- main/resources
- fiat-on-ramp/fiat-on-ramp/src
- integration-test/resources
- main/resources
- fx-liquidity-engine/fx-liquidity-engine/src
- integration-test/resources
- main/resources
- infra/local/vault
- ledger-accounting/ledger-accounting/src
- integration-test/resources
- main/resources
- merchant-iam/merchant-iam/src
- integration-test/resources
- main/resources
- merchant-onboarding/merchant-onboarding/src
- integration-test/resources
- main/resources
- payment-orchestrator/payment-orchestrator/src
- integration-test/resources
- main/resources
- platform-infra
- src
- main/java/com/stablecoin/payments/platform/infrastructure/vault
- test/java/com/stablecoin/payments/platform/infrastructure/vault
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
| 28 | + | |
| 29 | + | |
28 | 30 | | |
29 | 31 | | |
30 | 32 | | |
| |||
Lines changed: 21 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
5 | 26 | | |
6 | 27 | | |
7 | 28 | | |
| |||
47 | 68 | | |
48 | 69 | | |
49 | 70 | | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | 71 | | |
58 | 72 | | |
59 | 73 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
2 | 5 | | |
3 | 6 | | |
4 | 7 | | |
| |||
Lines changed: 16 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
5 | 21 | | |
6 | 22 | | |
7 | 23 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
2 | 5 | | |
3 | 6 | | |
4 | 7 | | |
| |||
Lines changed: 26 additions & 12 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
5 | 31 | | |
6 | 32 | | |
7 | 33 | | |
| |||
36 | 62 | | |
37 | 63 | | |
38 | 64 | | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | 65 | | |
52 | 66 | | |
53 | 67 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
193 | 193 | | |
194 | 194 | | |
195 | 195 | | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
196 | 213 | | |
197 | 214 | | |
198 | 215 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
2 | 5 | | |
3 | 6 | | |
4 | 7 | | |
| |||
Lines changed: 28 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
5 | 33 | | |
6 | 34 | | |
7 | 35 | | |
| |||
36 | 64 | | |
37 | 65 | | |
38 | 66 | | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | 67 | | |
54 | 68 | | |
55 | 69 | | |
| |||
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
2 | 5 | | |
3 | 6 | | |
4 | 7 | | |
| |||
0 commit comments