Currently CI does not enforce that they stay
in sync with the `1.17/` package, so I had to
explicitly run the `generate.sh` script to update
them. I will follow up with another change to
automate this check.
Fixes https://github.com/dhall-lang/dhall-kubernetes/issues/86
The motivation of this is to more accurately model the Kubernetes
API semantics by not auto-omitting empty fields. This is because
a field set to `Some ([] : List T)` is not necessarily the same
as `None (List T)`.
This makes the typical case a bit more verbose (more `Some`s), but
the difference to the `./examples` shows that it's not too bad.
Related to https://github.com/dhall-lang/dhall-kubernetes/issues/75
This generalizes the machinery for fetching the Kubernetes OpenAPI spec to
support fetching multiple versions. In particular, the Kubernetes version
is no longer tied to the version of Nixpkgs that we use.
Related to https://github.com/dhall-lang/dhall-kubernetes/issues/75
In order to support multiple versions of the Kubernetes API we need to begin
automating the process of excluding duplicate resources (otherwise the
maintenance burden would be far too high). This change adds new support
for automatically preferring Kubernetes resources by version where:
* v2 is prioritized over v1
* production is prioritized over beta, which is prioritized over alpha
Note that even when prioritizing by version there are still a few cases of
duplicates. For now we use the default behavior of `Data.List.maximumBy`
to select the last resource if there are still conflicts. This leads to
a few differences in which resources are preferred when such a conflict
arises (where previously we were just guessing manually which one to pick).
* Add a `package.dhall` file, which re-exports `schemas.dhall` and adds
`IntOrString`. The expected hash of `package.dhall` is currently:
sha256:3ea8628b704704de295261dfc7626c15247c589c10a266f970cade262543fdda
* Update documentation and examples to clarify that expected usage is
through the `package.dhall` file.
* README.md cleanup: Update tutorial reference URL to the latest `1.28`
release of `dhall-haskell`, and change code language hints from
`haskell` to `dhall`.
For lack of a better term, I'm calling the `{ Type = …, default = … }`
record that the record completion operator expects a "schema". This
change adds `dhall-kubernetes` support for auto-generating these schemas
for ease of use with the new `::` operator.
See the included example for how this would be used