Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and 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

Add RFC for schema requirements in cluster apps #55

Closed
wants to merge 53 commits into from

Conversation

marians
Copy link
Member

@marians marians commented Nov 25, 2022

Towards giantswarm/roadmap#1733

This RFC proposes standards (with different levels of strictness) that should at some point be met by our CAPI cluster apps (the apps defining workload clusters).

@marians marians self-assigned this Nov 25, 2022
cluster-app-values-schema/README.md Outdated Show resolved Hide resolved
cluster-app-values-schema/README.md Outdated Show resolved Hide resolved
cluster-app-values-schema/README.md Outdated Show resolved Hide resolved

### R1: JSON Schema dialect must be specified {#r1}

Each cluster app's values schema file MUST specify the schema dialect (also called draft) used via the `$schema` keyword on the top level, with the draft URI as a value.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The meaning and possible values of specific keywords changed over the course of different drafts. Supporting all drafts would increase the complexity of our tooling, e.g. schemalint. I would suggests that we initially only support the newest draft (2020-12) and add support for newer drafts as they are released.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the latest restrictions we discussed (e.g. forbid prefixItems), does it still make sense to require 2019-09? Or can we go back to 2020-12?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, if we make sure that we are indifferent to all the changes between 2019-09 and 2020-12.
That would be:

  • forbid prefixItems (2020)
  • forbid additionalItems (2019)
  • forbid items with tuple values (2019)
  • forbid $dynamicRef and $dynamicAnchor (2020)
  • forbid $recursiveRef and $recursiveAnchor (2019)
    As far as I know, we already wanted to forbid all of these. So we could go back to 2020-12.

cluster-app-values-schema/README.md Show resolved Hide resolved
cluster-app-values-schema/README.md Show resolved Hide resolved
@marians
Copy link
Member Author

marians commented Jan 10, 2023

Updated the draft based on suggestions. There is a new requirement R10 dealing with the deprecated key.

@github-actions
Copy link

This RFC has had no activity for 100 days. It will be closed in 1 week, unless activity occurs or the label lifecycle/keep is added.

@github-actions
Copy link

github-actions bot commented Aug 3, 2023

This RFC was closed automatically because it had no activity during the week since the last message.

@github-actions
Copy link

This RFC was closed automatically because it had no activity during the week since the last message.

Copy link

This RFC has had no activity for 100 days. It will be closed in 1 week, unless activity occurs or the label lifecycle/keep is added.

Copy link

This RFC was closed automatically because it had no activity during the week since the last message.

@github-actions github-actions bot closed this Nov 28, 2023
@AndiDog AndiDog deleted the add-json-schema-basics branch February 20, 2024 07:19
@marians marians restored the add-json-schema-basics branch March 12, 2024 13:05
@marians marians reopened this Mar 12, 2024
Copy link

This RFC has had no activity for 100 days. It will be closed in 1 week, unless activity occurs or the label lifecycle/keep is added.

Copy link

This RFC was closed automatically because it had no activity during the week since the last message.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants