Files
pkg/bootstrapconfig/config.go
2025-07-06 11:23:53 +02:00

82 lines
1.6 KiB
Go

package bootstrapconfig
type Config struct {
AntiPhishingCode string `yaml:"anti_phishing_code"`
Keymap string `yaml:",omitempty"`
Modules string `yaml:",omitempty"`
Auths []Auth
Networks []struct {
Name string
Interfaces []struct {
Var string
N int
Regexps []string
}
Script string
}
SignerPublicKey string `yaml:"signer_public_key,omitempty"`
SSH *struct {
Listen string `yaml:",omitempty"`
UserCA string `yaml:"user_ca,omitempty"`
Keys struct {
DSA string `yaml:",omitempty"`
RSA string `yaml:",omitempty"`
ECDSA string `yaml:",omitempty"`
ED25519 string `yaml:",omitempty"`
}
} `yaml:",omitempty"`
PreLVMCrypt []CryptDev `yaml:"pre_lvm_crypt"`
LVM []LvmVG
Crypt []CryptDev
Bootstrap *Bootstrap `yaml:",omitempty"`
}
type Auth struct {
Name string
SSHKey string `yaml:"sshKey,omitempty"`
Password string `yaml:"password,omitempty"`
}
type LvmVG struct {
VG string
PVs struct {
N int
Regexps []string
}
Defaults struct {
FS string
Raid *RaidConfig
}
LVs []struct {
Name string
FS string `yaml:",omitempty"`
Raid *RaidConfig `yaml:",omitempty"`
Size string `yaml:",omitempty"`
Extents string `yaml:",omitempty"`
}
}
type CryptDev struct {
Dev string `yaml:",omitempty"`
Prefix string `yaml:",omitempty"`
Name string
}
type RaidConfig struct {
Mirrors int `yaml:",omitempty"`
Stripes int `yaml:",omitempty"`
}
type Bootstrap struct {
Dev string `yaml:",omitempty"`
Seed string `yaml:",omitempty"`
}