mirror of
https://github.com/kairos-io/kairos-sdk.git
synced 2025-09-01 15:18:10 +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.
|
||||
type RootSchema struct {
|
||||
_ struct{} `title:"Kairos Schema" description:"Defines all valid Kairos configuration attributes."`
|
||||
Bundles []BundleSchema `json:"bundles,omitempty" description:"Add bundles in runtime"`
|
||||
ConfigURL string `json:"config_url,omitempty" description:"URL download configuration from."`
|
||||
Env []string `json:"env,omitempty"`
|
||||
FailOnBundleErrors bool `json:"fail_on_bundles_errors,omitempty"`
|
||||
GrubOptionsSchema `json:"grub_options,omitempty"`
|
||||
Install InstallSchema `json:"install,omitempty"`
|
||||
Options []interface{} `json:"options,omitempty" description:"Various options."`
|
||||
Users []UserSchema `json:"users,omitempty" minItems:"1" required:"true"`
|
||||
P2P P2PSchema `json:"p2p,omitempty"`
|
||||
_ struct{} `title:"Kairos Schema" description:"Defines all valid Kairos configuration attributes."`
|
||||
Bundles []BundleSchema `json:"bundles,omitempty" description:"Add bundles in runtime"`
|
||||
ConfigURL string `json:"config_url,omitempty" description:"URL download configuration from."`
|
||||
Env []string `json:"env,omitempty"`
|
||||
FailOnBundleErrors bool `json:"fail_on_bundles_errors,omitempty"`
|
||||
GrubOptionsSchema `json:"grub_options,omitempty"`
|
||||
Install InstallSchema `json:"install,omitempty"`
|
||||
Options []interface{} `json:"options,omitempty" description:"Various options."`
|
||||
Users []UserSchema `json:"users,omitempty" minItems:"1" required:"true"`
|
||||
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.
|
||||
|
Reference in New Issue
Block a user