Skip to content

Commit 8f50219

Browse files
srodenhuisdennisvankekemsvcAPLBotCasLubbers
authored
feat: Add Kubeflow pipelines (#742)
* feat: add kfp * fix: bucket schema * fix: cons * fix: update apps.yaml for local testing --------- Co-authored-by: Dennis van Kekem <38350840+dennisvankekem@users.noreply.github.com> Co-authored-by: svcAPLBot <174728082+svcAPLBot@users.noreply.github.com> Co-authored-by: Cas Lubbers <clubbers@akamai.com>
1 parent 252d1f5 commit 8f50219

File tree

7 files changed

+141
-107
lines changed

7 files changed

+141
-107
lines changed

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"CODEOWNERS": "plaintext"
2727
},
2828
"prettier.enable": true,
29-
"cSpell.words": ["minio"],
29+
"cSpell.words": ["kubeflow", "minio"],
3030
"[properties]": {
3131
"editor.defaultFormatter": "foxundermoon.shell-format"
3232
},

src/openapi/app.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ AppList:
2121
- keycloak
2222
- kiali
2323
- knative
24+
- kubeflow-pipelines
2425
- kured
2526
- kyverno
2627
- loki

src/openapi/settings.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,10 @@ Settings:
155155
type: string
156156
$ref: 'definitions.yaml#/wordCharacterPattern'
157157
default: thanos
158+
kubeflow-pipelines:
159+
type: string
160+
$ref: 'definitions.yaml#/wordCharacterPattern'
161+
default: kubeflow-pipelines
158162
required:
159163
- region
160164
- accessKeyId

src/otomi-stack.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,7 @@ export default class OtomiStack {
386386
velero: `lke${lkeClusterId}-velero`,
387387
gitea: `lke${lkeClusterId}-gitea`,
388388
thanos: `lke${lkeClusterId}-thanos`,
389+
'kubeflow-pipelines': `lke${lkeClusterId}-kubeflow-pipelines`,
389390
}
390391
const objectStorageClient = new ObjectStorageClient(data.apiToken)
391392
// Create object storage buckets

src/validators.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ export const OBJ_STORAGE_APPS = json({
7979
{ appId: 'tempo', required: true },
8080
{ appId: 'velero', required: true },
8181
{ appId: 'thanos', required: true },
82+
{ appId: 'kubeflow-pipelines', required: true },
8283
],
8384
})
8485
export const ROOT_KEYCLOAK_USER = str({

test/apps.yaml

Lines changed: 79 additions & 71 deletions
Large diffs are not rendered by default.

test/core.yaml

Lines changed: 54 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ k8s:
33
namespaces:
44
- name: argocd
55
app: argocd
6+
disableIstioInjection: true
67
- name: cert-manager
78
disableIstioInjection: true
89
- name: cnpg-system
@@ -18,26 +19,20 @@ k8s:
1819
disablePolicyChecks: true
1920
- name: external-dns
2021
disableIstioInjection: true
21-
- name: external-secrets
22-
disableIstioInjection: true
2322
- name: falco
2423
disableIstioInjection: true
2524
disablePolicyChecks: true
2625
- name: harbor
2726
app: harbor
28-
- name: gatekeeper-system
29-
app: gatekeeper
27+
- name: apl-harbor-operator
3028
disableIstioInjection: true
3129
- name: gitea
32-
- name: gitea-operator
30+
- name: apl-gitea-operator
3331
disableIstioInjection: true
3432
- name: grafana
3533
app: grafana
3634
- name: istio-system
3735
disableIstioInjection: true
38-
- name: istio-operator
39-
istio-operator-managed: Reconcile
40-
istio-injection: disabled
4136
- name: httpbin
4237
app: httpbin
4338
- name: ingress
@@ -50,6 +45,8 @@ k8s:
5045
app: jaeger
5146
disableIstioInjection: true
5247
- name: keycloak
48+
- name: apl-keycloak-operator
49+
disableIstioInjection: true
5350
- name: kiali
5451
app: kiali
5552
- name: kiali-operator
@@ -59,12 +56,24 @@ k8s:
5956
app: knative
6057
disablePolicyChecks: true
6158
disableIstioInjection: true
59+
- name: knative-operator
60+
app: knative
61+
disablePolicyChecks: true
62+
disableIstioInjection: true
63+
- name: kfp
64+
app: kubeflow-pipelines
65+
disablePolicyChecks: true
66+
disableIstioInjection: true
6267
- name: kured
6368
app: kured
6469
disableIstioInjection: true
6570
- name: kyverno
6671
app: kyverno
6772
disableIstioInjection: true
73+
- name: thanos
74+
app: thanos
75+
disableIstioInjection: true
76+
disablePolicyChecks: true
6877
- name: tekton-pipelines
6978
app: tekton
7079
disableIstioInjection: true
@@ -87,15 +96,9 @@ k8s:
8796
disablePolicyChecks: true
8897
- name: monitoring
8998
disableIstioInjection: true
90-
- name: opa-exporter
91-
disableIstioInjection: true
92-
disablePolicyChecks: true
9399
- name: otomi
94100
- name: otomi-operator
95101
disableIstioInjection: true
96-
- name: cluster-overprovisioner
97-
app: cluster-overprovisioner
98-
disableIstioInjection: true
99102
- name: rabbitmq
100103
app: rabbitmq
101104
disableIstioInjection: true
@@ -112,6 +115,7 @@ k8s:
112115
- name: velero
113116
app: velero
114117
disablePolicyChecks: true
118+
disableIstioInjection: true
115119
- name: otomi-pipelines
116120
app: tekton
117121
disableIstioInjection: true
@@ -172,13 +176,9 @@ adminApps:
172176
auth: true
173177
- name: external-dns
174178
tags: [ingress, security, tls]
175-
- name: external-secrets
176-
tags: [secrets, security, tls]
177179
- name: falco
178180
tags: [security]
179181
deps: [prometheus, grafana]
180-
- name: gatekeeper
181-
tags: [security, policies, observability]
182182
- name: gitea
183183
tags: [git]
184184
isShared: true
@@ -254,7 +254,7 @@ adminApps:
254254
ownHost: true
255255
ingress:
256256
- namespace: keycloak
257-
svc: keycloak-service
257+
svc: keycloak
258258
type: public
259259
port: 8080
260260
- name: kiali
@@ -272,6 +272,16 @@ adminApps:
272272
- name: knative
273273
tags: [serverless, functions]
274274
deps: [istio]
275+
- name: kubeflow-pipelines
276+
tags: [ai, ml]
277+
ownHost: true
278+
isShared: true
279+
ingress:
280+
- svc: ml-pipeline-ui
281+
namespace: kfp
282+
port: 80
283+
type: public
284+
auth: true
275285
- name: kured
276286
tags: [security]
277287
- name: tekton
@@ -286,9 +296,18 @@ adminApps:
286296
auth: true
287297
removeRequestHeaders:
288298
- authorization
299+
- name: thanos
300+
tags: [metrics, observability]
301+
ownHost: true
302+
ingress:
303+
- svc: thanos-query
304+
port: 9090
305+
namespace: thanos
306+
type: public
307+
auth: true
289308
- name: loki
290309
tags: [logging, telemetry, observability]
291-
deps: [grafana, prometheus, minio]
310+
deps: [grafana, prometheus]
292311
useHost: grafana
293312
path: /explore?orgId=1&left=%7B"datasource":"loki","queries":%5B%7B"refId":"A"%7D%5D,"range":%7B"from":"now-1h","to":"now"%7D%7D
294313
- name: minio
@@ -302,7 +321,7 @@ adminApps:
302321
auth: true
303322
removeRequestHeaders:
304323
- authorization
305-
- name: otomi
324+
- name: console
306325
hide: true
307326
isShared: true
308327
ownHost: true
@@ -316,40 +335,40 @@ adminApps:
316335
namespace: otomi
317336
type: public
318337
auth: true
338+
- name: api # Used by any client that do not support cookies
339+
hide: true
340+
isShared: true
341+
ownHost: true
342+
ingress:
343+
- svc: otomi-api
344+
namespace: otomi
345+
type: public
346+
# RequestAuthentication and AuthorizationPolicy ensure Authorization header validation
347+
auth: false
348+
319349
- name: prometheus
320350
tags: [metrics, observability]
321351
ownHost: true
322352
ingress:
323353
- svc: po-prometheus
324354
port: 9090
325355
namespace: monitoring
356+
# namespace: prometheus
326357
type: public
327358
auth: true
328359
- name: sealed-secrets
329360
tags: [secrets, security, observability]
330361
ownHost: true
331362
- name: tempo
332363
tags: [tracing]
333-
deps: [prometheus, grafana, minio]
364+
deps: [prometheus, grafana]
334365
useHost: grafana
335366
path: /explore?orgId=1&left=%7B"datasource":"tempo","queries":%5B%7B"refId":"A","datasource":%7B"type":"tempo","uid":"tempo"%7D,"queryType":"clear","limit":20%7D%5D,"range":%7B"from":"now-1h","to":"now"%7D%7D
336367
- name: otel
337368
tags: [tracing]
338-
- name: thanos
339-
tags: [metrics, observability]
340-
ownHost: true
341-
ingress:
342-
- svc: thanos-query
343-
port: 9090
344-
namespace: monitoring
345-
type: public
346-
auth: true
347369
- name: trivy
348370
tags: [security]
349371
deps: [prometheus, grafana]
350-
- name: otel
351-
tags: [tracing]
352-
deps: [prometheus, grafana, tempo, loki]
353372
- name: velero
354373
tags: [backup]
355374
- name: kyverno
@@ -390,4 +409,4 @@ teamApps:
390409
type: public
391410
auth: true
392411
removeRequestHeaders:
393-
- authorization
412+
- authorization

0 commit comments

Comments
 (0)