mirror of
https://github.com/openshift/installer.git
synced 2026-02-05 15:47:14 +01:00
The installer now generates spec v3.1 ignition config, instead of v2.2 (and v2.4 for openstack) as before. The v3.1 ignition config specification can be found at [1]. A detailed overview of the differences between specs v2 and v3 can be found at [2]. Notable differences are: - the `Filesystem` identifier on ignition file configs no longer exists - `Overwrite` now defaults to `false` (was `true` in spec v2), which is why it is now set explicitly to keep the same behaviour. - duplicate file configs are now prohibited, i.e. all contents and all appendices must be defined in a single config. - duplicate systemd unit configs are now prohibited, i.e. the content and all dropins must be defined in a single config. This commit: - Bumps ignition to v2.3.0 with support for config spec v3.1. - Bumps terraform-provider-ignition to v2.1.0. Also adds downloading of the provider binary to `images/installer/Dockerfile.upi.ci` which is necessary because the ignition v2/spec3 version from the `community-terraform-providers/terraform-ignition-provider` fork is not present in the provider registry that is maintained by Hashicorp and can therefore not be pulled in automatically by terraform. is not present in the - Bumps machine-config-operator to b3b074ee9156 (latest commit at the time of this writing). - Adds "github.com/clarketm/json" dependency for marshaling Ignition configs. This is a dropin replacement for "encoding/json" that supports zero values of structs with omittempty annotations when marshaling. In effect, this will exclude empty pointer struct fields from the marshaled data instead of inserting nil values into them, which do not pass openAPI validation on fields that are supposed to contain e.g. strings. The same library is used by machine-config-operator and ignition itself. - Updates the vendor dir to make commit idempotent. [1] https://github.com/coreos/ignition/blob/master/doc/configuration-v3_1.md [2] https://github.com/coreos/ignition/blob/master/doc/migrating-configs.md#from-version-230-to-300 Co-authored-by: Vadim Rutkovsky <vrutkovs@redhat.com>
912 B
912 B
json
Mirrors golang/go
Drop-in replacement for Golang encoding/json with additional features.
Installation
$ go get -u github.com/clarketm/json
Usage
Same usage as Golang encoding/json.
Features
- Support zero values of structs with
omitempty: golang/go#11939.
If
omitemptyis applied to a struct and all the children of the struct are empty, then on marshalling it will be omitted from the encoded json.
License
Refer to the Golang license. See LICENSE for more information.