Documentation
¶
Index ¶
- Constants
- func CBufToGoPtr(s [C.PART_INFO_BUF_SIZE]C.char) *string
- func CBufToGoStr(s [C.PART_INFO_BUF_SIZE]C.char) string
- func CreateDeviceAlias(path string) (string, error)
- func Depth(path string) uint
- func DeviceAlias(path string) string
- func DirIsEmpty(dirpath string) (bool, error)
- func FindFirstMissingDirForFile(path string) (string, error)
- func MkdirForFile(path string) error
- func PathExists(path string) (bool, error)
- func SplitPath(p string) []string
- func SystemdDropinsPath(unitName string) string
- func SystemdRuntimeDropinsPath(unitName string) string
- func SystemdRuntimeUnitWantsPath(unitName string) string
- func SystemdRuntimeUnitsPath() string
- func SystemdUnitsPath() string
- type DiskInfo
- type FetchOp
- type FilesystemInfo
- type PartitionInfo
- type Util
- func (u Util) AuthorizeSSHKeys(c types.PasswdUser) error
- func (u Util) CheckIfUserExists(c types.PasswdUser) (bool, error)
- func (u Util) CreateGroup(g types.PasswdGroup) error
- func (ut Util) DisableUnit(disabledUnit string) error
- func (ut Util) EnableRuntimeUnit(unit types.Unit, target string) error
- func (ut Util) EnableUnit(enabledUnit string) error
- func (u Util) EnsureUser(c types.PasswdUser) error
- func (ut Util) FileFromSystemdUnit(unit types.Unit, runtime bool) (FetchOp, error)
- func (ut Util) FileFromSystemdUnitDropin(unit types.Unit, dropin types.Dropin, runtime bool) (FetchOp, error)
- func (u Util) GetUserHomeDir(c types.PasswdUser) (string, error)
- func (u Util) JoinPath(path ...string) (string, error)
- func (ut Util) MaskUnit(unit types.Unit) (string, error)
- func (u Util) PerformFetch(f FetchOp) error
- func (u Util) PrepareFetches(l *log.Logger, f types.File) ([]FetchOp, error)
- func (ut Util) RelabelFiles(patterns []string) error
- func (u Util) ResolveNodeUidAndGid(n types.Node, defaultUid, defaultGid int) (int, int, error)
- func (u Util) ResolveSymlink(path string) (string, error)
- func (u Util) SetPasswordHash(c types.PasswdUser) error
- func (u Util) SetPermissions(mode *int, node types.Node) error
- func (u Util) WriteLink(s types.Link) error
Constants ¶
const ( DefaultDirectoryPermissions os.FileMode = 0755 DefaultFilePermissions os.FileMode = 0644 )
const ( PresetPath string = "/etc/systemd/system-preset/20-ignition.preset" DefaultPresetPermissions os.FileMode = 0644 )
Variables ¶
This section is empty.
Functions ¶
func CBufToGoPtr ¶
func CBufToGoPtr(s [C.PART_INFO_BUF_SIZE]C.char) *string
func CBufToGoStr ¶
func CBufToGoStr(s [C.PART_INFO_BUF_SIZE]C.char) string
func CreateDeviceAlias ¶
CreateDeviceAlias creates a device alias for the supplied path. On success the canonicalized path used as the alias target is returned.
func DeviceAlias ¶
DeviceAlias returns the aliased form of the supplied path. Note device paths in ignition are always absolute.
func DirIsEmpty ¶ added in v2.1.0
DirIsEmpty checks whether a directory is empty. Adapted from https://stackoverflow.com/a/30708914
func FindFirstMissingDirForFile ¶ added in v2.1.0
FindFirstMissingDirForFile returns the first component which was found to be missing for the path.
func MkdirForFile ¶
MkdirForFile helper creates the directory components of path.
func PathExists ¶ added in v2.3.0
PathExists checks if the path exists for a given config.
func SystemdDropinsPath ¶
func SystemdRuntimeUnitsPath ¶
func SystemdRuntimeUnitsPath() string
func SystemdUnitsPath ¶
func SystemdUnitsPath() string
Types ¶
type DiskInfo ¶
type DiskInfo struct {
LogicalSectorSize int // 4k or 512
Partitions []PartitionInfo
}
func DumpDisk ¶
DumpPartitionTable returns a list of all partitions on device (e.g. /dev/vda). The list of partitions returned is unordered.
func (DiskInfo) GetPartition ¶
func (d DiskInfo) GetPartition(n int) (PartitionInfo, bool)
type FilesystemInfo ¶ added in v2.4.0
func GetFilesystemInfo ¶ added in v2.4.0
func GetFilesystemInfo(device string, allowAmbivalent bool) (FilesystemInfo, error)
If allowAmbivalent is false, fail if we find traces of more than one filesystem on the device.
type PartitionInfo ¶
type Util ¶
type Util struct {
DestDir string // directory prefix to use in applying fs paths.
Fetcher resource.Fetcher
*log.Logger
}
Util encapsulates logging and destdir indirection for the util methods.
func (Util) AuthorizeSSHKeys ¶
func (u Util) AuthorizeSSHKeys(c types.PasswdUser) error
AuthorizeSSHKeys adds the provided SSH public keys to the user's authorized keys.
func (Util) CheckIfUserExists ¶
func (u Util) CheckIfUserExists(c types.PasswdUser) (bool, error)
CheckIfUserExists will return Info log when user is empty
func (Util) CreateGroup ¶
func (u Util) CreateGroup(g types.PasswdGroup) error
CreateGroup creates the group as described.
func (Util) DisableUnit ¶
func (Util) EnableRuntimeUnit ¶
presets link in /etc, which doesn't make sense for runtime units Related: https://github.com/coreos/ignition/v2/issues/588
func (Util) EnableUnit ¶
func (Util) EnsureUser ¶
func (u Util) EnsureUser(c types.PasswdUser) error
EnsureUser ensures that the user exists as described. If the user does not yet exist, they will be created, otherwise the existing user will be modified.
func (Util) FileFromSystemdUnit ¶
func (Util) FileFromSystemdUnitDropin ¶
func (Util) GetUserHomeDir ¶ added in v2.4.0
func (u Util) GetUserHomeDir(c types.PasswdUser) (string, error)
GetUserHomeDir returns the user home directory. Note that DestDir is not prefixed.
func (Util) JoinPath ¶
JoinPath returns a path into the context ala filepath.Join(d, args) It resolves symlinks as if they were rooted at u.DestDir. This means that the resulting path will always be under u.DestDir. The last element of the path is never followed.
func (Util) MaskUnit ¶
MaskUnit writes a symlink to /dev/null to mask the specified unit and returns the path of that unit without the sysroot prefix
func (Util) PerformFetch ¶
PerformFetch performs a fetch operation generated by PrepareFetch, retrieving the file and writing it to disk. Any encountered errors are returned.
func (Util) PrepareFetches ¶
PrepareFetches converts a given logger, http client, and types.File into a FetchOp. This includes operations such as parsing the source URL, generating a hasher, and performing user/group name lookups. If an error is encountered, the issue will be logged and nil will be returned.
func (Util) RelabelFiles ¶ added in v2.1.0
RelabelFiles relabels all the files matching the globby patterns given.
func (Util) ResolveNodeUidAndGid ¶
ResolveNodeUidAndGid attempts to convert a types.Node into a concrete uid and gid. If the node has the User.ID field set, that's used for the uid. If the node has the User.Name field set, a username -> uid lookup is performed. If neither are set, it returns the passed in defaultUid. The logic is identical for gids with equivalent fields.
func (Util) ResolveSymlink ¶ added in v2.4.0
ResolveSymlink resolves the symlink path, respecting the u.DestDir root. If the path is not a symlink, returns "". Otherwise, returns an unprefixed path to the target.
func (Util) SetPasswordHash ¶
func (u Util) SetPasswordHash(c types.PasswdUser) error
SetPasswordHash sets the password hash of the specified user.