Documentation ¶
Index ¶
Constants ¶
View Source
const ( ArpIterations = 20 ArpIterationDelay = 5 * time.Second ArpInterfaceCheckDelay = 100 * time.Millisecond )
View Source
const CredentialFileName = "password"
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 // When set to true the agent will skip both root and ephemeral disk partitioning SkipDiskSetup bool // Strategy for resolving device paths; // possible values: virtio, scsi, ” DevicePathResolutionType string // Device prexix when using virtio (defaults to 'virtio') VirtioDevicePrefix 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) (partitionPath string, result bool, err error) IsPersistentDiskMounted(diskSettings boshsettings.DiskSettings) (result bool, err error) IsPersistentDiskMountable(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 DeleteARPEntryWithIP(ip string) error // Additional monit management GetMonitCredentials() (username, password string, err error) GetCertManager() cert.Manager GetHostPublicKey() (string, error) RemoveDevTools(packageFileListPath 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.