v0_1

package
v0.11.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2021 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CaReference

type CaReference struct {
	Source       string       `yaml:"source"`
	Verification Verification `yaml:"verification"`
}

type Config

type Config struct {
	Version  string   `yaml:"version"`
	Variant  string   `yaml:"variant"`
	Ignition Ignition `yaml:"ignition"`
	Passwd   Passwd   `yaml:"passwd"`
	Storage  Storage  `yaml:"storage"`
	Systemd  Systemd  `yaml:"systemd"`
}

func (Config) ToIgn3_0Unvalidated

func (c Config) ToIgn3_0Unvalidated(options common.TranslateOptions) (types.Config, translate.TranslationSet, report.Report)

ToIgn3_0Unvalidated translates the config to an Ignition config. It also returns the set of translations it did so paths in the resultant config can be tracked back to their source in the source config. No config validation is performed on input or output.

type ConfigReference

type ConfigReference struct {
	Source       *string      `yaml:"source"`
	Verification Verification `yaml:"verification"`
}

type Device

type Device string

type Directory

type Directory struct {
	Group     NodeGroup `yaml:"group"`
	Overwrite *bool     `yaml:"overwrite"`
	Path      string    `yaml:"path"`
	User      NodeUser  `yaml:"user"`
	Mode      *int      `yaml:"mode"`
}

func (Directory) Validate

func (d Directory) Validate(c path.ContextPath) (r report.Report)

type Disk

type Disk struct {
	Device     string      `yaml:"device"`
	Partitions []Partition `yaml:"partitions"`
	WipeTable  *bool       `yaml:"wipe_table"`
}

type Dropin

type Dropin struct {
	Contents *string `yaml:"contents"`
	Name     string  `yaml:"name"`
}

type File

type File struct {
	Group     NodeGroup      `yaml:"group"`
	Overwrite *bool          `yaml:"overwrite"`
	Path      string         `yaml:"path"`
	User      NodeUser       `yaml:"user"`
	Append    []FileContents `yaml:"append"`
	Contents  FileContents   `yaml:"contents"`
	Mode      *int           `yaml:"mode"`
}

func (File) Validate

func (f File) Validate(c path.ContextPath) (r report.Report)

type FileContents

type FileContents struct {
	Compression  *string      `yaml:"compression"`
	Source       *string      `yaml:"source"`
	Inline       *string      `yaml:"inline"` // Added, not in ignition spec
	Verification Verification `yaml:"verification"`
}

func (FileContents) Validate

func (f FileContents) Validate(c path.ContextPath) (r report.Report)

type Filesystem

type Filesystem struct {
	Device         string             `yaml:"device"`
	Format         *string            `yaml:"format"`
	Label          *string            `yaml:"label"`
	Options        []FilesystemOption `yaml:"options"`
	Path           *string            `yaml:"path"`
	UUID           *string            `yaml:"uuid"`
	WipeFilesystem *bool              `yaml:"wipe_filesystem"`
}

type FilesystemOption

type FilesystemOption string

type Group

type Group string

type Ignition

type Ignition struct {
	Config   IgnitionConfig `yaml:"config"`
	Security Security       `yaml:"security"`
	Timeouts Timeouts       `yaml:"timeouts"`
}

type IgnitionConfig

type IgnitionConfig struct {
	Merge   []ConfigReference `yaml:"merge"`
	Replace ConfigReference   `yaml:"replace"`
}
type Link struct {
	Group     NodeGroup `yaml:"group"`
	Overwrite *bool     `yaml:"overwrite"`
	Path      string    `yaml:"path"`
	User      NodeUser  `yaml:"user"`
	Hard      *bool     `yaml:"hard"`
	Target    string    `yaml:"target"`
}

type NodeGroup

type NodeGroup struct {
	ID   *int    `yaml:"id"`
	Name *string `yaml:"name"`
}

type NodeUser

type NodeUser struct {
	ID   *int    `yaml:"id"`
	Name *string `yaml:"name"`
}

type Partition

type Partition struct {
	GUID               *string `yaml:"guid"`
	Label              *string `yaml:"label"`
	Number             int     `yaml:"number"`
	ShouldExist        *bool   `yaml:"should_exist"`
	SizeMiB            *int    `yaml:"size_mib"`
	StartMiB           *int    `yaml:"start_mib"`
	TypeGUID           *string `yaml:"type_guid"`
	WipePartitionEntry *bool   `yaml:"wipe_partition_entry"`
}

type Passwd

type Passwd struct {
	Groups []PasswdGroup `yaml:"groups"`
	Users  []PasswdUser  `yaml:"users"`
}

type PasswdGroup

type PasswdGroup struct {
	Gid          *int    `yaml:"gid"`
	Name         string  `yaml:"name"`
	PasswordHash *string `yaml:"password_hash"`
	System       *bool   `yaml:"system"`
}

type PasswdUser

type PasswdUser struct {
	Gecos             *string            `yaml:"gecos"`
	Groups            []Group            `yaml:"groups"`
	HomeDir           *string            `yaml:"home_dir"`
	Name              string             `yaml:"name"`
	NoCreateHome      *bool              `yaml:"no_create_home"`
	NoLogInit         *bool              `yaml:"no_log_init"`
	NoUserGroup       *bool              `yaml:"no_user_group"`
	PasswordHash      *string            `yaml:"password_hash"`
	PrimaryGroup      *string            `yaml:"primary_group"`
	SSHAuthorizedKeys []SSHAuthorizedKey `yaml:"ssh_authorized_keys"`
	Shell             *string            `yaml:"shell"`
	System            *bool              `yaml:"system"`
	UID               *int               `yaml:"uid"`
}

type Raid

type Raid struct {
	Devices []Device     `yaml:"devices"`
	Level   string       `yaml:"level"`
	Name    string       `yaml:"name"`
	Options []RaidOption `yaml:"options"`
	Spares  *int         `yaml:"spares"`
}

type RaidOption

type RaidOption string

type SSHAuthorizedKey

type SSHAuthorizedKey string

type Security

type Security struct {
	TLS TLS `yaml:"tls"`
}

type Storage

type Storage struct {
	Directories []Directory  `yaml:"directories"`
	Disks       []Disk       `yaml:"disks"`
	Files       []File       `yaml:"files"`
	Filesystems []Filesystem `yaml:"filesystems"`
	Links       []Link       `yaml:"links"`
	Raid        []Raid       `yaml:"raid"`
}

type Systemd

type Systemd struct {
	Units []Unit `yaml:"units"`
}

type TLS

type TLS struct {
	CertificateAuthorities []CaReference `yaml:"certificate_authorities"`
}

type Timeouts

type Timeouts struct {
	HTTPResponseHeaders *int `yaml:"http_response_headers"`
	HTTPTotal           *int `yaml:"http_total"`
}

type Unit

type Unit struct {
	Contents *string  `yaml:"contents"`
	Dropins  []Dropin `yaml:"dropins"`
	Enabled  *bool    `yaml:"enabled"`
	Mask     *bool    `yaml:"mask"`
	Name     string   `yaml:"name"`
}

type Verification

type Verification struct {
	Hash *string `yaml:"hash"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL