Releases: dhall-lang/dhall-kubernetes
v7.0.0
- BREAKING CHANGE: Narrow many types from
IntegertoNatural - Add support for Kubernetes versions 1.22 through 1.26 [#179 / #186 / #189]
- Upgrade default Kubernetes version to 1.25
v6.0.0
v5.0.0
-
Make the
kindandapiVersionfields optional forPersistentVolumeClaim -
The
dhall-kubernetesHaskell package in this repository has been renamed todhall-openapiand relocated underneath thedhall-haskellproject
v4.0.0
-
No longer require the
--omitEmptyflag todhall-to-yamlThe types were changed so that all optional records are explicitly marked
Optional.Before this change, the types were designed around the use of the
--omitFlagflag so that a record could be implicitly omitted by not specifying any non-default fields. However, that led to ambiguous situations where there was no way to distinguish between a present but empty value and an absent value, and in some cases the distinction between the two mattered. For example, in Kubernetes a present but empty label selector matches everything whereas an absent label selector matches nothing.Practically, what this means is that you will now need to add a few more
Somes in your resource definitions (typically around records) where there is a new explicitOptionallayer. -
Prefer
io.k8s.api.autoscaling.v2beta2overio.k8s.api.autoscaling.v1The Kubernetes API exposes multiple versions of various resources, but the default
./package.dhallmakes an opinionated attempt to select the most recent stable resource (first preferring production over beta over alpha, and then preferring v2 over v1). However, in certain cases users indicate that the newer beta version is preferable over the older production version and this is one such case.Even though
io.k8s.api.autoscaling.v1is no longer the default choice you can still access those resources by explicitly importing them from the./schemassubdirectory of the desired Kubernetes version (e.g../1.17/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler.dhall)
v3.0.0
Additions:
- Generate Dhall schemas for multiple Kubernetes versions
- Support
CustomResourceDefinitionin the generator nix-shellsupport fordhall-kubernetes-generator- Improve test coverage for
scripts/generate.sh - Generator automatically excludes older Kubernetes object versions
- Add
--skipDuplicatesCLI flag and handler to the generator - Add prefixMap option for specifying external import roots
Cleanup:
- Update omit-empty command in Readme
- Remove top-level
swagger2.json - Minimize unnecessary rebuilds
v2.1.0
- Add package.dhall
Adds a top-levelpackage.dhallfile which re-exportsschemas.dhalland
IntOrString, making it feasible to usedhall-kubernetesby importing solely
thepackage.dhallfile.
Additionally, adds some polish to the documentation.
v2.0.0
-
This is a large change which consists of the following smaller changes:
-
The
./defaultsubdirectory is renamed to./defaults -
Add top-level
./types.dhalland./defaults.dhallfiles -
Add a top-level
./typesUnion.dhallunion type... this allows you to wrap heterogeneous in this uniform type so that you can store them in a
Listand render that as a single YAML file containing one document per resource. If you do so, make sure to use the--documentsflag ofdhall-to-yaml -
Records of all nullable fields are no longer themselves nullable
-
Make use of the new
Optionalliteral syntax (i.e.Some/None) -
Default resources are no longer lambdas
-
Remove cyclic imports
-
Support newer versions of Dhall
-
-
This adds a new
./schemasdirectory and./schemas.dhallpackage to support the::operator for newer versions of the language. This allows you to ergonomically instantiate a Kubernetes resource while only specifying non-default values.
