Skip to content
This repository was archived by the owner on May 14, 2025. It is now read-only.

Commit 7e6b2ec

Browse files
committed
Add image pull secrets to platform configs
- Relates #4732
1 parent e92ef61 commit 7e6b2ec

File tree

3 files changed

+81
-4
lines changed

3 files changed

+81
-4
lines changed

src/carvel/config/dataflow.lib.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,17 @@
33
#@ load("@ytt:template", "template")
44
#@ load("db/db.lib.yml", "dataflow_datasource_config")
55
#@ load("monitoring/monitoring.star", "grafana_enabled")
6+
#@ load("dataflow.star", "has_image_pull_secrets")
7+
#@ load("dataflow.star", "registry_secret_ref")
68

79
#@ def dataflow_platform_config():
810
limits:
911
memory: 1024Mi
12+
#@ if has_image_pull_secrets():
13+
imagePullSecret: #@ registry_secret_ref()
14+
#@ else:
15+
imagePullSecret: reg-creds
16+
#@ end
1017
#@ end
1118

1219
#@ def base_config():

src/carvel/config/skipper.lib.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
#@ load("@ytt:overlay", "overlay")
33
#@ load("@ytt:template", "template")
44
#@ load("skipper.star", "env_config")
5+
#@ load("skipper.star", "has_image_pull_secrets")
6+
#@ load("skipper.star", "registry_secret_ref")
57
#@ load("db/db.lib.yml", "skipper_datasource_config")
68
#@ load("monitoring/monitoring.star", "grafana_enabled")
79

@@ -12,6 +14,11 @@ limits:
1214
cpu: 500m
1315
readinessProbeDelay: 120
1416
livenessProbeDelay: 90
17+
#@ if has_image_pull_secrets():
18+
imagePullSecret: #@ registry_secret_ref()
19+
#@ else:
20+
imagePullSecret: reg-creds
21+
#@ end
1522
#@ end
1623

1724
#@ def base_config():

src/carvel/test/servers.test.ts

Lines changed: 67 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ describe('servers', () => {
9696
expect(skipperContainer?.image).toBe('springcloud/spring-cloud-skipper-server@fakedigest2');
9797
});
9898

99-
it('no additional dataflow server config', async () => {
99+
it('should have default server config', async () => {
100100
const result = await execYtt({
101101
files: ['config'],
102102
dataValueYamls: [
@@ -111,9 +111,72 @@ describe('servers', () => {
111111
expect(result.success).toBeTruthy();
112112
const yaml = result.stdout;
113113

114-
const skipperConfigMap = findConfigMap(yaml, SCDF_SERVER_NAME);
115-
const applicationYaml = skipperConfigMap?.data ? skipperConfigMap.data['application.yaml'] : undefined;
116-
expect(applicationYaml).toContain('spring');
114+
const dataflowConfigMap = findConfigMap(yaml, SCDF_SERVER_NAME);
115+
const skipperConfigMap = findConfigMap(yaml, SKIPPER_NAME);
116+
117+
const dataflowApplicationYaml = dataflowConfigMap?.data ? dataflowConfigMap.data['application.yaml'] : '';
118+
const skipperApplicationYaml = skipperConfigMap?.data ? skipperConfigMap.data['application.yaml'] : '';
119+
120+
const dataflowDoc = parseYamlDocument(dataflowApplicationYaml);
121+
const dataflowJson = dataflowDoc.toJSON();
122+
const skipperDoc = parseYamlDocument(skipperApplicationYaml);
123+
const skipperJson = skipperDoc.toJSON();
124+
125+
const dataflowPlatformLimitsMemory = lodash.get(
126+
dataflowJson,
127+
'spring.cloud.dataflow.task.platform.kubernetes.accounts.default.limits.memory'
128+
) as string;
129+
expect(dataflowPlatformLimitsMemory).toEqual('1024Mi');
130+
131+
const dataflowPlatformImagePullSecret = lodash.get(
132+
dataflowJson,
133+
'spring.cloud.dataflow.task.platform.kubernetes.accounts.default.imagePullSecret'
134+
) as string;
135+
expect(dataflowPlatformImagePullSecret).toEqual('reg-creds');
136+
137+
const skipperPlatformLimitsMemory = lodash.get(
138+
skipperJson,
139+
'spring.cloud.skipper.server.platform.kubernetes.accounts.default.limits.memory'
140+
) as string;
141+
expect(skipperPlatformLimitsMemory).toEqual('1024Mi');
142+
143+
const skipperPlatformImagePullSecret = lodash.get(
144+
skipperJson,
145+
'spring.cloud.skipper.server.platform.kubernetes.accounts.default.imagePullSecret'
146+
) as string;
147+
expect(skipperPlatformImagePullSecret).toEqual('reg-creds');
148+
});
149+
150+
it('should change server config', async () => {
151+
const result = await execYtt({
152+
files: ['config'],
153+
dataValueYamls: [...DEFAULT_REQUIRED_DATA_VALUES, 'scdf.registry.secret.ref=fakeref']
154+
});
155+
expect(result.success).toBeTruthy();
156+
const yaml = result.stdout;
157+
158+
const dataflowConfigMap = findConfigMap(yaml, SCDF_SERVER_NAME);
159+
const skipperConfigMap = findConfigMap(yaml, SKIPPER_NAME);
160+
161+
const dataflowApplicationYaml = dataflowConfigMap?.data ? dataflowConfigMap.data['application.yaml'] : '';
162+
const skipperApplicationYaml = skipperConfigMap?.data ? skipperConfigMap.data['application.yaml'] : '';
163+
164+
const dataflowDoc = parseYamlDocument(dataflowApplicationYaml);
165+
const dataflowJson = dataflowDoc.toJSON();
166+
const skipperDoc = parseYamlDocument(skipperApplicationYaml);
167+
const skipperJson = skipperDoc.toJSON();
168+
169+
const dataflowPlatformImagePullSecret = lodash.get(
170+
dataflowJson,
171+
'spring.cloud.dataflow.task.platform.kubernetes.accounts.default.imagePullSecret'
172+
) as string;
173+
expect(dataflowPlatformImagePullSecret).toEqual('fakeref');
174+
175+
const skipperPlatformImagePullSecret = lodash.get(
176+
skipperJson,
177+
'spring.cloud.skipper.server.platform.kubernetes.accounts.default.imagePullSecret'
178+
) as string;
179+
expect(skipperPlatformImagePullSecret).toEqual('fakeref');
117180
});
118181

119182
it('should have additional server config', async () => {

0 commit comments

Comments
 (0)