mirror of
https://github.com/kairos-io/kairos-sdk.git
synced 2025-09-06 09:40:59 +00:00
Extend root schema
Signed-off-by: Itxaka <itxaka.garcia@spectrocloud.com>
This commit is contained in:
@@ -11,16 +11,34 @@ import (
|
|||||||
|
|
||||||
// RootSchema groups all the different schema of the Kairos configuration together.
|
// RootSchema groups all the different schema of the Kairos configuration together.
|
||||||
type RootSchema struct {
|
type RootSchema struct {
|
||||||
_ struct{} `title:"Kairos Schema" description:"Defines all valid Kairos configuration attributes."`
|
_ struct{} `title:"Kairos Schema" description:"Defines all valid Kairos configuration attributes."`
|
||||||
Bundles []BundleSchema `json:"bundles,omitempty" description:"Add bundles in runtime"`
|
Bundles []BundleSchema `json:"bundles,omitempty" description:"Add bundles in runtime"`
|
||||||
ConfigURL string `json:"config_url,omitempty" description:"URL download configuration from."`
|
ConfigURL string `json:"config_url,omitempty" description:"URL download configuration from."`
|
||||||
Env []string `json:"env,omitempty"`
|
Env []string `json:"env,omitempty"`
|
||||||
FailOnBundleErrors bool `json:"fail_on_bundles_errors,omitempty"`
|
FailOnBundleErrors bool `json:"fail_on_bundles_errors,omitempty"`
|
||||||
GrubOptionsSchema `json:"grub_options,omitempty"`
|
GrubOptionsSchema `json:"grub_options,omitempty"`
|
||||||
Install InstallSchema `json:"install,omitempty"`
|
Install InstallSchema `json:"install,omitempty"`
|
||||||
Options []interface{} `json:"options,omitempty" description:"Various options."`
|
Options []interface{} `json:"options,omitempty" description:"Various options."`
|
||||||
Users []UserSchema `json:"users,omitempty" minItems:"1" required:"true"`
|
Users []UserSchema `json:"users,omitempty" minItems:"1" required:"true"`
|
||||||
P2P P2PSchema `json:"p2p,omitempty"`
|
P2P P2PSchema `json:"p2p,omitempty"`
|
||||||
|
Debug bool `json:"debug,omitempty" mapstructure:"debug"`
|
||||||
|
Strict bool `json:"strict,omitempty" mapstructure:"strict"`
|
||||||
|
CloudInitPaths []string `json:"cloud-init-paths,omitempty" mapstructure:"cloud-init-paths"`
|
||||||
|
EjectCD bool `json:"eject-cd,omitempty" mapstructure:"eject-cd"`
|
||||||
|
FullCloudConfig string `json:"fullcloudconfig,omitempty" mapstructure:"fullcloudconfig"`
|
||||||
|
Cosign bool `json:"cosign,omitempty" mapstructure:"cosign"`
|
||||||
|
Verify bool `json:"verify,omitempty" mapstructure:"verify"`
|
||||||
|
CosignPubKey string `json:"cosign-key,omitempty" mapstructure:"cosign-key"`
|
||||||
|
Arch string `json:"arch,omitempty" mapstructure:"arch"`
|
||||||
|
Platform PlatformSchema `json:"platform,omitempty" mapstructure:"platform"`
|
||||||
|
SquashFsCompressionConfig []string `json:"squash-compression,omitempty" mapstructure:"squash-compression"`
|
||||||
|
SquashFsNoCompression bool `json:"squash-no-compression,omitempty" mapstructure:"squash-no-compression"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type PlatformSchema struct {
|
||||||
|
OS string
|
||||||
|
Arch string
|
||||||
|
GolangArch string
|
||||||
}
|
}
|
||||||
|
|
||||||
// KConfig is used to parse and validate Kairos configuration files.
|
// KConfig is used to parse and validate Kairos configuration files.
|
||||||
|
Reference in New Issue
Block a user