Description
/kind feature
Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Currently, YAML (ConfigMap) and JSON (Options) are mixed in katib-config.
IMO, this situation does not have good UX.
So I'd like to enable setting parameters using only YAML.
My proposal is two steps:
- Make available to set the parameters as YAML like the following:
apiVersion: config.katib.kubeflow.org/v1beta1
kind: KatibConfig
metrics-collector-sidecar:
- name: StdOut
image: "docker.io/kubeflowkatib/file-metrics-collector:latest"
suggestion:
- name: random
image: "docker.io/kubeflowkatib/suggestion-hyperopt:latest"
resources:
limits:
memory: 200Mi
early-stopping:
- name: medianstop
image: "docker.io/kubeflowkatib/earlystopping-medianstop:latest"
...
- Generate a ConfigMap using the katib-config as a YAML defined in the first step:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
configMapGenerator:
- files:
- katib-config.yaml
name: katib-config
...
This way is similar to the component-config of kubebuilder and is a popular way, although we don't depend on the component-config API in the katib-config.
Note: The config.katib.kubeflow.org/v1beta1 KatibConfig
isn't a CustomResource, just a YAML. So the maintenance costs wouldn't increase.
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Love this feature? Give it a 👍 We prioritize the features with the most 👍