You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(api): Add user-configurable secrets for deployments and ensembling jobs (#403)
* Update openapi specs
* Update autogenerated golang client files
* Update autogenerated python client files
* Add user-configured secrets to batch jobs
* Add missing python client file
* Fix lint comments
* Add user-configured secrets to enricher and ensembler deployments
* Black turing sdk files
* Add db migration scripts
* Fix lint comments
* Add sdk changes to allow user-secrets to be mounted
* Update e2e tests
* Fix enricher secrets parsing
* Fix broken validator test
* Fix broken validator tests and add required tag to secrets field in pyfunc ensembler config
* Fix e2e tests
* Fix secret map key bug
* Update jsonb column to have empty list as default value
* Update db migration scripts
* Add missing step in api server to add enricher and ensembler secrets
* Update api specs and autogenerated client files
* Replace isnumeric check with check that passes floats
* Update react-lazylog with published version
* Add panels to display secrets
* Add steps to configure secrets in forms
* Add new unit test for autoscaling policy
* Add fix to unit tests to prevent race conditions
* Update openapi specs and autogenerated files
* Remove redundant variable assignment
Copy file name to clipboardExpand all lines: api/api/openapi.bundle.yaml
+115Lines changed: 115 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1617,6 +1617,11 @@ components:
1617
1617
value: value
1618
1618
- name: name
1619
1619
value: value
1620
+
secrets:
1621
+
- mlp_secret_name: mlp_secret_name
1622
+
env_var_name: env_var_name
1623
+
- mlp_secret_name: mlp_secret_name
1624
+
env_var_name: env_var_name
1620
1625
monitoring_url: monitoring_url
1621
1626
environment_name: environment_name
1622
1627
properties:
@@ -1672,6 +1677,11 @@ components:
1672
1677
value: value
1673
1678
- name: name
1674
1679
value: value
1680
+
secrets:
1681
+
- mlp_secret_name: mlp_secret_name
1682
+
env_var_name: env_var_name
1683
+
- mlp_secret_name: mlp_secret_name
1684
+
env_var_name: env_var_name
1675
1685
properties:
1676
1686
artifact_uri:
1677
1687
type: string
@@ -1680,6 +1690,10 @@ components:
1680
1690
service_account_name:
1681
1691
type: string
1682
1692
x-go-custom-tag: validate:"required"
1693
+
secrets:
1694
+
items:
1695
+
$ref: '#/components/schemas/MountedMLPSecret'
1696
+
type: array
1683
1697
resources:
1684
1698
$ref: '#/components/schemas/EnsemblingResources'
1685
1699
run_id:
@@ -2136,6 +2150,11 @@ components:
2136
2150
value: value
2137
2151
- name: name
2138
2152
value: value
2153
+
secrets:
2154
+
- mlp_secret_name: mlp_secret_name
2155
+
env_var_name: env_var_name
2156
+
- mlp_secret_name: mlp_secret_name
2157
+
env_var_name: env_var_name
2139
2158
timeout: timeout
2140
2159
routes:
2141
2160
- endpoint: endpoint
@@ -2186,6 +2205,11 @@ components:
2186
2205
value: value
2187
2206
- name: name
2188
2207
value: value
2208
+
secrets:
2209
+
- mlp_secret_name: mlp_secret_name
2210
+
env_var_name: env_var_name
2211
+
- mlp_secret_name: mlp_secret_name
2212
+
env_var_name: env_var_name
2189
2213
timeout: timeout
2190
2214
updated_at: 2000-01-23T04:56:07.000+00:00
2191
2215
standard_config:
@@ -2220,6 +2244,11 @@ components:
2220
2244
value: value
2221
2245
- name: name
2222
2246
value: value
2247
+
secrets:
2248
+
- mlp_secret_name: mlp_secret_name
2249
+
env_var_name: env_var_name
2250
+
- mlp_secret_name: mlp_secret_name
2251
+
env_var_name: env_var_name
2223
2252
timeout: timeout
2224
2253
properties:
2225
2254
id:
@@ -2438,6 +2467,11 @@ components:
2438
2467
value: value
2439
2468
- name: name
2440
2469
value: value
2470
+
secrets:
2471
+
- mlp_secret_name: mlp_secret_name
2472
+
env_var_name: env_var_name
2473
+
- mlp_secret_name: mlp_secret_name
2474
+
env_var_name: env_var_name
2441
2475
timeout: timeout
2442
2476
properties:
2443
2477
id:
@@ -2460,6 +2494,10 @@ components:
2460
2494
items:
2461
2495
$ref: '#/components/schemas/EnvVar'
2462
2496
type: array
2497
+
secrets:
2498
+
items:
2499
+
$ref: '#/components/schemas/MountedMLPSecret'
2500
+
type: array
2463
2501
service_account:
2464
2502
description: |
2465
2503
(Optional) Name of the secret registered in the current MLP project that contains the Google service account JSON key. This secret will be mounted as a file inside the container and the environment variable GOOGLE_APPLICATION_CREDENTIALS will point to the service account file."
@@ -2479,6 +2517,7 @@ components:
2479
2517
- image
2480
2518
- port
2481
2519
- resource_request
2520
+
- secrets
2482
2521
- timeout
2483
2522
type: object
2484
2523
RouterEnsemblerConfig:
@@ -2500,6 +2539,11 @@ components:
2500
2539
value: value
2501
2540
- name: name
2502
2541
value: value
2542
+
secrets:
2543
+
- mlp_secret_name: mlp_secret_name
2544
+
env_var_name: env_var_name
2545
+
- mlp_secret_name: mlp_secret_name
2546
+
env_var_name: env_var_name
2503
2547
timeout: timeout
2504
2548
updated_at: 2000-01-23T04:56:07.000+00:00
2505
2549
standard_config:
@@ -2534,6 +2578,11 @@ components:
2534
2578
value: value
2535
2579
- name: name
2536
2580
value: value
2581
+
secrets:
2582
+
- mlp_secret_name: mlp_secret_name
2583
+
env_var_name: env_var_name
2584
+
- mlp_secret_name: mlp_secret_name
2585
+
env_var_name: env_var_name
2537
2586
timeout: timeout
2538
2587
properties:
2539
2588
id:
@@ -2609,6 +2658,11 @@ components:
2609
2658
value: value
2610
2659
- name: name
2611
2660
value: value
2661
+
secrets:
2662
+
- mlp_secret_name: mlp_secret_name
2663
+
env_var_name: env_var_name
2664
+
- mlp_secret_name: mlp_secret_name
2665
+
env_var_name: env_var_name
2612
2666
timeout: timeout
2613
2667
nullable: true
2614
2668
properties:
@@ -2630,6 +2684,10 @@ components:
2630
2684
items:
2631
2685
$ref: '#/components/schemas/EnvVar'
2632
2686
type: array
2687
+
secrets:
2688
+
items:
2689
+
$ref: '#/components/schemas/MountedMLPSecret'
2690
+
type: array
2633
2691
service_account:
2634
2692
description: |
2635
2693
(Optional) Name of the secret registered in the current MLP project that contains the Google service account JSON key. This secret will be mounted as a file inside the container and the environment variable GOOGLE_APPLICATION_CREDENTIALS will point to the service account file."
ALTERTABLE enrichers ADD COLUMN secrets jsonb NOT NULL DEFAULT '[]'::jsonb;
3
+
4
+
-- Create secrets field in docker_config and pyfunc_config columns for ensemblers
5
+
UPDATE ensembler_configs SET docker_config = jsonb_set(docker_config, '{secrets}', '[]'::jsonb) WHERE docker_config IS NOT NULLAND docker_config->'secrets' IS NULL;
6
+
7
+
UPDATE ensembler_configs SET pyfunc_config = jsonb_set(pyfunc_config, '{secrets}', '[]'::jsonb) WHERE pyfunc_config IS NOT NULLAND pyfunc_config->'secrets' IS NULL;
0 commit comments