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

Commit 25d44d2

Browse files
author
Corneil du Plessis
authored
All files from main/src/carvel (#5034)
1 parent 562a94b commit 25d44d2

Some content is hidden

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

55 files changed

+3301
-1721
lines changed

src/carvel/config/check-requirements.star

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
load("@ytt:data", "data")
22
load("@ytt:assert", "assert")
33

4+
db_types = {"postgres": "postgres", "mariadb": "mariadb"}
5+
binder_types = {"rabbit": "rabbit", "kafka": "kafka"}
6+
47
def non_empty_string(value):
58
return type(value) == "string" and len(value) > 0
69
end
@@ -20,6 +23,14 @@ def validate():
2023
errors.append("Either scdf.ctr.image.tag or scdf.ctr.image.digest must be defined")
2124
end
2225

26+
if db_types.get(data.values.scdf.deploy.database.type) == None:
27+
errors.append("Illegal scdf.deploy.database.type")
28+
end
29+
30+
if binder_types.get(data.values.scdf.deploy.binder.type) == None:
31+
errors.append("Illegal scdf.deploy.binder.type")
32+
end
33+
2334
if len(errors) > 0:
2435
assert.fail("Validation failed with following errors: %s" % (errors,))
2536
end

src/carvel/config/dataflow-config.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,7 @@ metadata:
77
name: scdf-server
88
labels:
99
app: scdf-server
10+
annotations:
11+
kapp.k14s.io/versioned: ""
1012
data:
1113
application.yaml: #@ yaml.encode(dataflow_config())

src/carvel/config/dataflow-deployment.yml

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
#@ load("dataflow.star", "ctr_image")
44
#@ load("dataflow.star", "dataflow_container_env")
55
#@ load("dataflow.star", "has_image_pull_secrets")
6+
#@ load("dataflow.star", "registry_secret_ref")
67
#@ load("dataflow.star", "image_pull_secrets")
8+
#@ load("dataflow.star", "dataflow_liveness_path")
9+
#@ load("dataflow.star", "dataflow_readiness_path")
710
apiVersion: apps/v1
811
kind: Deployment
912
metadata:
@@ -33,27 +36,30 @@ spec:
3336
mountPath: /workspace/config
3437
readOnly: true
3538
- name: database
36-
mountPath: /etc/secrets/database
39+
mountPath: /workspace/runtime/secrets/database
40+
readOnly: true
41+
- name: scdfmetadata
42+
mountPath: /workspace/runtime/secrets
3743
readOnly: true
3844
ports:
3945
- containerPort: 80
4046
livenessProbe:
4147
httpGet:
42-
path: /management/health
48+
path: #@ dataflow_liveness_path()
4349
port: 9393
4450
initialDelaySeconds: 45
4551
readinessProbe:
4652
httpGet:
47-
path: /management/info
53+
path: #@ dataflow_readiness_path()
4854
port: 9393
4955
initialDelaySeconds: 45
5056
resources:
5157
limits:
52-
cpu: 1.0
53-
memory: 2048Mi
58+
cpu: #@ data.values.scdf.server.resources.limits.cpu
59+
memory: #@ data.values.scdf.server.resources.limits.memory
5460
requests:
55-
cpu: 0.5
56-
memory: 1024Mi
61+
cpu: #@ data.values.scdf.server.resources.requests.cpu
62+
memory: #@ data.values.scdf.server.resources.requests.memory
5763
env: #@ dataflow_container_env()
5864
serviceAccountName: scdf-sa
5965
#@ if has_image_pull_secrets():
@@ -71,3 +77,12 @@ spec:
7177
- name: database
7278
secret:
7379
secretName: db-dataflow
80+
#@ if has_image_pull_secrets():
81+
- name: scdfmetadata
82+
secret:
83+
secretName: #@ registry_secret_ref()
84+
#@ else:
85+
- name: scdfmetadata
86+
secret:
87+
secretName: reg-creds
88+
#@ end

src/carvel/config/dataflow-rolebinding.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
kind: RoleBinding
2-
apiVersion: rbac.authorization.k8s.io/v1beta1
2+
apiVersion: rbac.authorization.k8s.io/v1
33
metadata:
44
name: scdf-rb
55
subjects:

src/carvel/config/dataflow.lib.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
#@ load("db/db.lib.yml", "dataflow_datasource_config")
55
#@ load("monitoring/monitoring.star", "grafana_enabled")
66
#@ load("dataflow.star", "has_image_pull_secrets")
7+
#@ load("dataflow.star", "context_path")
8+
#@ load("dataflow.star", "has_context_path")
79
#@ load("dataflow.star", "registry_secret_ref")
810

911
#@ def dataflow_platform_config():
@@ -18,6 +20,11 @@ imagePullSecret: reg-creds
1820

1921
#@ def base_config():
2022
config:
23+
#@ if has_context_path():
24+
server:
25+
servlet:
26+
context-path: #@ context_path()
27+
#@ end
2128
spring:
2229
cloud:
2330
dataflow:

src/carvel/config/dataflow.star

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,19 @@ def dataflow_container_env():
3232
envs.extend([{"name": "SPRING_CLOUD_DATAFLOW_TASK_COMPOSEDTASKRUNNER_URI", "value": "docker://" + ctr_image()}])
3333
envs.extend([{"name": "SPRING_CLOUD_KUBERNETES_CONFIG_ENABLE_API", "value": "false"}])
3434
envs.extend([{"name": "SPRING_CLOUD_KUBERNETES_SECRETS_ENABLE_API", "value": "false"}])
35-
envs.extend([{"name": "SPRING_CLOUD_KUBERNETES_SECRETS_PATHS", "value": "/etc/secrets"}])
35+
envs.extend([{"name": "SPRING_CLOUD_KUBERNETES_SECRETS_PATHS", "value": "/workspace/runtime/secrets"}])
3636
envs.extend([{"name": "SPRING_CLOUD_DATAFLOW_SERVER_URI", "value": "http://${SCDF_SERVER_SERVICE_HOST}:${SCDF_SERVER_SERVICE_PORT}"}])
3737
envs.extend([{"name": "SPRING_CLOUD_SKIPPER_CLIENT_SERVER_URI", "value": "http://${SKIPPER_SERVICE_HOST}:${SKIPPER_SERVICE_PORT}/api"}])
38-
envs.extend([{"name": "SPRING_APPLICATION_JSON", "value": "{ \"maven\": { \"local-repository\": null, \"remote-repositories\": { \"repo1\": { \"url\": \"https://repo.spring.io/libs-snapshot\"} } } }"}])
3938
if grafana_enabled():
4039
envs.extend([{"name": "MANAGEMENT_METRICS_EXPORT_PROMETHEUS_ENABLED", "value": "true"}])
4140
envs.extend([{"name": "MANAGEMENT_METRICS_EXPORT_PROMETHEUS_RSOCKET_ENABLED", "value": "true"}])
4241
envs.extend([{"name": "MANAGEMENT_METRICS_EXPORT_PROMETHEUS_RSOCKET_HOST", "value": "prometheus-rsocket-proxy"}])
4342
envs.extend([{"name": "MANAGEMENT_METRICS_EXPORT_PROMETHEUS_RSOCKET_PORT", "value": "7001"}])
4443
envs.extend([{"name": "SPRING_CLOUD_DATAFLOW_METRICS_DASHBOARD_URL", "value": "http://localhost:3000"}])
4544
end
45+
for e in data.values.scdf.server.env:
46+
envs.extend([{"name": e.name, "value": e.value}])
47+
end
4648
return envs
4749
end
4850

@@ -61,3 +63,19 @@ end
6163
def service_spec_type():
6264
return data.values.scdf.server.service.type
6365
end
66+
67+
def context_path():
68+
return data.values.scdf.server.contextPath
69+
end
70+
71+
def has_context_path():
72+
return non_empty_string(data.values.scdf.server.contextPath)
73+
end
74+
75+
def dataflow_liveness_path():
76+
return data.values.scdf.server.contextPath + "/management/health"
77+
end
78+
79+
def dataflow_readiness_path():
80+
return data.values.scdf.server.contextPath + "/management/info"
81+
end

src/carvel/config/db/db-dataflow.yml

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
#@ load("@ytt:overlay", "overlay")
55
#@ load("@ytt:template", "template")
66
#@ load("db.lib.yml", "db_overlay")
7-
#@ load("db.star", "mysql_enabled")
7+
#@ load("db.star", "mariadb_enabled")
88
#@ load("db.star", "postgres_enabled")
99
#@ load("db.star", "db_postgres_username")
1010
#@ load("db.star", "db_postgres_password")
11-
#@ load("db.star", "db_mysql_username")
12-
#@ load("db.star", "db_mysql_password")
11+
#@ load("db.star", "db_mariadb_username")
12+
#@ load("db.star", "db_mariadb_password")
1313

1414
#@ def db_postgres_values():
1515
name: db-dataflow
@@ -22,21 +22,31 @@ image:
2222
registrySecretRef: #@ data.values.scdf.registry.secret.ref
2323
#@ end
2424

25-
#@ def db_mysql_values():
25+
#@ def db_mariadb_values():
2626
name: db-dataflow
27-
username: #@ db_mysql_username()
28-
password: #@ db_mysql_password()
27+
username: #@ db_mariadb_username()
28+
password: #@ db_mariadb_password()
2929
image:
30-
repository: #@ data.values.scdf.deploy.database.mysql.image.repository
31-
tag: #@ data.values.scdf.deploy.database.mysql.image.tag
32-
digest: #@ data.values.scdf.deploy.database.mysql.image.digest
30+
repository: #@ data.values.scdf.deploy.database.mariadb.image.repository
31+
tag: #@ data.values.scdf.deploy.database.mariadb.image.tag
32+
digest: #@ data.values.scdf.deploy.database.mariadb.image.digest
3333
registrySecretRef: #@ data.values.scdf.registry.secret.ref
3434
#@ end
3535

36-
#@ if mysql_enabled():
37-
--- #@ template.replace(overlay.apply(library.get("mysql").with_data_values(db_mysql_values()).eval(), db_overlay()))
36+
#@ def db_external_values():
37+
name: db-dataflow
38+
username: #@ data.values.scdf.server.database.username
39+
password: #@ data.values.scdf.server.database.password
40+
#@ end
41+
42+
#@ if mariadb_enabled():
43+
--- #@ template.replace(overlay.apply(library.get("mariadb").with_data_values(db_mariadb_values()).eval(), db_overlay()))
3844
#@ end
3945

4046
#@ if postgres_enabled():
4147
--- #@ template.replace(overlay.apply(library.get("postgres").with_data_values(db_postgres_values()).eval(), db_overlay()))
4248
#@ end
49+
50+
#@ if not mariadb_enabled() and not postgres_enabled():
51+
--- #@ template.replace(overlay.apply(library.get("external").with_data_values(db_external_values()).eval(), db_overlay()))
52+
#@ end

src/carvel/config/db/db-skipper.yml

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,12 @@
44
#@ load("@ytt:overlay", "overlay")
55
#@ load("@ytt:template", "template")
66
#@ load("db.lib.yml", "db_overlay")
7-
#@ load("db.star", "mysql_enabled")
7+
#@ load("db.star", "mariadb_enabled")
88
#@ load("db.star", "postgres_enabled")
99
#@ load("db.star", "db_postgres_username")
1010
#@ load("db.star", "db_postgres_password")
11-
#@ load("db.star", "db_mysql_username")
12-
#@ load("db.star", "db_mysql_password")
11+
#@ load("db.star", "db_mariadb_username")
12+
#@ load("db.star", "db_mariadb_password")
1313

1414
#@ def db_postgres_values():
1515
name: db-skipper
@@ -22,21 +22,31 @@ image:
2222
registrySecretRef: #@ data.values.scdf.registry.secret.ref
2323
#@ end
2424

25-
#@ def db_mysql_values():
25+
#@ def db_mariadb_values():
2626
name: db-skipper
27-
username: #@ db_mysql_username()
28-
password: #@ db_mysql_password()
27+
username: #@ db_mariadb_username()
28+
password: #@ db_mariadb_password()
2929
image:
30-
repository: #@ data.values.scdf.deploy.database.mysql.image.repository
31-
tag: #@ data.values.scdf.deploy.database.mysql.image.tag
32-
digest: #@ data.values.scdf.deploy.database.mysql.image.digest
30+
repository: #@ data.values.scdf.deploy.database.mariadb.image.repository
31+
tag: #@ data.values.scdf.deploy.database.mariadb.image.tag
32+
digest: #@ data.values.scdf.deploy.database.mariadb.image.digest
3333
registrySecretRef: #@ data.values.scdf.registry.secret.ref
3434
#@ end
3535

36-
#@ if mysql_enabled():
37-
--- #@ template.replace(overlay.apply(library.get("mysql").with_data_values(db_mysql_values()).eval(), db_overlay()))
36+
#@ def db_external_values():
37+
name: db-skipper
38+
username: #@ data.values.scdf.skipper.database.username
39+
password: #@ data.values.scdf.skipper.database.password
40+
#@ end
41+
42+
#@ if mariadb_enabled():
43+
--- #@ template.replace(overlay.apply(library.get("mariadb").with_data_values(db_mariadb_values()).eval(), db_overlay()))
3844
#@ end
3945

4046
#@ if postgres_enabled():
4147
--- #@ template.replace(overlay.apply(library.get("postgres").with_data_values(db_postgres_values()).eval(), db_overlay()))
4248
#@ end
49+
50+
#@ if not mariadb_enabled() and not postgres_enabled():
51+
--- #@ template.replace(overlay.apply(library.get("external").with_data_values(db_external_values()).eval(), db_overlay()))
52+
#@ end

src/carvel/config/db/db.lib.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
#@ load("db.star", "db_external_dataflow")
33
#@ load("db.star", "db_external_skipper")
44
#@ load("db.star", "db_deploy_enabled")
5-
#@ load("db.star", "mysql_enabled")
5+
#@ load("db.star", "mariadb_enabled")
66
#@ load("db.star", "postgres_enabled")
77

88
#@ def skipper_datasource_config():
99
#@ if db_deploy_enabled():
10-
#@ if mysql_enabled():
11-
#@ fun = library.get("mysql").with_data_values({}).export("skipper_datasource")
10+
#@ if mariadb_enabled():
11+
#@ fun = library.get("mariadb").with_data_values({}).export("skipper_datasource")
1212
#@ return fun()
1313
#@ elif postgres_enabled():
1414
#@ fun = library.get("postgres").with_data_values({}).export("skipper_datasource")
@@ -21,8 +21,8 @@
2121

2222
#@ def dataflow_datasource_config():
2323
#@ if db_deploy_enabled():
24-
#@ if mysql_enabled():
25-
#@ fun = library.get("mysql").with_data_values({}).export("dataflow_datasource")
24+
#@ if mariadb_enabled():
25+
#@ fun = library.get("mariadb").with_data_values({}).export("dataflow_datasource")
2626
#@ return fun()
2727
#@ elif postgres_enabled():
2828
#@ fun = library.get("postgres").with_data_values({}).export("dataflow_datasource")

src/carvel/config/db/db.star

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
load("@ytt:data", "data")
22

3-
database_types = {"mysql": "mysql", "postgres": "postgres"}
3+
database_types = {"mariadb": "mariadb", "postgres": "postgres"}
44

55
def db_deploy_enabled():
66
return data.values.scdf.deploy.database.enabled == True
@@ -12,10 +12,10 @@ def db_external_dataflow():
1212
x.setdefault("url", data.values.scdf.server.database.url)
1313
end
1414
if len(data.values.scdf.server.database.username) > 0:
15-
x.setdefault("username", data.values.scdf.server.database.username)
15+
x.setdefault("username", "${external-user}")
1616
end
1717
if len(data.values.scdf.server.database.password) > 0:
18-
x.setdefault("password", data.values.scdf.server.database.password)
18+
x.setdefault("password", "${external-password}")
1919
end
2020
if len(data.values.scdf.server.database.driverClassName) > 0:
2121
x.setdefault("driverClassName", data.values.scdf.server.database.driverClassName)
@@ -37,10 +37,10 @@ def db_external_skipper():
3737
x.setdefault("url", data.values.scdf.skipper.database.url)
3838
end
3939
if len(data.values.scdf.skipper.database.username) > 0:
40-
x.setdefault("username", data.values.scdf.skipper.database.username)
40+
x.setdefault("username", "${external-user}")
4141
end
4242
if len(data.values.scdf.skipper.database.password) > 0:
43-
x.setdefault("password", data.values.scdf.skipper.database.password)
43+
x.setdefault("password", "${external-password}")
4444
end
4545
if len(data.values.scdf.skipper.database.driverClassName) > 0:
4646
x.setdefault("driverClassName", data.values.scdf.skipper.database.driverClassName)
@@ -56,8 +56,8 @@ def db_external_skipper():
5656
return x
5757
end
5858

59-
def mysql_enabled():
60-
return database_types.get(data.values.scdf.deploy.database.type) == "mysql" and db_deploy_enabled()
59+
def mariadb_enabled():
60+
return database_types.get(data.values.scdf.deploy.database.type) == "mariadb" and db_deploy_enabled()
6161
end
6262

6363
def postgres_enabled():
@@ -72,10 +72,10 @@ def db_postgres_password():
7272
return data.values.scdf.deploy.database.postgres.password;
7373
end
7474

75-
def db_mysql_username():
76-
return data.values.scdf.deploy.database.mysql.username;
75+
def db_mariadb_username():
76+
return data.values.scdf.deploy.database.mariadb.username;
7777
end
7878

79-
def db_mysql_password():
80-
return data.values.scdf.deploy.database.mysql.password;
79+
def db_mariadb_password():
80+
return data.values.scdf.deploy.database.mariadb.password;
8181
end

0 commit comments

Comments
 (0)