carvel-dev / vendir

Easy way to vendor portions of git repos, github releases, helm charts, docker image contents, etc. declaratively
https://carvel.dev/vendir
Apache License 2.0
269 stars 47 forks source link

Json schema for vendir spec #288

Open gberche-orange opened 10 months ago

gberche-orange commented 10 months ago

Describe the problem/challenge you have

It would be convenient to have coding assistance from IDE when reading/editing a vendir.yaml file

Describe the solution you'd like

Formatting the https://carvel.dev/vendir/docs/v0.34.x/vendir-spec/ as a https://json-schema.org/ and registering it into https://www.schemastore.org/json/ would automatically enable most recent IDEs (e.g. intellij, vscode) to automatically provide:

Anything else you would like to add: [Additional information that will assist in solving the issue.]


Vote on this request

This is an invitation to the community to vote on issues, to help us prioritize our backlog. Use the "smiley face" up to the right of this comment to vote.

👍 "I would like to see this addressed as soon as possible" 👎 "There are other more important things to focus on right now"

We are also happy to receive and review Pull Requests if you want to help working on this issue.

kumaritanushree commented 10 months ago

@gberche-orange Thank you for raising this request. Sounds good to have this.

joaopapereira commented 9 months ago

Going to accept this issue. We can add this directly into schemastore or host it in carvel.dev. My first inclination would be to host it in carvel.dev and just register that URL.

Another thing that could be interesting is to find a way to do this automatically. I saw there are a couple of libraries that generate the jsonschema directly from go structs maybe that is something that can be explored, we might need to add some docs on our structs to help with this but apart from that, it should be pretty simple.

In the first iteration, we can just add the schema manually, but it would be great if we find a way to do this automatically with our release process.