-
Notifications
You must be signed in to change notification settings - Fork 515
Description
Search before asking
- I searched in the issues and found nothing similar.
Motivation
Inspired by the Helm chart structure used in the Apache Airflow project
(https://github.com/apache/airflow/tree/main/chart), this proposal aims to improve the Fluss Helm chart to make it cleaner, more structured, and easier to maintain.
Solution
Helm Chart Schema & Values
values.schema.json
Uses the http://json-schema.org/draft-07/schema structure.
This file defines the schema of the Helm chart values and is used to validate values.yaml.
It can also be used as the source for auto-generating parameter documentation for the Helm chart -> Break another issue.
values.schema.meta.json
This meta-schema is used to validate values.schema.json.
It ensures that:
- Each parameter includes both
defaultanddescription - All top-level properties define
x-docsSectionto group parameters in the generated documentation
Helm Values Naming Improvements
Based on the architecture concepts described in the Fluss documentation
(https://fluss.apache.org/docs/concepts/architecture/), some naming updates are proposed to better align with Kubernetes conventions.
Proposed Changes
| Current Field | Proposed Field | Reason |
|---|---|---|
listeners |
ports |
Represents container or service ports in Kubernetes |
storage |
persistence |
Aligns with standard Helm and Kubernetes terminology for persistent storage |
New structure value example:
coordinatorServer:
replicas: 1
livenessProbe:
failureThreshold: 100
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
readinessProbe:
failureThreshold: 100
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
resources: {}
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi
persistence:
enabled: false
size: 1Gi
storageClass:
tabletServer:
replicas: 3
livenessProbe:
failureThreshold: 100
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
readinessProbe:
failureThreshold: 100
timeoutSeconds: 1
initialDelaySeconds: 10
periodSeconds: 3
resources: {}
# requests:
# cpu: 100m
# memory: 128Mi
# limits:
# cpu: 100m
# memory: 128Mi
persistence:
enabled: false
size: 1Gi
storageClass:
Anything else?
No response
Willingness to contribute
- I'm willing to submit a PR!