Documentation ¶
Index ¶
- func AuthorizeSSHKeys(user string, keysName string, keys []string) error
- func CreateUser(u *User) error
- func DaemonReload() error
- func EnableUnitFile(unit string, runtime bool) error
- func EnsureDirectoryExists(dir string) error
- func ExecuteScript(scriptPath string) (string, error)
- func Hostname() (string, error)
- func MachineID(root string) string
- func MaskUnit(unit string, root string) error
- func PlaceUnit(u *Unit, dst string) error
- func RunUnitCommand(command, unit string) (string, error)
- func SetHostname(hostname string) error
- func SetUserPassword(user, hash string) error
- func UnitDestination(u *Unit, root string) string
- func UserExists(u *User) bool
- func WriteFile(f *File) error
- type File
- type Script
- type Unit
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AuthorizeSSHKeys ¶
Add the provide SSH public key to the core user's list of authorized keys
func CreateUser ¶
func DaemonReload ¶
func DaemonReload() error
func EnableUnitFile ¶
func EnsureDirectoryExists ¶
func ExecuteScript ¶
func MaskUnit ¶ added in v0.6.0
MaskUnit masks a Unit by the given name by symlinking its unit file (in /etc/systemd/system) to /dev/null, analogous to `systemctl mask` N.B.: Unlike `systemctl mask`, this function will *remove any existing unit file* in /etc/systemd/system, to ensure that the mask will succeed.
func PlaceUnit ¶
PlaceUnit writes a unit file at the provided destination, creating parent directories as necessary.
func RunUnitCommand ¶
func SetHostname ¶
func SetUserPassword ¶
func UnitDestination ¶
UnitDestination builds the appropriate absolute file path for the given Unit. The root argument indicates the effective base directory of the system (similar to a chroot).
func UserExists ¶
Types ¶
type File ¶
type Unit ¶
type Unit struct { Name string Mask bool Enable bool Runtime bool Content string Command string // For drop-in units, a cloudinit.conf is generated. // This is currently unbound in YAML (and hence unsettable in cloud-config files) // until the correct behaviour for multiple drop-in units is determined. DropIn bool `yaml:"-"` }
type User ¶
type User struct { Name string `yaml:"name"` PasswordHash string `yaml:"passwd"` SSHAuthorizedKeys []string `yaml:"ssh-authorized-keys"` SSHImportGithubUser string `yaml:"coreos-ssh-import-github"` SSHImportURL string `yaml:"coreos-ssh-import-url"` GECOS string `yaml:"gecos"` Homedir string `yaml:"homedir"` NoCreateHome bool `yaml:"no-create-home"` PrimaryGroup string `yaml:"primary-group"` Groups []string `yaml:"groups"` NoUserGroup bool `yaml:"no-user-group"` System bool `yaml:"system"` NoLogInit bool `yaml:"no-log-init"` }
Click to show internal directories.
Click to hide internal directories.