@sap/cds-dk 7.3.0 → 7.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/bin/add.js +3 -1
  2. package/bin/build.js +2 -1
  3. package/bin/cds.js +1 -1
  4. package/bin/compile/index.js +11 -0
  5. package/bin/extend.js +5 -1
  6. package/bin/init.js +31 -37
  7. package/bin/repl.js +23 -43
  8. package/bin/watch.js +5 -9
  9. package/lib/bind/bindingResolver.js +2 -1
  10. package/lib/bind/index.js +1 -1
  11. package/lib/build/buildPlugin.js +18 -3
  12. package/lib/build/buildTaskEngine.js +2 -1
  13. package/lib/build/buildTaskFactory.js +33 -9
  14. package/lib/build/buildTaskProvider.js +1 -1
  15. package/lib/build/buildTaskProviderFactory.js +15 -61
  16. package/lib/build/constants.js +2 -0
  17. package/lib/build/index.js +5 -2
  18. package/lib/build/plugins.js +35 -0
  19. package/lib/build/provider/edmxBuildPlugin.js +9 -1
  20. package/lib/build/provider/featureToggleBuildPlugin.js +2 -3
  21. package/lib/build/provider/internalBuildPlugin.js +4 -0
  22. package/lib/build/provider/internalBuildTaskProvider.js +1 -1
  23. package/lib/build/provider/java/index.js +12 -6
  24. package/lib/build/provider/nodejs/index.js +3 -2
  25. package/lib/build/util.js +5 -0
  26. package/lib/client/base_command.js +8 -18
  27. package/lib/client/download_legacy.js +2 -10
  28. package/lib/client/params.js +6 -4
  29. package/lib/client/settings_manager.js +38 -35
  30. package/lib/compile/openapi/csdl2openapi.js +1 -1
  31. package/lib/deploy/to-hana/hana.js +53 -35
  32. package/lib/index.js +7 -1
  33. package/lib/init/constants.js +4 -2
  34. package/lib/init/template/_merging/registry-mta.js +12 -0
  35. package/lib/init/template/enterprise-messaging/files/event-mesh.json.hbs +1 -1
  36. package/lib/init/template/enterprise-messaging/index.js +1 -1
  37. package/lib/init/template/enterprise-messaging-shared/files/event-mesh.json.hbs +1 -1
  38. package/lib/init/template/enterprise-messaging-shared/index.js +19 -5
  39. package/lib/init/template/helm/index.js +1 -1
  40. package/lib/init/template/helm/subcharts/content-deployment/Chart.yaml +4 -4
  41. package/lib/init/template/helm/subcharts/content-deployment/templates/_helpers.tpl +4 -2
  42. package/lib/init/template/helm/subcharts/content-deployment/templates/job.yaml +4 -3
  43. package/lib/init/template/helm/subcharts/content-deployment/values.schema.json +9 -83
  44. package/lib/init/template/helm/subcharts/content-deployment/values.yaml +54 -15
  45. package/lib/init/template/helm/subcharts/service-instance/Chart.yaml +4 -4
  46. package/lib/init/template/helm/subcharts/service-instance/templates/serviceinstance.yaml +1 -1
  47. package/lib/init/template/helm/subcharts/service-instance/values.schema.json +0 -17
  48. package/lib/init/template/helm/subcharts/service-instance/values.yaml +28 -0
  49. package/lib/init/template/helm/subcharts/web-application/Chart.yaml +5 -5
  50. package/lib/init/template/helm/subcharts/web-application/templates/_api.tpl +60 -0
  51. package/lib/init/template/helm/subcharts/web-application/templates/_helpers.tpl +34 -73
  52. package/lib/init/template/helm/subcharts/web-application/templates/api-rule.yaml +4 -4
  53. package/lib/init/template/helm/subcharts/web-application/templates/deployment.yaml +96 -17
  54. package/lib/init/template/helm/subcharts/web-application/templates/network-policy.yaml +19 -3
  55. package/lib/init/template/helm/subcharts/web-application/templates/pod-disruption-budget.yaml +3 -3
  56. package/lib/init/template/helm/subcharts/web-application/templates/rbac.yaml +26 -0
  57. package/lib/init/template/helm/subcharts/web-application/templates/secret.yaml +1 -1
  58. package/lib/init/template/helm/subcharts/web-application/templates/service-account.yaml +1 -1
  59. package/lib/init/template/helm/subcharts/web-application/templates/service-binding.yaml +1 -1
  60. package/lib/init/template/helm/subcharts/web-application/templates/service.yaml +21 -3
  61. package/lib/init/template/helm/subcharts/web-application/templates/virtual-service.yaml +36 -0
  62. package/lib/init/template/helm/subcharts/web-application/values.schema.json +535 -142
  63. package/lib/init/template/helm/subcharts/web-application/values.yaml +168 -44
  64. package/lib/init/template/local-messaging/files/package.json.hbs +15 -0
  65. package/lib/init/template/local-messaging/index.js +25 -0
  66. package/lib/init/template/mta/index.js +2 -2
  67. package/lib/init/template/nodejs/files/.gitignore.hbs +3 -0
  68. package/lib/init/template/nodejs/files/.vscode/launch.json +0 -3
  69. package/lib/init/template/notifications/files/mta.yaml.hbs +17 -0
  70. package/lib/init/template/notifications/files/package.json.hbs +5 -0
  71. package/lib/init/template/notifications/index.js +43 -0
  72. package/lib/init/template/typer/files/package.json +1 -1
  73. package/lib/init/util/projectReader.js +1 -0
  74. package/lib/util/pruneAxiosErrors.js +4 -1
  75. package/lib/util/term.js +1 -2
  76. package/lib/watch/livereload-server.js +38 -2
  77. package/lib/watch/node-watch.js +3 -2
  78. package/npm-shrinkwrap.json +438 -2205
  79. package/package.json +2 -2
  80. package/lib/init/template/helm/subcharts/content-deployment/templating.md +0 -37
  81. package/lib/init/template/helm/subcharts/content-deployment/values-lint.yaml +0 -5
  82. package/lib/init/template/helm/subcharts/content-deployment/values.md +0 -1011
  83. package/lib/init/template/helm/subcharts/service-instance/templating.md +0 -18
  84. package/lib/init/template/helm/subcharts/service-instance/values-lint.yaml +0 -2
  85. package/lib/init/template/helm/subcharts/service-instance/values.md +0 -186
  86. package/lib/init/template/helm/subcharts/web-application/templating.md +0 -51
  87. package/lib/init/template/helm/subcharts/web-application/values-lint.yaml +0 -8
  88. package/lib/init/template/helm/subcharts/web-application/values.md +0 -1363
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "emname": "{{appName}}-emname",
3
3
  "version": "1.1.0",
4
- "namespace": "default/{{appName}}/1",
4
+ "namespace": "default/{{cleanedAppName}}/1",
5
5
  "options": {
6
6
  "management": true,
7
7
  "messagingrest": true,
@@ -3,14 +3,14 @@ const cds = require('../../../cds')
3
3
  const { read } = cds.utils
4
4
  const { readProject } = require('../../util/projectReader')
5
5
  const { mergeJSON, mergeYAML } = require('../../util/merge')
6
+ const { parseMd5File, writeMd5File } = require('../../util/md5')
6
7
  const { srvNode4, srvJava4, enterpriseMessaging } = require('../_merging/registry-mta')
7
8
 
8
9
  module.exports = class EnterpriseMessagingSharedTemplate extends require('../templateBase') {
9
10
 
10
11
  async canRun() {
11
- const { hasMta, hasHelm, isJava } = await readProject()
12
- if (isJava) throw `'cds add enterprise-messaging-shared' is not available for Java yet`
13
- if (hasHelm && !hasMta) throw `'cds add enterprise-messaging-shared' is not available for Kyma yet`
12
+ const { isJava } = await readProject()
13
+ if (isJava) throw `'cds add enterprise-messaging-shared' is not available for Java yet`
14
14
  return true
15
15
  }
16
16
 
@@ -26,9 +26,9 @@ module.exports = class EnterpriseMessagingSharedTemplate extends require('../tem
26
26
  await mergeJSON('event-mesh.json', join(__dirname, 'files', 'event-mesh.json.hbs'), project)
27
27
  }
28
28
 
29
- async runDependentMerging() {
29
+ async runDependentMerging(context = {}) {
30
30
  const project = await readProject()
31
- const { hasMta, isNodejs, srvPath } = project
31
+ const { hasMta, hasHelm, isNodejs, srvPath } = project
32
32
 
33
33
  if (hasMta) {
34
34
  const srv = (isNodejs ? srvNode4 : srvJava4)(srvPath)
@@ -45,5 +45,19 @@ module.exports = class EnterpriseMessagingSharedTemplate extends require('../tem
45
45
  }
46
46
  )
47
47
  }
48
+
49
+ if (hasHelm) {
50
+ let isIndependentCommand = false
51
+ if (Object.keys(context).length == 0){
52
+ isIndependentCommand = true
53
+ context.oldTrackingData = context.newTrackingData = await parseMd5File(join('chart', '.cds-add-helm-files.md5'))
54
+ }
55
+ await mergeYAML(join('chart', 'values.yaml'), join(__dirname, 'files', 'values.yaml'))
56
+ const HelmTemplate = require(`../helm`);
57
+ const helmTemplate = new HelmTemplate(context.oldTrackingData, context.newTrackingData);
58
+ isIndependentCommand = isIndependentCommand | await helmTemplate.addSubChart('service-instance');
59
+ await helmTemplate.addDependency('service-instance', 'event-mesh');
60
+ if (isIndependentCommand) await writeMd5File(join('chart', '.cds-add-helm-files.md5'), context.newTrackingData)
61
+ }
48
62
  }
49
63
  }
@@ -14,7 +14,7 @@ module.exports = class HelmTemplate extends require('../templateBase') {
14
14
  }
15
15
 
16
16
  getRelatedFacets() {
17
- return ['hana', 'xsuaa', 'enterprise-messaging', 'destination' , 'multitenancy', 'extensibility', 'approuter', 'connectivity']
17
+ return ['hana', 'xsuaa', 'enterprise-messaging', 'enterprise-messaging-shared', 'destination' , 'multitenancy', 'extensibility', 'approuter', 'connectivity']
18
18
  }
19
19
 
20
20
  static hasFacet() {
@@ -1,7 +1,7 @@
1
1
  apiVersion: v2
2
- name: content-deployment
3
2
  description: A Helm Chart for creating a Content Deployment job
4
- type: application
5
- version: 0.1.0
3
+ name: content-deployment
6
4
  sources:
7
- - "https://github.tools.sap/unified-runtime/content-deployment"
5
+ - https://github.tools.sap/unified-runtime/content-deployment
6
+ type: application
7
+ version: 1.3.0
@@ -118,6 +118,8 @@ Name of the imagePullSecret
118
118
  {{- $ips.global.name }}
119
119
  {{- else if or $ips.local.dockerconfigjson $ips.global.dockerconfigjson }}
120
120
  {{- include "content-deployment.internal.fullname" . }}
121
+ {{- else }}
122
+ {{- "image-pull-secret" }}
121
123
  {{- end }}
122
124
  {{- end }}
123
125
 
@@ -128,9 +130,9 @@ Calculate the final image name
128
130
  {{- $tag := .Values.image.tag | default .Values.global.image.tag | default "latest" }}
129
131
  {{- $registry := .Values.image.registry | default .Values.global.image.registry }}
130
132
  {{- if $registry }}
131
- {{- $registry | trimSuffix "/" }}/{{ .Values.image.repository }}:{{ $tag }}
133
+ {{- $registry | trimSuffix "/" | trimPrefix "https://" }}/{{ .Values.image.repository | trimSuffix "/" }}:{{ $tag }}
132
134
  {{- else }}
133
- {{- .Values.image.repository }}:{{ $tag }}
135
+ {{- .Values.image.repository | trimSuffix "/" | trimPrefix "https://" }}:{{ $tag }}
134
136
  {{- end }}
135
137
  {{- end }}
136
138
 
@@ -50,15 +50,16 @@ spec:
50
50
  drop:
51
51
  - ALL
52
52
  privileged: false
53
+ runAsNonRoot: true
54
+ {{- if .Values.runAsUser }}
55
+ runAsUser: {{ .Values.runAsUser }}
56
+ {{- end }}
53
57
  readOnlyRootFilesystem: false
54
58
  volumeMounts:
55
59
  - mountPath: /tmp
56
60
  name: tmp
57
61
  {{- include "content-deployment.internal.serviceMounts" . | nindent 8 }}
58
62
  restartPolicy: OnFailure
59
- securityContext:
60
- runAsNonRoot: true
61
- runAsUser: 1000
62
63
  volumes:
63
64
  - name: tmp
64
65
  emptyDir: {}
@@ -10,26 +10,18 @@
10
10
  "global": {
11
11
  "$id": "#/properties/global",
12
12
  "type": "object",
13
- "title": "Helm global values",
14
- "description": "For more information, see https://helm.sh/docs/chart_template_guide/subcharts_and_globals/#global-chart-values",
15
13
  "x-ignore-untested": true,
16
14
  "additionalProperties": true,
17
15
  "properties": {
18
16
  "imagePullSecret": {
19
17
  "$id": "#/properties/global/imagePullSecret",
20
- "title": "Image Pull Secret configuration",
21
- "description": "For more information, see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/",
22
18
  "additionalProperties": true,
23
19
  "type": "object",
24
20
  "properties": {
25
21
  "name": {
26
- "title": "Secret name",
27
- "description": "Name of the Kubernetes Secret, used as an image pull secret (must be of type kubernetes.io/dockerconfigjson). Can't be used with the `dockerconfigjson` option.",
28
22
  "$ref": "#/definitions/KubernetesName"
29
23
  },
30
24
  "dockerconfigjson": {
31
- "title": "Secret content",
32
- "description": "The content for the dynamically generated Kubernetes Secret, which will be used as an image pull secret. Can't be used with the `name` option.",
33
25
  "type": "string"
34
26
  }
35
27
  },
@@ -53,7 +45,6 @@
53
45
  "image": {
54
46
  "$id": "#/properties/global/image",
55
47
  "title": "Image configuration",
56
- "description": "Either name or repository is required.",
57
48
  "type": "object",
58
49
  "required": [],
59
50
  "additionalProperties": true,
@@ -72,24 +63,23 @@
72
63
  },
73
64
  "nameOverride": {
74
65
  "$id": "#/properties/nameOverride",
75
- "title": "Chart name override",
76
- "description": "Will be used instead of the `.Chart.Name`, e.g. when generating the Deployment name.",
77
66
  "type": "string",
78
67
  "pattern": "[0-9a-z][0-9a-z-.]*"
79
68
  },
80
69
  "fullnameOverride": {
81
70
  "$id": "#/properties/fullnameOverride",
82
- "title": "Override for the `.fullname` helper function.",
83
- "description": "Will be used as an override for the `.fullname` helper function (i.e. `.Release.Name-.Chart.Name`).",
84
71
  "type": "string",
85
72
  "pattern": "[0-9a-z][0-9a-z-.]*"
86
73
  },
87
74
  "serviceAccountName": {
88
75
  "$id": "#/properties/serviceAccountName",
89
- "title": "Service Account name",
90
- "description": "Name of the Service Account assigned to pods.",
91
76
  "type": "string"
92
77
  },
78
+ "runAsUser": {
79
+ "$id": "#/properties/runAsUser",
80
+ "type": "integer",
81
+ "minimum": 1
82
+ },
93
83
  "image": {
94
84
  "$id": "#/properties/image",
95
85
  "title": "Image configuration",
@@ -101,10 +91,8 @@
101
91
  "properties": {
102
92
  "repository": {
103
93
  "$id": "#/properties/image/properties/repository",
104
- "title": "Repository of the image",
105
- "description": "Should also include the image name (i.e. everything before the `:` sign).",
106
94
  "type": "string",
107
- "pattern": "^[\\w-./:]*[@sha256]*$"
95
+ "pattern": "^[\\w-./:]*(@sha256)?$"
108
96
  },
109
97
  "tag": {
110
98
  "$id": "#/properties/image/properties/tag",
@@ -118,19 +106,13 @@
118
106
  },
119
107
  "imagePullSecret": {
120
108
  "$id": "#/properties/imagePullSecret",
121
- "title": "Image Pull Secret configuration",
122
- "description": "For more information, see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/",
123
109
  "additionalProperties": false,
124
110
  "type": "object",
125
111
  "properties": {
126
112
  "name": {
127
- "title": "Secret name",
128
- "description": "Name of the Kubernetes Secret, used as an image pull secret (must be of type kubernetes.io/dockerconfigjson). Can't be used with the `dockerconfigjson` option.",
129
113
  "$ref": "#/definitions/KubernetesName"
130
114
  },
131
115
  "dockerconfigjson": {
132
- "title": "Secret content",
133
- "description": "The content for the dynamically generated Kubernetes Secret, which will be used as an image pull secret. Can't be used with the `name` option.",
134
116
  "type": "string"
135
117
  }
136
118
  },
@@ -154,27 +136,22 @@
154
136
  "resources": {
155
137
  "$id": "#/properties/resources",
156
138
  "type": "object",
157
- "title": "Pod resources configuration",
158
139
  "additionalProperties": false,
159
140
  "properties": {
160
141
  "requests": {
161
142
  "type": "object",
162
- "description": "Minimal required resources for the application to operate, that will be reserved for each replica.",
163
143
  "additionalProperties": false,
164
144
  "properties": {
165
145
  "cpu": {
166
146
  "$id": "#/properties/resources/properties/requests/properties/cpu",
167
- "description": "CPU resource units, as described here https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu",
168
147
  "type": ["number", "string"]
169
148
  },
170
149
  "ephemeral-storage": {
171
150
  "$id": "#/properties/resources/properties/requests/properties/ephemeral-storage",
172
- "description": "Size of the local ephemeral storage, measured in bytes. For more info, see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#local-ephemeral-storage",
173
151
  "type": "string"
174
152
  },
175
153
  "memory": {
176
154
  "$id": "#/properties/resources/properties/requests/properties/memory",
177
- "description": "Amount of memory, mesaured in bytes. For more info, see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory",
178
155
  "type": "string"
179
156
  }
180
157
  }
@@ -185,17 +162,14 @@
185
162
  "properties": {
186
163
  "cpu": {
187
164
  "$id": "#/properties/resources/properties/limits/properties/cpu",
188
- "description": "CPU resource units, as described here https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-cpu",
189
165
  "type": ["number", "string"]
190
166
  },
191
167
  "ephemeral-storage": {
192
168
  "$id": "#/properties/resources/properties/limits/properties/ephemeral-storage",
193
- "description": "Size of the local ephemeral storage, measured in bytes. For more info, see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#local-ephemeral-storage",
194
169
  "type": "string"
195
170
  },
196
171
  "memory": {
197
172
  "$id": "#/properties/resources/properties/limits/properties/memory",
198
- "description": "Amount of memory, mesaured in bytes. For more info, see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#meaning-of-memory",
199
173
  "type": "string"
200
174
  }
201
175
  }
@@ -204,7 +178,6 @@
204
178
  },
205
179
  "env": {
206
180
  "$id": "#/properties/env",
207
- "description": "Key-value map of environment variables, which should be added to the Pod spec.",
208
181
  "anyOf": [
209
182
  {
210
183
 
@@ -214,68 +187,55 @@
214
187
  "$comment": "regex above copied from https://github.com/kubernetes/kubernetes/blob/ea0764452222146c47ec826977f49d7001b0ea8c/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go#L402",
215
188
  "anyOf": [
216
189
  {
217
- "description": "Plain value of an environment variable.",
218
190
  "type": ["integer", "string"]
219
191
  },
220
192
  {
221
- "description": "`valueFrom` configuration for the environment variable https://kubernetes.io/docs/tasks/inject-data-application/environment-variable-expose-pod-information/",
222
193
  "type": "object",
223
194
  "additionalProperties": false,
224
195
  "maxProperties": 1,
225
196
  "properties": {
226
197
  "configMapKeyRef": {
227
- "description": "Selects a key of a ConfigMap.",
228
198
  "type": "object",
229
199
  "additionalProperties": false,
230
200
  "properties": {
231
201
  "name": {
232
- "description": "Name of a ConfigMap.",
233
202
  "type": "string"
234
203
  },
235
204
  "key": {
236
- "description": "Key in that ConfigMap, which value will be used.",
237
205
  "type": "string"
238
206
  }
239
207
  }
240
208
  },
241
209
  "secretKeyRef": {
242
- "description": "Selects a key of a Secret.",
243
210
  "type": "object",
244
211
  "additionalProperties": false,
245
212
  "properties": {
246
213
  "name": {
247
- "description": "Name of a Secret.",
248
214
  "type": "string"
249
215
  },
250
216
  "key": {
251
- "description": "Key in that Secret, which value will be used.",
252
217
  "type": "string"
253
218
  }
254
219
  }
255
220
  },
256
221
  "resourceFieldRef": {
257
- "description": "Selects a resource of the container.",
258
222
  "type": "object",
259
223
  "additionalProperties": false,
260
224
  "properties": {
261
225
  "containerName": {
262
- "description": "Name of a Container.",
263
226
  "type": "string"
264
227
  },
265
228
  "resource": {
266
- "description": "Only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
267
229
  "type": "string"
268
230
  }
269
231
  }
270
232
  },
271
233
  "fieldRef": {
272
- "description": "Selects a field of the pod.",
273
234
  "type": "object",
274
235
  "additionalProperties": false,
275
236
  "properties": {
276
237
  "fieldPath": {
277
- "type": "string",
278
- "description": "Supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs."
238
+ "type": "string"
279
239
  }
280
240
  }
281
241
  }
@@ -306,58 +266,47 @@
306
266
  "type": ["string", "integer"]
307
267
  },
308
268
  "configMapKeyRef": {
309
- "description": "Selects a key of a ConfigMap.",
310
269
  "type": "object",
311
270
  "additionalProperties": false,
312
271
  "properties": {
313
272
  "name": {
314
- "description": "Name of a ConfigMap.",
315
273
  "type": "string"
316
274
  },
317
275
  "key": {
318
- "description": "Key in that ConfigMap, which value will be used.",
319
276
  "type": "string"
320
277
  }
321
278
  }
322
279
  },
323
280
  "secretKeyRef": {
324
- "description": "Selects a key of a Secret.",
325
281
  "type": "object",
326
282
  "additionalProperties": false,
327
283
  "properties": {
328
284
  "name": {
329
- "description": "Name of a Secret.",
330
285
  "type": "string"
331
286
  },
332
287
  "key": {
333
- "description": "Key in that Secret, which value will be used.",
334
288
  "type": "string"
335
289
  }
336
290
  }
337
291
  },
338
292
  "resourceFieldRef": {
339
- "description": "Selects a resource of the container.",
340
293
  "type": "object",
341
294
  "additionalProperties": false,
342
295
  "properties": {
343
296
  "containerName": {
344
- "description": "Name of a Container.",
345
297
  "type": "string"
346
298
  },
347
299
  "resource": {
348
- "description": "Only resources limits and requests (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.",
349
300
  "type": "string"
350
301
  }
351
302
  }
352
303
  },
353
304
  "fieldRef": {
354
- "description": "Selects a field of the pod.",
355
305
  "type": "object",
356
306
  "additionalProperties": false,
357
307
  "properties": {
358
308
  "fieldPath": {
359
- "type": "string",
360
- "description": "Supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`, spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs."
309
+ "type": "string"
361
310
  }
362
311
  }
363
312
  }
@@ -369,7 +318,6 @@
369
318
  },
370
319
  "envSecretNames": {
371
320
  "$id": "#/properties/envSecretNames",
372
- "description": "[Deprecated] Use `envFrom` instead",
373
321
  "type": "array",
374
322
  "uniqueItems": true,
375
323
  "items": {
@@ -379,7 +327,6 @@
379
327
  },
380
328
  "envFrom": {
381
329
  "$id": "#/properties/envFrom",
382
- "description": "List of sources to populate environment variables in the pod.",
383
330
  "type": "array",
384
331
  "default": [],
385
332
  "items": {
@@ -389,10 +336,8 @@
389
336
  "additionalProperties": false,
390
337
  "properties": {
391
338
  "configMapRef": {
392
- "description": "The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.",
393
339
  "properties": {
394
340
  "name": {
395
- "description": "Name of a ConfigMap.",
396
341
  "type": "string"
397
342
  }
398
343
  },
@@ -407,10 +352,8 @@
407
352
  "additionalProperties": false,
408
353
  "properties": {
409
354
  "secretRef": {
410
- "description": "The contents of the target Secret's Data field will represent the key-value pairs as environment variables.",
411
355
  "properties": {
412
356
  "name": {
413
- "description": "Name of a Secret.",
414
357
  "type": "string"
415
358
  }
416
359
  },
@@ -427,7 +370,6 @@
427
370
  "ttlDaysAfterFinished": {
428
371
  "$id": "#/properties/ttlDaysAfterFinished",
429
372
  "title": "Time to keep the Job after it has finished.",
430
- "description": "Number of days to keep the Kubernetes Job once it is finished. 0 means it is removed as soon as it is finished.",
431
373
  "type": "integer",
432
374
  "minimum": 0,
433
375
  "default": 14
@@ -449,7 +391,6 @@
449
391
  ],
450
392
  "properties": {
451
393
  "fromSecret": {
452
- "description": "Name of a Kubernetes Secret, with the binding content, compliant to the SAP Kubernetes Service Binding spec https://github.tools.sap/Kubernetes-Service-Bindings/doc/",
453
394
  "type": "string"
454
395
  }
455
396
  }
@@ -459,33 +400,26 @@
459
400
  "additionalProperties": false,
460
401
  "properties": {
461
402
  "serviceInstanceName": {
462
- "description": "Name of a BTP Operator Service Instance, created by the `service-instance` Helm chart. Can't be used with the `serviceInstanceFullname` option.",
463
403
  "type": "string"
464
404
  },
465
405
  "serviceInstanceFullname": {
466
- "description": "Full name of a BTP Operator Service Instance. Can't be used with the `serviceInstanceName` option.",
467
406
  "type": "string"
468
407
  },
469
408
  "externalName": {
470
- "description": "The name for the service binding in SAP BTP",
471
409
  "type": "string"
472
410
  },
473
411
  "secretName": {
474
- "description": "The name of the secret where the credentials are stored.",
475
412
  "type": "string"
476
413
  },
477
414
  "parameters": {
478
- "description": "Some services support the provisioning of additional configuration parameters during the bind request. For the list of supported parameters, check the documentation of the particular service offering.",
479
415
  "type": "object"
480
416
  },
481
417
  "parametersFrom": {
482
- "description": "List of sources to populate parameters.",
483
418
  "type": "array",
484
419
  "items": {
485
420
  "anyOf": [
486
421
  {
487
422
  "type": "object",
488
- "description": "Kubernetes Secret as a parameters source.",
489
423
  "additionalProperties": false,
490
424
  "properties": {
491
425
  "secretKeyRef": {
@@ -497,11 +431,9 @@
497
431
  ],
498
432
  "properties": {
499
433
  "name": {
500
- "description": "Name of a Secret.",
501
434
  "type": "string"
502
435
  },
503
436
  "key": {
504
- "description": "Key in that Secret, which contains a string that represents the json to include in the set of parameters to be sent to the broker.",
505
437
  "type": "string"
506
438
  }
507
439
  }
@@ -510,7 +442,6 @@
510
442
  },
511
443
  {
512
444
  "type": "object",
513
- "description": "Kubernetes Config Map as a parameters source.",
514
445
  "additionalProperties": false,
515
446
  "properties": {
516
447
  "configMapKeyRef": {
@@ -522,11 +453,9 @@
522
453
  ],
523
454
  "properties": {
524
455
  "name": {
525
- "description": "Name of a Config Map",
526
456
  "type": "string"
527
457
  },
528
458
  "key": {
529
- "description": "Key in that Config Map, which contains a string that represents the json to include in the set of parameters to be sent to the broker.",
530
459
  "type": "string"
531
460
  }
532
461
  }
@@ -537,7 +466,6 @@
537
466
  }
538
467
  },
539
468
  "credentialsRotationPolicy": {
540
- "description": "Holds automatic credentials rotation configuration. For more details, see https://github.com/SAP/sap-btp-service-operator#spec-1",
541
469
  "type": "object"
542
470
  }
543
471
  },
@@ -572,12 +500,10 @@
572
500
  "ImageRegistry": {
573
501
  "type": "string",
574
502
  "title": "Image registry",
575
- "description": "Image registry e.g. docker.io",
576
- "pattern": "^[\\w-./]+$"
503
+ "pattern": "^[\\w-./:]+$"
577
504
  },
578
505
  "ImageTag": {
579
506
  "title": "Image tag",
580
- "description": "Image tag without the name (everything after the `:` sign, potentially including the `@sha256` section at the end).",
581
507
  "type": "string",
582
508
  "$comment": "Copied from https://github.com/containers/image/blob/18d58d29fdc4fc32fb8a8a6d186b829b217f1bf5/docker/reference/regexp.go#L68-L70",
583
509
  "pattern": "^((?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:(?:\\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))+)?(?::[0-9]+)?/)?[a-z0-9]+(?:(?:(?:[._]|__|[-]*)[a-z0-9]+)+)?(?:(?:/[a-z0-9]+(?:(?:(?:[._]|__|[-]*)[a-z0-9]+)+)?)+)?)(?::([\\w][\\w.-]{0,127}))?(?:@([A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][[:xdigit:]]{32,}))?$" }
@@ -1,20 +1,46 @@
1
+ # Helm global values, for more information, see https://helm.sh/docs/chart_template_guide/subcharts_and_globals/#global-chart-values
1
2
  global:
3
+ # Image Pull Secret configuration, for more information, see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
2
4
  imagePullSecret: {}
3
- # name: ""
4
- # dockerconfigjson: ""
5
+ # Name of the Kubernetes Secret, used as an image pull secret (must be of type kubernetes.io/dockerconfigjson). Can't be used with the `dockerconfigjson` option.
6
+ # name: ""
7
+ # The content for the dynamically generated Kubernetes Secret, which will be used as an image pull secret. Can't be used with the `name` option.
8
+ # dockerconfigjson: ""
9
+ # Either name or repository is required.
5
10
  image: {}
6
- # registry: gcr.io/my-project
7
- # tag: latest
8
-
9
- image: {}
10
- # repository: repo/image
11
11
  # registry: gcr.io/my-project
12
12
  # tag: latest
13
13
 
14
+ sap:
15
+ _internal:
16
+ content-deployment:
17
+ versions:
18
+ 1.3.0: true
19
+ # Will be used instead of the `.Chart.Name`, e.g. when generating the Deployment name.
20
+ # nameOverride: name
21
+
22
+ # Will be used as an override for the `.fullname` helper function (i.e. `.Release.Name-.Chart.Name`).
23
+ # fullnameOverride: my-name
24
+
25
+ # Name of the Service Account assigned to pods.
26
+ # serviceAccountName: my-serviceaccount
27
+
28
+ # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified.
29
+ # runAsUser: 1000
30
+ image: {}
31
+ # Should also include the image name (i.e. everything before the `:` sign).
32
+ # repository: repo/image
33
+ # registry: gcr.io/my-project
34
+ # tag: latest
35
+
36
+ # Image Pull Secret configuration, for more information, see https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
14
37
  imagePullSecret: {}
15
- # name: ""
16
- # dockerconfigjson: ""
38
+ # Name of the Kubernetes Secret, used as an image pull secret (must be of type kubernetes.io/dockerconfigjson). Can't be used with the `dockerconfigjson` option.
39
+ # name: ""
40
+ # The content for the dynamically generated Kubernetes Secret, which will be used as an image pull secret. Can't be used with the `name` option.
41
+ # dockerconfigjson: ""
17
42
 
43
+ # Pod resources configuration, see https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ for more information
18
44
  # resources:
19
45
  # limits:
20
46
  # cpu: 100m
@@ -24,17 +50,32 @@ imagePullSecret: {}
24
50
  # cpu: 100m
25
51
  # ephemeral-storage: 1G
26
52
  # memory: 1G
27
-
28
- # serviceAccountName: my-serviceaccount
29
-
30
53
  env: {}
31
-
54
+ # env:
55
+ # key1: value
56
+ # key2:
57
+ # secretKeyRef:
58
+ # name: my-secret
59
+ # key: my-key
60
+ # key3:
61
+ # configMapKeyRef:
62
+ # name: my-configmap
63
+ # key: my-key
64
+ # Also can be specified as a list
65
+ # env:
66
+ # - name: key1
67
+ # value: value1
68
+ # - name: key2
69
+ # configMapKeyRef:
70
+ # name: my-configmap
71
+ # key: my-key
32
72
  envFrom: []
33
73
  # - configMapRef:
34
74
  # name: my-configmap1
35
75
  # - secretRef:
36
76
  # name: my-secret-ref1
37
77
 
78
+ ttlDaysAfterFinished: 14
38
79
  # bindings:
39
80
  # ui5-repo-servicerepo:
40
81
  # serviceInstanceName: ui5-repo-instance
@@ -52,5 +93,3 @@ envFrom: []
52
93
  # serviceInstanceName: hana-manual
53
94
  # portal:
54
95
  # fromSecret: manual-secret # user-provided-service
55
-
56
- ttlDaysAfterFinished: 14