Documentation ¶
Index ¶
- Variables
- type Clevis
- type Config
- type ConfigReference
- type Create
- type CreateOption
- type Custom
- type Device
- type Directory
- type DirectoryEmbedded1
- type Disk
- type Dropin
- type File
- type FileContents
- type FileEmbedded1
- type Filesystem
- type HttpHeader
- type Ignition
- type IgnitionConfig
- type KeyFile
- type Link
- type LinkEmbedded1
- type Luks
- type Mount
- type MountOption
- type Networkd
- type Networkdunit
- type Node
- type NodeGroup
- type NodeUser
- type Partition
- type Passwd
- type PasswdGroup
- type PasswdUser
- type PasswdUserGroup
- type Raid
- type SSHAuthorizedKey
- type Storage
- type Systemd
- type TangServer
- type Timeouts
- type Unit
- type Usercreate
- type UsercreateGroup
- type Verification
Constants ¶
This section is empty.
Variables ¶
View Source
var (
MaxVersion = semver.Version{
Major: 2,
Minor: 1,
}
)
Functions ¶
This section is empty.
Types ¶
type Clevis ¶ added in v0.35.2
type Clevis struct { Tang []TangServer `json:"tang,omitempty"` Tpm2 bool `json:"tpm2,omitempty"` Threshold int `json:"threshold,omitempty"` Custom Custom `json:"custom,omitempty"` }
type Config ¶
type ConfigReference ¶
type ConfigReference struct { Source string `json:"source,omitempty"` Verification Verification `json:"verification,omitempty"` }
func (ConfigReference) ValidateSource ¶
func (c ConfigReference) ValidateSource() report.Report
type Create ¶
type Create struct { Force bool `json:"force,omitempty"` Options []CreateOption `json:"options,omitempty"` }
type CreateOption ¶
type CreateOption string
type DirectoryEmbedded1 ¶
type DirectoryEmbedded1 struct {
Mode int `json:"mode,omitempty"`
}
type Disk ¶
type Disk struct { Device string `json:"device,omitempty"` Partitions []Partition `json:"partitions,omitempty"` WipeTable bool `json:"wipeTable,omitempty"` }
func (Disk) ValidateDevice ¶
func (Disk) ValidatePartitions ¶
type Dropin ¶
type FileContents ¶
type FileContents struct { Compression string `json:"compression,omitempty"` Source string `json:"source,omitempty"` Verification Verification `json:"verification,omitempty"` }
func (FileContents) ValidateCompression ¶
func (fc FileContents) ValidateCompression() report.Report
func (FileContents) ValidateSource ¶
func (fc FileContents) ValidateSource() report.Report
type FileEmbedded1 ¶
type FileEmbedded1 struct { Contents FileContents `json:"contents,omitempty"` Mode int `json:"mode,omitempty"` }
type Filesystem ¶
type Filesystem struct { Mount *Mount `json:"mount,omitempty"` Name string `json:"name,omitempty"` Path *string `json:"path,omitempty"` }
func (Filesystem) Validate ¶
func (f Filesystem) Validate() report.Report
func (Filesystem) ValidatePath ¶
func (f Filesystem) ValidatePath() report.Report
type HttpHeader ¶ added in v0.35.2
type Ignition ¶
type Ignition struct { Config IgnitionConfig `json:"config,omitempty"` Timeouts Timeouts `json:"timeouts,omitempty"` Version string `json:"version,omitempty"` }
type IgnitionConfig ¶
type IgnitionConfig struct { Append []ConfigReference `json:"append,omitempty"` Replace *ConfigReference `json:"replace,omitempty"` }
type KeyFile ¶ added in v0.35.2
type KeyFile struct { Compression string `json:"compression,omitempty"` Source string `json:"source,omitempty"` Inline string `json:"inline,omitempty"` Local string `json:"local,omitempty"` HttpHeaders []HttpHeader `json:"http_headers,omitempty"` Verification string `json:"verification,omitempty"` }
type Link ¶
type Link struct { Node LinkEmbedded1 }
type LinkEmbedded1 ¶
type Luks ¶ added in v0.35.2
type Luks struct { Name string `json:"name,omitempty"` Device string `json:"device,omitempty"` KeyFile KeyFile `json:"key_file,omitempty"` Label string `json:"label,omitempty"` UUID string `json:"uuid,omitempty"` Options []string `json:"options,omitempty"` WipeVolume bool `json:"wipe_volume,omitempty"` Clevis Clevis `json:"clevis,omitempty"` }
type Mount ¶
type Mount struct { Create *Create `json:"create,omitempty"` Device string `json:"device,omitempty"` Format string `json:"format,omitempty"` Label *string `json:"label,omitempty"` Options []MountOption `json:"options,omitempty"` UUID *string `json:"uuid,omitempty"` WipeFilesystem bool `json:"wipeFilesystem,omitempty"` }
func (Mount) ValidateDevice ¶
func (Mount) ValidateLabel ¶
type MountOption ¶
type MountOption string
type Networkd ¶
type Networkd struct {
Units []Networkdunit `json:"units,omitempty"`
}
type Networkdunit ¶
type Networkdunit struct { Contents string `json:"contents,omitempty"` Name string `json:"name,omitempty"` }
func (Networkdunit) Validate ¶
func (u Networkdunit) Validate() report.Report
type Node ¶
type Node struct { Filesystem string `json:"filesystem,omitempty"` Group NodeGroup `json:"group,omitempty"` Path string `json:"path,omitempty"` User NodeUser `json:"user,omitempty"` }
func (Node) ValidateFilesystem ¶
func (Node) ValidatePath ¶
type Partition ¶
type Partition struct { GUID string `json:"guid,omitempty"` Label string `json:"label,omitempty"` Number int `json:"number,omitempty"` Size int `json:"size,omitempty"` Start int `json:"start,omitempty"` TypeGUID string `json:"typeGuid,omitempty"` }
func (Partition) ValidateGUID ¶
func (Partition) ValidateLabel ¶
func (Partition) ValidateTypeGUID ¶
type Passwd ¶
type Passwd struct { Groups []PasswdGroup `json:"groups,omitempty"` Users []PasswdUser `json:"users,omitempty"` }
type PasswdGroup ¶
type PasswdUser ¶
type PasswdUser struct { Create *Usercreate `json:"create,omitempty"` Gecos string `json:"gecos,omitempty"` Groups []PasswdUserGroup `json:"groups,omitempty"` HomeDir string `json:"homeDir,omitempty"` Name string `json:"name,omitempty"` NoCreateHome bool `json:"noCreateHome,omitempty"` NoLogInit bool `json:"noLogInit,omitempty"` NoUserGroup bool `json:"noUserGroup,omitempty"` PasswordHash *string `json:"passwordHash,omitempty"` PrimaryGroup string `json:"primaryGroup,omitempty"` SSHAuthorizedKeys []SSHAuthorizedKey `json:"sshAuthorizedKeys,omitempty"` Shell string `json:"shell,omitempty"` System bool `json:"system,omitempty"` UID *int `json:"uid,omitempty"` }
func (PasswdUser) Validate ¶
func (p PasswdUser) Validate() report.Report
type PasswdUserGroup ¶
type PasswdUserGroup string
type Raid ¶
type Raid struct { Devices []Device `json:"devices,omitempty"` Level string `json:"level,omitempty"` Name string `json:"name,omitempty"` Spares int `json:"spares,omitempty"` }
func (Raid) ValidateDevices ¶
func (Raid) ValidateLevel ¶
type SSHAuthorizedKey ¶
type SSHAuthorizedKey string
type Storage ¶
type Storage struct { Directories []Directory `json:"directories,omitempty"` Disks []Disk `json:"disks,omitempty"` Luks []Luks `json:"luks,omitempty"` Files []File `json:"files,omitempty"` Filesystems []Filesystem `json:"filesystems,omitempty"` Links []Link `json:"links,omitempty"` Raid []Raid `json:"raid,omitempty"` }
type TangServer ¶ added in v0.35.2
type Unit ¶
type Unit struct { Contents string `json:"contents,omitempty"` Dropins []Dropin `json:"dropins,omitempty"` Enable bool `json:"enable,omitempty"` Enabled *bool `json:"enabled,omitempty"` Mask bool `json:"mask,omitempty"` Name string `json:"name,omitempty"` }
func (Unit) ValidateContents ¶
func (Unit) ValidateName ¶
type Usercreate ¶
type Usercreate struct { Gecos string `json:"gecos,omitempty"` Groups []UsercreateGroup `json:"groups,omitempty"` HomeDir string `json:"homeDir,omitempty"` NoCreateHome bool `json:"noCreateHome,omitempty"` NoLogInit bool `json:"noLogInit,omitempty"` NoUserGroup bool `json:"noUserGroup,omitempty"` PrimaryGroup string `json:"primaryGroup,omitempty"` Shell string `json:"shell,omitempty"` System bool `json:"system,omitempty"` UID *int `json:"uid,omitempty"` }
type UsercreateGroup ¶
type UsercreateGroup string
type Verification ¶
type Verification struct {
Hash *string `json:"hash,omitempty"`
}
func (Verification) HashParts ¶
func (v Verification) HashParts() (string, string, error)
HashParts will return the sum and function (in that order) of the hash stored in this Verification, or an error if there is an issue during parsing.
func (Verification) Validate ¶
func (v Verification) Validate() report.Report
Click to show internal directories.
Click to hide internal directories.