Releases: dhall-lang/dhall-kubernetes
v7.0.0
- BREAKING CHANGE: Narrow many types from
Integer
toNatural
- 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
kind
andapiVersion
fields optional forPersistentVolumeClaim
-
The
dhall-kubernetes
Haskell package in this repository has been renamed todhall-openapi
and relocated underneath thedhall-haskell
project
v4.0.0
-
No longer require the
--omitEmpty
flag todhall-to-yaml
The types were changed so that all optional records are explicitly marked
Optional
.Before this change, the types were designed around the use of the
--omitFlag
flag 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
Some
s in your resource definitions (typically around records) where there is a new explicitOptional
layer. -
Prefer
io.k8s.api.autoscaling.v2beta2
overio.k8s.api.autoscaling.v1
The Kubernetes API exposes multiple versions of various resources, but the default
./package.dhall
makes 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.v1
is no longer the default choice you can still access those resources by explicitly importing them from the./schemas
subdirectory 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
CustomResourceDefinition
in the generator nix-shell
support fordhall-kubernetes-generator
- Improve test coverage for
scripts/generate.sh
- Generator automatically excludes older Kubernetes object versions
- Add
--skipDuplicates
CLI 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.dhall
file which re-exportsschemas.dhall
and
IntOrString
, making it feasible to usedhall-kubernetes
by importing solely
thepackage.dhall
file.
Additionally, adds some polish to the documentation.
v2.0.0
-
This is a large change which consists of the following smaller changes:
-
The
./default
subdirectory is renamed to./defaults
-
Add top-level
./types.dhall
and./defaults.dhall
files -
Add a top-level
./typesUnion.dhall
union type... this allows you to wrap heterogeneous in this uniform type so that you can store them in a
List
and render that as a single YAML file containing one document per resource. If you do so, make sure to use the--documents
flag ofdhall-to-yaml
-
Records of all nullable fields are no longer themselves nullable
-
Make use of the new
Optional
literal syntax (i.e.Some
/None
) -
Default resources are no longer lambdas
-
Remove cyclic imports
-
Support newer versions of Dhall
-
-
This adds a new
./schemas
directory and./schemas.dhall
package 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.