8000 Provide a schema for the Kiali CRD · Issue #8237 · kiali/kiali · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Provide a schema for the Kiali CRD #8237

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers an 8000 d the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
nrfox opened this issue Mar 17, 2025 · 4 comments
Open

Provide a schema for the Kiali CRD #8237

nrfox opened this issue Mar 17, 2025 · 4 comments
Assignees
Labels
enhancement This is the preferred way to describe new end-to-end features. epic Group issues together. An Epic is an effort that may live several sprints.

Comments

@nrfox
Copy link
Contributor
nrfox commented Mar 17, 2025

What do you want to improve?

Kiali does not provide a structural schema with validation. You can currently create a Kiali CR with invalid fields or fields in the wrong place or fields of the wrong type etc. and there is no validation to give you an error when this happens.

Publishing the schema here with the operator helm chart and with the OLM CSV would allow users to have validated Kiali CRs before they are applied. It would also enable you to use tools such as kubectl explain kialis to help you use the Kiali CR.

What is the current behavior?

No Kiali CRD schema.

What is the new behavior?

Kiali CRD schema is published.

@nrfox nrfox added enhancement This is the preferred way to describe new end-to-end features. epic Group issues together. An Epic is an effort that may live several sprints. labels Mar 17, 2025
@jshaughn jshaughn moved this from 📋 Backlog to Epics In Progress in Kiali Sprint 25-08 | Kiali v2.11 Apr 2, 2025
@jmazzitelli
Copy link
Collaborator

We should also highly consider moving all settings to camelCase (finally!). Since the schema is going to be changed in potentially major ways, it would also be a perfect time to move to camelCase as well.

@jshaughn
Copy link
Collaborator
jshaughn commented Apr 8, 2025

it would also be a perfect time to move to camelCase as well.

But I think we need to be backward compatible, right?

@nrfox
Copy link
Contributor Author
nrfox commented Apr 8, 2025

But I think we need to be backward compatible, right?

Yeah if we changed all the fields from snake_case to camelCase then users would have to migrate their CRs. The easiest transition for users would be for us to bump the CRD version (v1alpha1 --> v1alpha2 or v1 etc.) and provide a conversion webhook that automatically translates the fields for you. But I don't think the ansible operator supports conversion webhooks so if we did that the webhook may need to be written in go and deployed alongside the operator.

@jmazzitelli
Copy link
Collaborator

I have avoided webhooks like the plague. Don't want to add anything more where things can go wrong for minimal gain. We can release a small CLI utility to convert their CRs if we want. Or we leave snake_case - I'm ok with whatever is easiest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement This is the preferred way to describe new end-to-end features. epic Group issues together. An Epic is an effort that may live several sprints.
Projects
Status: Epics In Progress
Development

No branches or pull requests

3 participants
0