feat(schema): AS-706 helm values schema#397
Closed
afoley587 wants to merge 21 commits into
Closed
Conversation
1 task
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rationale
Warning
This shouldn't be part of the 2.9.0 release. I just wanted to submit for feedback but can create a new branch or wait for a 2.10.0 branch to be cut.
A helm values schema allows us to validate/verify a user's
values.yamlfile entries before installing. It allows us to then display helpful messages about type mismatches / expected values / etc.This, hopefully, makes installations easier for customers and allows us to provide a smoother experience.
Changes
Adds a new
pre-commithook forhelm-schemaAdds a new
makefiletarget for installing helm pluginsUpdates
pre-commitworkflow to installhelm-schemafor the newpre-commithookCreates the new
values.schema.jsonfile with the following settings:Checklist
Testing
Test 1: Inserting a map where an array is expected
Using this test, we should throw an error because
topologySpreadConstraintsshould be a listRunning the below shows it does!
Test 2: Inserting a string where an int is expected
Using this test, we should throw an error because
replicaCount" should be anint`Running the below shows it does!
Test 3: Making sure mixed types are working as expected
Using this test, we should throw an error because
podDisruptionBudget.minAvailable" should be anintorstringornumber`Running the below shows it does!
Test 4: Making sure additional keys are allowed
Using this test, we should not throw an error
Running the below shows it does!