Documentation ¶
Overview ¶
Package v1alpha1 implements a `Runtime`.
Index ¶
- func CordonAndDrainNode(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func CreateOSReleaseFile(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func CreateSystemCgroups(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func DiskSizeCheck(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func EnforceKSPPRequirements(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func ExtendPCRStartAll(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func FlushMeta(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func ForceCleanup(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func InitVolumeLifecycle(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func Install(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func KexecPrepare(_ runtime.Sequence, data any) (runtime.TaskExecutionFunc, string)
- func LeaveEtcd(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func LoadConfig(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func MemorySizeCheck(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func MountBPFFS(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func MountCgroups(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func MountEphemeralPartition(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func MountOverlayFilesystems(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func MountPseudoFilesystems(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func MountStatePartition(required bool) func(seq runtime.Sequence, _ any) (runtime.TaskExecutionFunc, string)
- func MountUserDisks(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func OSRelease() (err error)
- func Reboot(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func ReloadMeta(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func RemoveAllPods(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func ResetSystemDisk(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func ResetSystemDiskPartitions(seq runtime.Sequence, _ any) (runtime.TaskExecutionFunc, string)
- func ResetSystemDiskSpec(_ runtime.Sequence, data any) (runtime.TaskExecutionFunc, string)
- func ResetUserDisks(_ runtime.Sequence, data any) (runtime.TaskExecutionFunc, string)
- func SaveConfig(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func SaveStateEncryptionConfig(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func SendResetSignal(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func SetRLimit(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func SetUserEnvVars(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func SetupSharedFilesystems(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func SetupSystemDirectory(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func SetupVarDirectory(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func Shutdown(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func StartAllServices(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func StartContainerd(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func StartDBus(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func StartDashboard(_ runtime.Sequence, _ any) (runtime.TaskExecutionFunc, string)
- func StartMachined(_ runtime.Sequence, _ any) (runtime.TaskExecutionFunc, string)
- func StartSyslogd(r runtime.Sequence, _ any) (runtime.TaskExecutionFunc, string)
- func StartUdevd(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func StopAllPods(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func StopAllServices(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func StopDBus(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func StopServicesEphemeral(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func StoreShutdownEmergency(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func TeardownVolumeLifecycle(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func UnmountEphemeralPartition(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func UnmountOverlayFilesystems(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func UnmountPodMounts(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func UnmountStatePartition(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func UnmountSystemDiskBindMounts(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func UnmountUserDisks(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func Upgrade(_ runtime.Sequence, data any) (runtime.TaskExecutionFunc, string)
- func WaitForCARoots(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func WaitForUSB(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func WriteIMAPolicy(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func WriteUdevRules(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- func WriteUserFiles(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)
- type ClusterState
- type Controller
- func (c *Controller) ListenForEvents(ctx context.Context) error
- func (c *Controller) Run(ctx context.Context, seq runtime.Sequence, data any, ...) error
- func (c *Controller) Runtime() runtime.Runtime
- func (c *Controller) Sequencer() runtime.Sequencer
- func (c *Controller) V1Alpha2() runtime.V1Alpha2Controller
- type DBusState
- type Events
- type MachineState
- func (s *MachineState) DBus() runtime.DBusState
- func (s *MachineState) DeleteTag(ctx context.Context, t uint8) (bool, error)
- func (s *MachineState) Flush() error
- func (s *MachineState) Installed() bool
- func (s *MachineState) IsInstallStaged() bool
- func (s *MachineState) IsKexecPrepared() bool
- func (s *MachineState) KexecPrepared(prepared bool)
- func (s *MachineState) Meta() runtime.Meta
- func (s *MachineState) ReadTag(t uint8) (val string, ok bool)
- func (s *MachineState) ReadTagBytes(t uint8) (val []byte, ok bool)
- func (s *MachineState) Reload(ctx context.Context) error
- func (s *MachineState) SetTag(ctx context.Context, t uint8, val string) (bool, error)
- func (s *MachineState) SetTagBytes(ctx context.Context, t uint8, val []byte) (bool, error)
- func (s *MachineState) StagedInstallImageRef() string
- func (s *MachineState) StagedInstallOptions() []byte
- type PhaseList
- func (p PhaseList) Append(name string, tasks ...runtime.TaskSetupFunc) PhaseList
- func (p PhaseList) AppendList(list PhaseList) PhaseList
- func (p PhaseList) AppendWhen(when bool, name string, tasks ...runtime.TaskSetupFunc) PhaseList
- func (p PhaseList) AppendWithDeferredCheck(check func() bool, name string, tasks ...runtime.TaskSetupFunc) PhaseList
- type Priority
- type PriorityLock
- type Runtime
- func (r *Runtime) CanApplyImmediate(cfg config.Provider) error
- func (r *Runtime) CancelConfigRollbackTimeout()
- func (r *Runtime) Config() config.Config
- func (r *Runtime) ConfigContainer() config.Container
- func (r *Runtime) Events() runtime.EventStream
- func (r *Runtime) GetSystemInformation(ctx context.Context) (*hardware.SystemInformation, error)
- func (r *Runtime) IsBootstrapAllowed() bool
- func (r *Runtime) Logging() runtime.LoggingManager
- func (r *Runtime) NodeName() (string, error)
- func (r *Runtime) RollbackToConfigAfter(timeout time.Duration) error
- func (r *Runtime) SetConfig(cfg config.Provider) error
- func (r *Runtime) State() runtime.State
- type Sequencer
- func (*Sequencer) Boot(r runtime.Runtime) []runtime.Phase
- func (*Sequencer) Initialize(r runtime.Runtime) []runtime.Phase
- func (*Sequencer) Install(r runtime.Runtime) []runtime.Phase
- func (*Sequencer) MaintenanceUpgrade(r runtime.Runtime, in *machineapi.UpgradeRequest) []runtime.Phase
- func (*Sequencer) Reboot(r runtime.Runtime) []runtime.Phase
- func (*Sequencer) Reset(r runtime.Runtime, in runtime.ResetOptions) []runtime.Phase
- func (*Sequencer) Shutdown(r runtime.Runtime, in *machineapi.ShutdownRequest) []runtime.Phase
- func (*Sequencer) StageUpgrade(r runtime.Runtime, in *machineapi.UpgradeRequest) []runtime.Phase
- func (*Sequencer) Upgrade(r runtime.Runtime, in *machineapi.UpgradeRequest) []runtime.Phase
- type State
- type SystemDiskTargets
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CordonAndDrainNode ¶
CordonAndDrainNode represents the task for stop all containerd tasks in the k8s.io namespace.
func CreateOSReleaseFile ¶
CreateOSReleaseFile represents the CreateOSReleaseFile task.
func CreateSystemCgroups ¶
CreateSystemCgroups represents the CreateSystemCgroups task.
func DiskSizeCheck ¶
DiskSizeCheck represents the DiskSizeCheck task.
func EnforceKSPPRequirements ¶
EnforceKSPPRequirements represents the EnforceKSPPRequirements task.
func ExtendPCRStartAll ¶ added in v1.5.0
ExtendPCRStartAll represents the task to extend the PCR with the StartTheWorld PCR phase.
func ForceCleanup ¶
ForceCleanup kills remaining procs and forces partitions unmount.
func InitVolumeLifecycle ¶ added in v1.8.0
InitVolumeLifecycle initializes volume lifecycle resource.
func KexecPrepare ¶
KexecPrepare loads next boot kernel via kexec_file_load.
func LoadConfig ¶
LoadConfig represents the LoadConfig task.
func MemorySizeCheck ¶
MemorySizeCheck represents the MemorySizeCheck task.
func MountBPFFS ¶
MountBPFFS represents the MountBPFFS task.
func MountCgroups ¶
MountCgroups represents the MountCgroups task.
func MountEphemeralPartition ¶
MountEphemeralPartition mounts the ephemeral partition.
func MountOverlayFilesystems ¶
MountOverlayFilesystems represents the MountOverlayFilesystems task.
func MountPseudoFilesystems ¶
MountPseudoFilesystems represents the MountPseudoFilesystems task.
func MountStatePartition ¶
func MountStatePartition(required bool) func(seq runtime.Sequence, _ any) (runtime.TaskExecutionFunc, string)
MountStatePartition mounts the system partition.
func MountUserDisks ¶
MountUserDisks represents the MountUserDisks task.
func OSRelease ¶
func OSRelease() (err error)
OSRelease renders a valid /etc/os-release file and writes it to disk. The node's OS Image field is reported by the node from /etc/os-release.
func ReloadMeta ¶ added in v1.4.0
ReloadMeta reloads META partition after disk mount, installer run, etc.
func RemoveAllPods ¶
RemoveAllPods represents the task for stopping and removing all pods.
func ResetSystemDisk ¶
ResetSystemDisk represents the task to reset the system disk.
func ResetSystemDiskPartitions ¶ added in v1.4.0
ResetSystemDiskPartitions represents the task for wiping the system disk partitions.
func ResetSystemDiskSpec ¶
ResetSystemDiskSpec represents the task to reset the system disk by spec.
func ResetUserDisks ¶ added in v1.4.0
ResetUserDisks represents the task to reset the user disks.
func SaveConfig ¶
SaveConfig represents the SaveConfig task.
func SaveStateEncryptionConfig ¶
SaveStateEncryptionConfig saves state partition encryption info in the meta partition.
func SendResetSignal ¶ added in v1.6.0
SendResetSignal func represents the task to send the final reset signal.
func SetUserEnvVars ¶
SetUserEnvVars represents the SetUserEnvVars task.
func SetupSharedFilesystems ¶
SetupSharedFilesystems represents the SetupSharedFilesystems task.
func SetupSystemDirectory ¶
SetupSystemDirectory represents the SetupSystemDirectory task.
func SetupVarDirectory ¶
SetupVarDirectory represents the SetupVarDirectory task.
func StartAllServices ¶
StartAllServices represents the task to start the system services.
func StartContainerd ¶
StartContainerd represents the task to start containerd.
func StartDashboard ¶ added in v1.4.0
StartDashboard represents the task to start dashboard.
func StartMachined ¶ added in v1.4.0
StartMachined represents the task to start machined.
func StartSyslogd ¶ added in v1.7.0
StartSyslogd represents the task to start syslogd.
func StartUdevd ¶
StartUdevd represents the task to start udevd.
func StopAllPods ¶
StopAllPods represents the task for stopping all pods.
func StopAllServices ¶
StopAllServices represents the StopAllServices task.
func StopServicesEphemeral ¶
StopServicesEphemeral represents the StopServicesEphemeral task.
func StoreShutdownEmergency ¶ added in v1.6.0
StoreShutdownEmergency stores shutdown emergency state.
func TeardownVolumeLifecycle ¶ added in v1.8.0
TeardownVolumeLifecycle tears down volume lifecycle resource.
func UnmountEphemeralPartition ¶
UnmountEphemeralPartition unmounts the ephemeral partition.
func UnmountOverlayFilesystems ¶
UnmountOverlayFilesystems represents the UnmountOverlayFilesystems task.
func UnmountPodMounts ¶
UnmountPodMounts represents the UnmountPodMounts task.
func UnmountStatePartition ¶
UnmountStatePartition unmounts the system partition.
func UnmountSystemDiskBindMounts ¶
UnmountSystemDiskBindMounts represents the UnmountSystemDiskBindMounts task.
func UnmountUserDisks ¶
UnmountUserDisks represents the UnmountUserDisks task.
func WaitForCARoots ¶ added in v1.8.0
WaitForCARoots represents the WaitForCARoots task.
func WaitForUSB ¶ added in v1.6.0
WaitForUSB represents the WaitForUSB task.
func WriteIMAPolicy ¶
WriteIMAPolicy represents the WriteIMAPolicy task.
func WriteUdevRules ¶
WriteUdevRules is the task that writes udev rules to a udev rules file. TODO: frezbo: move this to controller based since writing udev rules doesn't need a restart.
func WriteUserFiles ¶
WriteUserFiles represents the WriteUserFiles task.
Types ¶
type Controller ¶
type Controller struct {
// contains filtered or unexported fields
}
Controller represents the controller responsible for managing the execution of sequences.
func NewController ¶
func NewController() (*Controller, error)
NewController intializes and returns a controller.
func (*Controller) ListenForEvents ¶
func (c *Controller) ListenForEvents(ctx context.Context) error
ListenForEvents starts the event listener. The listener will trigger a shutdown in response to a SIGTERM signal and ACPI button/power event.
func (*Controller) Run ¶
func (c *Controller) Run(ctx context.Context, seq runtime.Sequence, data any, setters ...runtime.LockOption) error
Run executes all phases known to the controller in serial. `Controller` aborts immediately if any phase fails.
func (*Controller) Runtime ¶
func (c *Controller) Runtime() runtime.Runtime
Runtime implements the controller interface.
func (*Controller) Sequencer ¶
func (c *Controller) Sequencer() runtime.Sequencer
Sequencer implements the controller interface.
func (*Controller) V1Alpha2 ¶
func (c *Controller) V1Alpha2() runtime.V1Alpha2Controller
V1Alpha2 implements the controller interface.
type DBusState ¶
type DBusState struct {
// contains filtered or unexported fields
}
DBusState implements the logind mock.
type Events ¶
type Events struct {
// contains filtered or unexported fields
}
Events represents the runtime event stream.
Events internally is implemented as circular buffer of `runtime.Event`. `e.stream` slice is allocated to the initial capacity and slice size doesn't change throughout the lifetime of Events.
To explain the internals, let's call `Publish()` method 'Publisher' (there might be multiple callers for it), and each `Watch()` handler as 'Consumer'.
For Publisher, `Events` keeps `e.writePos`, `e.writePos` is write offset into `e.stream`. Offset `e.writePos` is always incremeneted, real write index is `e.writePos % e.cap`
Each Consumer captures initial position it starts consumption from as `pos` which is local to each Consumer, as Consumers are free to work on their own pace. Following diagram shows Publisher and three Consumers:
Consumer 3 Consumer 2 pos = 27 pos = 34 e.stream []Event | | | | +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |17 | +----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ | | | | Consumer 1 Publisher pos = 43 e.writePos = 50
Capacity of Events in this diagram is 18, Publisher published already 50 events, so it already overwrote `e.stream` twice fully.
Consumer1 is trying to keep up with the publisher, it has 14-7 = 7 events to catch up.
Consumer2 is reading events published by Publisher before last wraparound, it has 50-34 = 16 events to catch up. Consumer 2 has a lot of events to catch up, but as it stays on track, it can still do that.
Consumer3 is doing bad: 50-27 = 23 > 18 (capacity), so its read position has already been overwritten, it can't read consistent data, soit should error out.
Synchronization: at the moment single mutex protects `e.stream` and `e.writePos`, consumers keep their position as local variable, so it doesn't require synchronization. If Consumer catches up with Publisher, it sleeps on condition variable to be woken up by Publisher on next publish.
func NewEvents ¶
NewEvents initializes and returns the v1alpha1 runtime event stream.
Argument cap is a maximum event stream capacity (available event history). Argument gap is a safety gap to separate consumer from the publisher. Maximum available event history is (cap-gap).
type MachineState ¶
type MachineState struct {
// contains filtered or unexported fields
}
MachineState represents the machine's state.
func (*MachineState) DBus ¶
func (s *MachineState) DBus() runtime.DBusState
DBus implements the machine state interface.
func (*MachineState) Flush ¶ added in v1.4.0
func (s *MachineState) Flush() error
Flush implements the runtime.Meta interface.
func (*MachineState) Installed ¶
func (s *MachineState) Installed() bool
Installed implements the machine state interface.
func (*MachineState) IsInstallStaged ¶
func (s *MachineState) IsInstallStaged() bool
IsInstallStaged implements the machine state interface.
func (*MachineState) IsKexecPrepared ¶
func (s *MachineState) IsKexecPrepared() bool
IsKexecPrepared implements the machine state interface.
func (*MachineState) KexecPrepared ¶
func (s *MachineState) KexecPrepared(prepared bool)
KexecPrepared implements the machine state interface.
func (*MachineState) Meta ¶ added in v1.4.0
func (s *MachineState) Meta() runtime.Meta
Meta implements the runtime.MachineState interface.
func (*MachineState) ReadTag ¶ added in v1.4.0
func (s *MachineState) ReadTag(t uint8) (val string, ok bool)
ReadTag implements the runtime.Meta interface.
func (*MachineState) ReadTagBytes ¶ added in v1.4.0
func (s *MachineState) ReadTagBytes(t uint8) (val []byte, ok bool)
ReadTagBytes implements the runtime.Meta interface.
func (*MachineState) Reload ¶ added in v1.4.0
func (s *MachineState) Reload(ctx context.Context) error
Reload implements the runtime.Meta interface.
func (*MachineState) SetTagBytes ¶ added in v1.4.0
SetTagBytes implements the runtime.Meta interface.
func (*MachineState) StagedInstallImageRef ¶
func (s *MachineState) StagedInstallImageRef() string
StagedInstallImageRef implements the machine state interface.
func (*MachineState) StagedInstallOptions ¶
func (s *MachineState) StagedInstallOptions() []byte
StagedInstallOptions implements the machine state interface.
type PhaseList ¶
PhaseList represents a list of phases.
func (PhaseList) Append ¶
func (p PhaseList) Append(name string, tasks ...runtime.TaskSetupFunc) PhaseList
Append appends a task to the phase list.
func (PhaseList) AppendList ¶
AppendList appends an additional PhaseList to the existing one.
func (PhaseList) AppendWhen ¶
AppendWhen appends a task to the phase list when `when` is `true`.
func (PhaseList) AppendWithDeferredCheck ¶ added in v1.4.0
func (p PhaseList) AppendWithDeferredCheck(check func() bool, name string, tasks ...runtime.TaskSetupFunc) PhaseList
AppendWithDeferredCheck appends a task to the phase list but skips the sequence if `check func()` returns `false` during execution.
type Priority ¶
type Priority[T any] interface { comparable CanTakeOver(another T) bool }
Priority describes the running priority of a process.
If CanTakeOver returns true, current process with "lower" priority will be canceled and "higher" priority process will be run.
type PriorityLock ¶
type PriorityLock[T Priority[T]] struct { // contains filtered or unexported fields }
PriorityLock is a lock that makes sure that only a single process can run at a time.
If a process with "higher" priority tries to acquire the lock, previous process is stopped and new process with "higher" priority is run.
func NewPriorityLock ¶
func NewPriorityLock[T Priority[T]]() *PriorityLock[T]
NewPriorityLock returns a new PriorityLock.
func (*PriorityLock[T]) Lock ¶
func (lock *PriorityLock[T]) Lock(ctx context.Context, takeOverTimeout time.Duration, seq T, options ...runtime.LockOption) (context.Context, error)
Lock acquires the lock according the priority rules and returns a context that should be used within the process.
Process should terminate as soon as the context is canceled. Argument seq defines the priority of the process. Argument takeOverTimeout defines the maximum time to wait for the low-priority process to terminate.
type Runtime ¶
type Runtime struct {
// contains filtered or unexported fields
}
Runtime implements the Runtime interface.
func NewRuntime ¶
func NewRuntime(s runtime.State, e runtime.EventStream, l runtime.LoggingManager) *Runtime
NewRuntime initializes and returns the v1alpha1 runtime.
func (*Runtime) CanApplyImmediate ¶
CanApplyImmediate implements the Runtime interface.
func (*Runtime) CancelConfigRollbackTimeout ¶
func (r *Runtime) CancelConfigRollbackTimeout()
CancelConfigRollbackTimeout implements the Runtime interface.
func (*Runtime) ConfigContainer ¶ added in v1.5.0
ConfigContainer implements the Runtime interface.
func (*Runtime) Events ¶
func (r *Runtime) Events() runtime.EventStream
Events implements the Runtime interface.
func (*Runtime) GetSystemInformation ¶ added in v1.5.0
GetSystemInformation returns system information resource if it exists.
func (*Runtime) IsBootstrapAllowed ¶
IsBootstrapAllowed checks for CRI to be up, checked in the bootstrap method.
func (*Runtime) Logging ¶
func (r *Runtime) Logging() runtime.LoggingManager
Logging implements the Runtime interface.
func (*Runtime) RollbackToConfigAfter ¶
RollbackToConfigAfter implements the Runtime interface.
type Sequencer ¶
type Sequencer struct{}
Sequencer implements the sequencer interface.
func (*Sequencer) Boot ¶
Boot is the boot sequence. This primary goal if this sequence is to apply user supplied settings and start the services for the specific machine type. This sequence should never be reached if an installation is not found.
func (*Sequencer) Initialize ¶
Initialize is the initialize sequence. The primary goals of this sequence is to load the config and enforce kernel security requirements.
func (*Sequencer) MaintenanceUpgrade ¶
func (*Sequencer) MaintenanceUpgrade(r runtime.Runtime, in *machineapi.UpgradeRequest) []runtime.Phase
MaintenanceUpgrade is the upgrade sequence in maintenance mode.
func (*Sequencer) Shutdown ¶
func (*Sequencer) Shutdown(r runtime.Runtime, in *machineapi.ShutdownRequest) []runtime.Phase
Shutdown is the shutdown sequence.
func (*Sequencer) StageUpgrade ¶
func (*Sequencer) StageUpgrade(r runtime.Runtime, in *machineapi.UpgradeRequest) []runtime.Phase
StageUpgrade is the stage upgrade sequence.
func (*Sequencer) Upgrade ¶
func (*Sequencer) Upgrade(r runtime.Runtime, in *machineapi.UpgradeRequest) []runtime.Phase
Upgrade is the upgrade sequence.
type State ¶
type State struct {
// contains filtered or unexported fields
}
State implements the state interface.
func (*State) Cluster ¶
func (s *State) Cluster() runtime.ClusterState
Cluster implements the state interface.
func (*State) Machine ¶
func (s *State) Machine() runtime.MachineState
Machine implements the state interface.
func (*State) V1Alpha2 ¶
func (s *State) V1Alpha2() runtime.V1Alpha2State
V1Alpha2 implements the state interface.
type SystemDiskTargets ¶ added in v1.4.0
type SystemDiskTargets interface { GetSystemDiskTargets() []runtime.PartitionTarget fmt.Stringer }
SystemDiskTargets represents the interface for getting the system disk targets. It's a subset of runtime.ResetOptions.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package board provides the function to discover the current board.
|
Package board provides the function to discover the current board. |
bananapi_m64
Package bananapim64 provides the Banana Pi M64 board implementation.
|
Package bananapim64 provides the Banana Pi M64 board implementation. |
jetson_nano
Package jetsonnano provides the Jetson Nano board implementation.
|
Package jetsonnano provides the Jetson Nano board implementation. |
libretech_all_h3_cc_h5
Package libretechallh3cch5 provides the LibretechAllH3CCH5 board implementation.
|
Package libretechallh3cch5 provides the LibretechAllH3CCH5 board implementation. |
nanopi_r4s
Package nanopir4s provides the Nano Pi R4S board implementation.
|
Package nanopir4s provides the Nano Pi R4S board implementation. |
pine64
Package pine64 provides the Pine64 board implementation.
|
Package pine64 provides the Pine64 board implementation. |
rock64
Package rock64 provides the Pine64 Rock64 board implementation.
|
Package rock64 provides the Pine64 Rock64 board implementation. |
rockpi4
Package rockpi4 provides the Radxa rock pi implementation.
|
Package rockpi4 provides the Radxa rock pi implementation. |
rockpi4c
Package rockpi4c provides the Radxa rock pi implementation.
|
Package rockpi4c provides the Radxa rock pi implementation. |
rpi_generic
Package rpigeneric provides the Raspberry Pi Compute Module 4 implementation.
|
Package rpigeneric provides the Raspberry Pi Compute Module 4 implementation. |
Package bootloader provides bootloader implementation.
|
Package bootloader provides bootloader implementation. |
grub
Package grub provides the interface to the GRUB bootloader: config management, installation, etc.
|
Package grub provides the interface to the GRUB bootloader: config management, installation, etc. |
mount
Package mount provides bootloader mount operations.
|
Package mount provides bootloader mount operations. |
options
Package options provides bootloader options.
|
Package options provides bootloader options. |
sdboot
Package sdboot provides the interface to the Systemd-Boot bootloader: config management, installation, etc.
|
Package sdboot provides the interface to the Systemd-Boot bootloader: config management, installation, etc. |
Package platform provides functions to get the runtime.Platform.
|
Package platform provides functions to get the runtime.Platform. |
akamai
Package akamai contains the Akamai implementation of the [platform.Platform].
|
Package akamai contains the Akamai implementation of the [platform.Platform]. |
aws
Package aws contains the AWS implementation of the [platform.Platform].
|
Package aws contains the AWS implementation of the [platform.Platform]. |
azure
Package azure contains the Azure implementation of the [platform.Platform].
|
Package azure contains the Azure implementation of the [platform.Platform]. |
cloudstack
Package cloudstack contains the Cloudstack platform implementation.
|
Package cloudstack contains the Cloudstack platform implementation. |
container
Package container contains the Container implementation of the [platform.Platform].
|
Package container contains the Container implementation of the [platform.Platform]. |
container/internal/files
Package files provides internal methods to container platform to read files.
|
Package files provides internal methods to container platform to read files. |
digitalocean
Package digitalocean contains the Digital Ocean implementation of the [platform.Platform].
|
Package digitalocean contains the Digital Ocean implementation of the [platform.Platform]. |
equinixmetal
Package equinixmetal contains the Equinix Metal implementation of the [platform.Platform].
|
Package equinixmetal contains the Equinix Metal implementation of the [platform.Platform]. |
errors
Package errors contains errors used by the platform package.
|
Package errors contains errors used by the platform package. |
exoscale
Package exoscale contains the Exoscale platform implementation.
|
Package exoscale contains the Exoscale platform implementation. |
gcp
Package gcp contains the GCP implementation of the [platform.Platform].
|
Package gcp contains the GCP implementation of the [platform.Platform]. |
hcloud
Package hcloud contains the Hcloud implementation of the [platform.Platform].
|
Package hcloud contains the Hcloud implementation of the [platform.Platform]. |
internal/address
Package address provides utility functions for address parsing.
|
Package address provides utility functions for address parsing. |
internal/netutils
Package netutils provides network-related helpers for platform implementation.
|
Package netutils provides network-related helpers for platform implementation. |
metal
Package metal contains the metal implementation of the [platform.Platform].
|
Package metal contains the metal implementation of the [platform.Platform]. |
metal/oauth2
Package oauth2 implements OAuth2 Device Flow to authenticate machine config download.
|
Package oauth2 implements OAuth2 Device Flow to authenticate machine config download. |
metal/url
Package url handles expansion of the download URL for the config.
|
Package url handles expansion of the download URL for the config. |
nocloud
Package nocloud provides the NoCloud platform implementation.
|
Package nocloud provides the NoCloud platform implementation. |
opennebula
Package opennebula provides the OpenNebula platform implementation.
|
Package opennebula provides the OpenNebula platform implementation. |
openstack
Package openstack provides the OpenStack platform implementation.
|
Package openstack provides the OpenStack platform implementation. |
oracle
Package oracle provides the Oracle platform implementation.
|
Package oracle provides the Oracle platform implementation. |
scaleway
Package scaleway provides the Scaleway platform implementation.
|
Package scaleway provides the Scaleway platform implementation. |
upcloud
Package upcloud provides the UpCloud platform implementation.
|
Package upcloud provides the UpCloud platform implementation. |
vmware
Package vmware provides the VMware platform implementation.
|
Package vmware provides the VMware platform implementation. |
vultr
Package vultr provides the Vultr platform implementation.
|
Package vultr provides the Vultr platform implementation. |