Documentation
¶
Index ¶
Constants ¶
View Source
const ( ArpIterations = 20 ArpIterationDelay = 5 * time.Second ArpInterfaceCheckDelay = 100 * time.Millisecond )
View Source
const (
SigarStatsCollectionInterval = 10 * time.Second
)
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BootstrapState ¶
type BootstrapState struct {
Linux LinuxState
// contains filtered or unexported fields
}
func NewBootstrapState ¶
func NewBootstrapState(fs boshsys.FileSystem, path string) (*BootstrapState, error)
func (*BootstrapState) SaveState ¶
func (s *BootstrapState) SaveState() (err error)
type LinuxOptions ¶
type LinuxOptions struct {
// When set to true loop back device
// is not going to be overlayed over /tmp to limit /tmp dir size
UseDefaultTmpDir bool
// When set to true persistent disk will be assumed to be pre-formatted;
// otherwise agent will partition and format it right before mounting
UsePreformattedPersistentDisk bool
// When set to true persistent disk will be mounted as a bind-mount
BindMountPersistentDisk bool
// When set to true and no ephemeral disk is mounted, the agent will create
// a partition on the same device as the root partition to use as the
// ephemeral disk
CreatePartitionIfNoEphemeralDisk bool
// Strategy for resolving device paths;
// possible values: virtio, scsi, ”
DevicePathResolutionType string
}
type LinuxState ¶
type LinuxState struct {
HostsConfigured bool `json:"hosts_configured"`
}
type Options ¶
type Options struct {
Linux LinuxOptions
}
type Platform ¶
type Platform interface {
GetFs() boshsys.FileSystem
GetRunner() boshsys.CmdRunner
GetCompressor() boshcmd.Compressor
GetCopier() boshcmd.Copier
GetDirProvider() boshdir.Provider
GetVitalsService() boshvitals.Service
GetDevicePathResolver() (devicePathResolver boshdpresolv.DevicePathResolver)
// User management
CreateUser(username, password, basePath string) (err error)
AddUserToGroups(username string, groups []string) (err error)
DeleteEphemeralUsersMatching(regex string) (err error)
// Bootstrap functionality
SetupRootDisk(ephemeralDiskPath string) (err error)
SetupSSH(publicKey, username string) (err error)
SetUserPassword(user, encryptedPwd string) (err error)
SetupHostname(hostname string) (err error)
SetupNetworking(networks boshsettings.Networks) (err error)
SetupLogrotate(groupName, basePath, size string) (err error)
SetTimeWithNtpServers(servers []string) (err error)
SetupEphemeralDiskWithPath(devicePath string) (err error)
SetupRawEphemeralDisks(devices []boshsettings.DiskSettings) (err error)
SetupDataDir() (err error)
SetupTmpDir() (err error)
SetupMonitUser() (err error)
StartMonit() (err error)
SetupRuntimeConfiguration() (err error)
// Disk management
MountPersistentDisk(diskSettings boshsettings.DiskSettings, mountPoint string) error
UnmountPersistentDisk(diskSettings boshsettings.DiskSettings) (didUnmount bool, err error)
MigratePersistentDisk(fromMountPoint, toMountPoint string) (err error)
GetEphemeralDiskPath(diskSettings boshsettings.DiskSettings) string
IsMountPoint(path string) (result bool, err error)
FindDeviceMatchingMountPoint(string) (string, bool, error)
IsPersistentDiskMounted(diskSettings boshsettings.DiskSettings) (result bool, err error)
IsPersistentDiskPartitioned(diskSettings boshsettings.DiskSettings) (bool, error)
GetFileContentsFromCDROM(filePath string) (contents []byte, err error)
GetFilesContentsFromDisk(diskPath string, fileNames []string) (contents [][]byte, err error)
// Network misc
GetDefaultNetwork() (boshsettings.Network, error)
GetConfiguredNetworkInterfaces() ([]string, error)
PrepareForNetworkingChange() error
CleanIPMacAddressCache(ip string) error
// Additional monit management
GetMonitCredentials() (username, password string, err error)
GetCertManager() cert.Manager
GetHostPublicKey() (string, error)
}
func NewDummyPlatform ¶
func NewDummyPlatform( collector boshstats.Collector, fs boshsys.FileSystem, cmdRunner boshsys.CmdRunner, dirProvider boshdirs.Provider, devicePathResolver boshdpresolv.DevicePathResolver, logger boshlog.Logger, ) Platform
func NewLinuxPlatform ¶
func NewLinuxPlatform( fs boshsys.FileSystem, cmdRunner boshsys.CmdRunner, collector boshstats.Collector, compressor boshcmd.Compressor, copier boshcmd.Copier, dirProvider boshdirs.Provider, vitalsService boshvitals.Service, cdutil boshdevutil.DeviceUtil, diskManager boshdisk.Manager, netManager boshnet.Manager, certManager boshcert.Manager, monitRetryStrategy boshretry.RetryStrategy, devicePathResolver boshdpresolv.DevicePathResolver, diskScanDuration time.Duration, state *BootstrapState, options LinuxOptions, logger boshlog.Logger, defaultNetworkResolver boshsettings.DefaultNetworkResolver, ) Platform
Source Files
¶
Click to show internal directories.
Click to hide internal directories.