mirror of
https://github.com/helm/helm.git
synced 2026-02-03 20:39:45 -05:00
* Add the Schema type and a function to read it
* Added a function to read a schema from a file
* Check that values.yaml matches schema
This commit uses the gojsonschema package to validate a values.yaml file
against a corresponding values.schema.yaml file.
* Add functionality to generate a schema from a values.yaml
* Add Schema to Chart and loader
* Clean up implementation in chartutil
* Add tests for helm install with schema
* Add schema validation to helm lint
* Clean up "matchSchema"
* Modify error output
* Add documentation
* Fix a linter issue
* Fix a test that broke during a rebase
* Clean up documentation
* Specify JSONSchema spec
Since JSONSchema is still in a draft state as of this commit, we need to
specify a particular version of the JSONSchema spec
* Switch to using builtin functionality for file extensions
* Switch to using a third-party library for JSON conversion
* Use the constants from the gojsonschema package
* Updates to unit tests
* Minor change to avoid string cast
* Remove JSON Schema generation
* Change Schema type from map[string]interface{} to []byte
* Convert all Schema YAML to JSON
* Fix some tests that were broken by a rebase
* Fix up YAML/JSON conversions
* This checks subcharts for schema validation
The final coalesced values for a given chart will be validated against
that chart's schema, as well as any dependent subchart's schema
* Add unit tests for ValidateAgainstSchema
* Remove nonessential test files
* Remove a misleading unit test
The TestReadSchema unit test was simply testing the ReadValues function,
which is already being validated in the TestReadValues unit test
* Update documentation to reflect changes to subchart schemas
67 lines
1.2 KiB
JSON
67 lines
1.2 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"properties": {
|
|
"addresses": {
|
|
"description": "List of addresses",
|
|
"items": {
|
|
"properties": {
|
|
"city": {
|
|
"type": "string"
|
|
},
|
|
"number": {
|
|
"type": "number"
|
|
},
|
|
"street": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"age": {
|
|
"description": "Age",
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
},
|
|
"employmentInfo": {
|
|
"properties": {
|
|
"salary": {
|
|
"minimum": 0,
|
|
"type": "number"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"salary"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"firstname": {
|
|
"description": "First name",
|
|
"type": "string"
|
|
},
|
|
"lastname": {
|
|
"type": "string"
|
|
},
|
|
"likesCoffee": {
|
|
"type": "boolean"
|
|
},
|
|
"phoneNumbers": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"firstname",
|
|
"lastname",
|
|
"addresses",
|
|
"employmentInfo"
|
|
],
|
|
"title": "Values",
|
|
"type": "object"
|
|
}
|