Skip to content

[Proposal] Improve the UX for the katib-config #2150

Closed
@tenzen-y

Description

@tenzen-y

/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:

  1. 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"
...
  1. 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 👍

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions