Skip to content

Commit 18fd722

Browse files
committed
Modified helm templated to match with the kuztomize ouput
Signed-off-by: kunal-511 <[email protected]>
1 parent 8d00d07 commit 18fd722

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1606
-546
lines changed
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Helm vs Kustomize Comparison
2+
3+
on:
4+
pull_request:
5+
branches: [master]
6+
paths:
7+
- 'charts/**'
8+
- 'manifests/**'
9+
- 'scripts/compare_all_scenarios.sh'
10+
- '.github/workflows/helm-kustomize-comparison.yml'
11+
workflow_dispatch:
12+
13+
jobs:
14+
compare-all-scenarios:
15+
runs-on: ubuntu-latest
16+
name: Compare All Scenarios
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@v4
20+
21+
- name: Set up Python
22+
uses: actions/setup-python@v4
23+
with:
24+
python-version: '3.9'
25+
26+
- name: Install Python dependencies
27+
run: |
28+
python -m pip install --upgrade pip
29+
pip install pyyaml
30+
31+
- name: Install Helm
32+
run: |
33+
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
34+
chmod 700 get_helm.sh
35+
./get_helm.sh
36+
rm get_helm.sh
37+
38+
- name: Install Kustomize
39+
run: |
40+
curl --silent --location --remote-name "https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize%2Fv5.4.3/kustomize_v5.4.3_linux_amd64.tar.gz"
41+
tar -xzvf kustomize_v5.4.3_linux_amd64.tar.gz
42+
chmod a+x kustomize
43+
sudo mv kustomize /usr/local/bin/kustomize
44+
45+
- name: Run all scenarios comparison
46+
env:
47+
VERBOSE: "true"
48+
run: |
49+
cd kubeflow-katib
50+
chmod +x scripts/compare_all_scenarios.sh
51+
./scripts/compare_all_scenarios.sh

charts/katib/ci/values-cert-manager.yaml

Lines changed: 88 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,21 @@
11
# Cert-Manager Installation Profile
22
# This profile enables cert-manager for automated certificate management
33

4+
global:
5+
namespace: kubeflow
6+
imageTag: latest
7+
8+
# Enable kustomize compatibility mode
9+
kustomizeMode:
10+
omitDefaultImagePullPolicy: true
11+
omitDefaultProtocol: true
12+
omitDefaultServiceType: true
13+
omitDefaultFailurePolicy: true
14+
omitLabelsFromSecrets: true
15+
omitExtraSecretFields: true
16+
omitWebhookSecretData: true
17+
omitComponentLabels: true
18+
419
# Standard components
520
controller:
621
enabled: true
@@ -33,6 +48,11 @@ webhook:
3348
subject: {}
3449
privateKey: {}
3550
usages: []
51+
52+
certificate:
53+
# Match Kustomize Certificate settings
54+
duration: 8760h # 1 year
55+
renewBefore: 720h # 30 days
3656

3757
validating:
3858
enabled: true
@@ -46,4 +66,71 @@ webhook:
4666

4767
# Namespace creation
4868
namespaceCreate:
49-
enabled: true
69+
enabled: true
70+
71+
# Override config for cert-manager scenario
72+
config:
73+
katibConfig: |
74+
apiVersion: config.kubeflow.org/v1beta1
75+
kind: KatibConfig
76+
init:
77+
controller:
78+
webhookPort: 8443
79+
trialResources:
80+
- Job.v1.batch
81+
- TFJob.v1.kubeflow.org
82+
- PyTorchJob.v1.kubeflow.org
83+
- MPIJob.v1.kubeflow.org
84+
- XGBoostJob.v1.kubeflow.org
85+
runtime:
86+
metricsCollectors:
87+
- kind: StdOut
88+
image: ghcr.io/kubeflow/katib/file-metrics-collector:latest
89+
- kind: File
90+
image: ghcr.io/kubeflow/katib/file-metrics-collector:latest
91+
- kind: TensorFlowEvent
92+
image: ghcr.io/kubeflow/katib/tfevent-metrics-collector:latest
93+
resources:
94+
limits:
95+
memory: 1Gi
96+
suggestions:
97+
- algorithmName: random
98+
image: ghcr.io/kubeflow/katib/suggestion-hyperopt:latest
99+
- algorithmName: tpe
100+
image: ghcr.io/kubeflow/katib/suggestion-hyperopt:latest
101+
- algorithmName: grid
102+
image: ghcr.io/kubeflow/katib/suggestion-optuna:latest
103+
- algorithmName: hyperband
104+
image: ghcr.io/kubeflow/katib/suggestion-hyperband:latest
105+
- algorithmName: bayesianoptimization
106+
image: ghcr.io/kubeflow/katib/suggestion-skopt:latest
107+
- algorithmName: cmaes
108+
image: ghcr.io/kubeflow/katib/suggestion-goptuna:latest
109+
- algorithmName: sobol
110+
image: ghcr.io/kubeflow/katib/suggestion-goptuna:latest
111+
- algorithmName: multivariate-tpe
112+
image: ghcr.io/kubeflow/katib/suggestion-optuna:latest
113+
- algorithmName: enas
114+
image: ghcr.io/kubeflow/katib/suggestion-enas:latest
115+
resources:
116+
limits:
117+
memory: 400Mi
118+
- algorithmName: darts
119+
image: ghcr.io/kubeflow/katib/suggestion-darts:latest
120+
- algorithmName: pbt
121+
image: ghcr.io/kubeflow/katib/suggestion-pbt:latest
122+
persistentVolumeClaimSpec:
123+
accessModes:
124+
- ReadWriteMany
125+
resources:
126+
requests:
127+
storage: 5Gi
128+
earlyStoppings:
129+
- algorithmName: medianstop
130+
image: ghcr.io/kubeflow/katib/earlystopping-medianstop:latest
131+
132+
# RBAC
133+
rbac:
134+
create: true
135+
kubeflow:
136+
enabled: false # Disable Kubeflow-specific RBAC for cert-manager scenario

charts/katib/ci/values-enterprise.yaml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,4 +183,10 @@ istio:
183183

184184
# Pod Security Standards
185185
podSecurityStandards:
186-
enforced: true
186+
enforced: true
187+
188+
# RBAC
189+
rbac:
190+
create: true
191+
kubeflow:
192+
enabled: false
Lines changed: 36 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,87 +1,46 @@
11
# External Database Installation Profile
22
# This profile is for connecting Katib to an external MySQL/PostgreSQL database
33

4-
# Disable built-in databases
5-
mysql:
6-
enabled: false
7-
8-
postgres:
9-
enabled: false
4+
global:
5+
namespace: kubeflow
6+
imageTag: latest
7+
8+
# Enable kustomize compatibility mode
9+
kustomizeMode:
10+
omitDefaultImagePullPolicy: true
11+
omitDefaultProtocol: true
12+
omitDefaultServiceType: true
13+
omitDefaultFailurePolicy: true
14+
omitLabelsFromSecrets: true
15+
omitExtraSecretFields: true
16+
omitWebhookSecretData: true
17+
omitComponentLabels: true
1018

11-
# Enable external database
12-
db:
19+
# Disable built-in databases
20+
database:
21+
type: external
22+
mysql:
23+
enabled: false
24+
postgres:
25+
enabled: false
1326
external:
1427
enabled: true
15-
createSecret: true
16-
host: "external-mysql.database.svc.cluster.local"
17-
port: 3306
18-
database: "katib"
19-
user: "katib"
20-
password: "katib-password"
28+
existingSecret: ""
29+
host: ""
30+
port: ""
31+
database: ""
32+
username: ""
33+
password: ""
2134

2235
# Controller configuration with external DB
2336
controller:
2437
enabled: true
25-
env:
26-
- name: DB_NAME
27-
value: "mysql"
28-
- name: DB_USER
29-
valueFrom:
30-
secretKeyRef:
31-
name: katib-mysql-secrets
32-
key: DB_USER
33-
- name: DB_PASSWORD
34-
valueFrom:
35-
secretKeyRef:
36-
name: katib-mysql-secrets
37-
key: DB_PASSWORD
38-
- name: KATIB_MYSQL_DB_DATABASE
39-
valueFrom:
40-
secretKeyRef:
41-
name: katib-mysql-secrets
42-
key: KATIB_MYSQL_DB_DATABASE
43-
- name: KATIB_MYSQL_DB_HOST
44-
valueFrom:
45-
secretKeyRef:
46-
name: katib-mysql-secrets
47-
key: KATIB_MYSQL_DB_HOST
48-
- name: KATIB_MYSQL_DB_PORT
49-
valueFrom:
50-
secretKeyRef:
51-
name: katib-mysql-secrets
52-
key: KATIB_MYSQL_DB_PORT
38+
env: []
5339

5440
# DB Manager configuration with external DB
5541
dbManager:
5642
enabled: true
57-
env:
58-
- name: DB_NAME
59-
value: "mysql"
60-
- name: DB_USER
61-
valueFrom:
62-
secretKeyRef:
63-
name: katib-mysql-secrets
64-
key: DB_USER
65-
- name: DB_PASSWORD
66-
valueFrom:
67-
secretKeyRef:
68-
name: katib-mysql-secrets
69-
key: DB_PASSWORD
70-
- name: KATIB_MYSQL_DB_DATABASE
71-
valueFrom:
72-
secretKeyRef:
73-
name: katib-mysql-secrets
74-
key: KATIB_MYSQL_DB_DATABASE
75-
- name: KATIB_MYSQL_DB_HOST
76-
valueFrom:
77-
secretKeyRef:
78-
name: katib-mysql-secrets
79-
key: KATIB_MYSQL_DB_HOST
80-
- name: KATIB_MYSQL_DB_PORT
81-
valueFrom:
82-
secretKeyRef:
83-
name: katib-mysql-secrets
84-
key: KATIB_MYSQL_DB_PORT
43+
env: []
8544

8645
# Standard components
8746
ui:
@@ -92,4 +51,10 @@ webhook:
9251

9352
# Namespace creation
9453
namespaceCreate:
95-
enabled: true
54+
enabled: true
55+
56+
# RBAC
57+
rbac:
58+
create: true
59+
kubeflow:
60+
enabled: false

0 commit comments

Comments
 (0)