v1alpha1

package
v1.3.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 28, 2022 License: MPL-2.0 Imports: 85 Imported by: 0

Documentation

Overview

Package v1alpha1 implements a `Runtime`.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ActivateLogicalVolumes

func ActivateLogicalVolumes(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

ActivateLogicalVolumes represents the task for activating logical volumes.

func CleanupLegacyStaticPodFiles

func CleanupLegacyStaticPodFiles(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

CleanupLegacyStaticPodFiles removes legacy static pod files in the manifests directory.

This part of transition to Talos 1.3.0, as Talos 1.3.0 serves static pods from internal web server.

func CordonAndDrainNode

func CordonAndDrainNode(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

CordonAndDrainNode represents the task for stop all containerd tasks in the k8s.io namespace.

func CreateOSReleaseFile

func CreateOSReleaseFile(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

CreateOSReleaseFile represents the CreateOSReleaseFile task.

func CreateSystemCgroups

func CreateSystemCgroups(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

CreateSystemCgroups represents the CreateSystemCgroups task.

func DiskSizeCheck

DiskSizeCheck represents the DiskSizeCheck task.

func DropCapabilities

func DropCapabilities(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

DropCapabilities drops some capabilities so that they can't be restored by child processes.

func EnforceKSPPRequirements

func EnforceKSPPRequirements(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

EnforceKSPPRequirements represents the EnforceKSPPRequirements task.

func ForceCleanup

func ForceCleanup(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

ForceCleanup kills remaining procs and forces partitions unmount.

func Install

func Install(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

Install mounts or installs the system partitions.

func KexecPrepare

func KexecPrepare(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

KexecPrepare loads next boot kernel via kexec_file_load.

func LabelNodeAsControlPlane

func LabelNodeAsControlPlane(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

LabelNodeAsControlPlane represents the LabelNodeAsControlPlane task.

func LeaveEtcd

func LeaveEtcd(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

LeaveEtcd represents the task for removing a control plane node from etcd.

func LoadConfig

func LoadConfig(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

LoadConfig represents the LoadConfig task.

func MemorySizeCheck

func MemorySizeCheck(runtime.Sequence, any) (runtime.TaskExecutionFunc, string)

MemorySizeCheck represents the MemorySizeCheck task.

func MountBPFFS

func MountBPFFS(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

MountBPFFS represents the MountBPFFS task.

func MountBootPartition

func MountBootPartition(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

MountBootPartition mounts the boot partition.

func MountCgroups

func MountCgroups(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

MountCgroups represents the MountCgroups task.

func MountEFIPartition

func MountEFIPartition(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

MountEFIPartition mounts the EFI partition.

func MountEphemeralPartition

func MountEphemeralPartition(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

MountEphemeralPartition mounts the ephemeral partition.

func MountOverlayFilesystems

func MountOverlayFilesystems(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

MountOverlayFilesystems represents the MountOverlayFilesystems task.

func MountPseudoFilesystems

func MountPseudoFilesystems(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

MountPseudoFilesystems represents the MountPseudoFilesystems task.

func MountStatePartition

func MountStatePartition(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

MountStatePartition mounts the system partition.

func MountUserDisks

func MountUserDisks(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

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 Reboot

func Reboot(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

Reboot represents the Reboot task.

func RemoveAllPods

func RemoveAllPods(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

RemoveAllPods represents the task for stopping and removing all pods.

func ResetSystemDisk

func ResetSystemDisk(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

ResetSystemDisk represents the task to reset the system disk.

func ResetSystemDiskSpec

func ResetSystemDiskSpec(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

ResetSystemDiskSpec represents the task to reset the system disk by spec.

func SaveConfig

func SaveConfig(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

SaveConfig represents the SaveConfig task.

func SaveStateEncryptionConfig

func SaveStateEncryptionConfig(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

SaveStateEncryptionConfig saves state partition encryption info in the meta partition.

func SetRLimit

func SetRLimit(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

SetRLimit represents the SetRLimit task.

func SetUserEnvVars

func SetUserEnvVars(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

SetUserEnvVars represents the SetUserEnvVars task.

func SetupLogger

func SetupLogger(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

SetupLogger represents the SetupLogger task.

func SetupSharedFilesystems

func SetupSharedFilesystems(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

SetupSharedFilesystems represents the SetupSharedFilesystems task.

func SetupSystemDirectory

func SetupSystemDirectory(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

SetupSystemDirectory represents the SetupSystemDirectory task.

func SetupVarDirectory

func SetupVarDirectory(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

SetupVarDirectory represents the SetupVarDirectory task.

func Shutdown

func Shutdown(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

Shutdown represents the Shutdown task.

func StartAllServices

func StartAllServices(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

StartAllServices represents the task to start the system services.

func StartContainerd

func StartContainerd(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

StartContainerd represents the task to start containerd.

func StartDBus

func StartDBus(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

StartDBus starts the D-Bus mock.

func StartUdevd

func StartUdevd(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

StartUdevd represents the task to start udevd.

func StopAllPods

func StopAllPods(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

StopAllPods represents the task for stopping all pods.

func StopAllServices

func StopAllServices(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

StopAllServices represents the StopAllServices task.

func StopDBus

func StopDBus(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

StopDBus stops the D-Bus mock.

func StopServicesEphemeral

func StopServicesEphemeral(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

StopServicesEphemeral represents the StopServicesEphemeral task.

func UncordonNode

func UncordonNode(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

UncordonNode represents the task for mark node as scheduling enabled.

This action undoes the CordonAndDrainNode task.

func UnmountBootPartition

func UnmountBootPartition(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

UnmountBootPartition unmounts the boot partition.

func UnmountEFIPartition

func UnmountEFIPartition(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

UnmountEFIPartition unmounts the EFI partition.

func UnmountEphemeralPartition

func UnmountEphemeralPartition(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

UnmountEphemeralPartition unmounts the ephemeral partition.

func UnmountOverlayFilesystems

func UnmountOverlayFilesystems(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

UnmountOverlayFilesystems represents the UnmountOverlayFilesystems task.

func UnmountPodMounts

func UnmountPodMounts(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

UnmountPodMounts represents the UnmountPodMounts task.

func UnmountStatePartition

func UnmountStatePartition(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

UnmountStatePartition unmounts the system partition.

func UnmountSystemDiskBindMounts

func UnmountSystemDiskBindMounts(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

UnmountSystemDiskBindMounts represents the UnmountSystemDiskBindMounts task.

func UnmountUserDisks

func UnmountUserDisks(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

UnmountUserDisks represents the UnmountUserDisks task.

func UpdateBootloader

func UpdateBootloader(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

UpdateBootloader represents the UpdateBootloader task.

func Upgrade

func Upgrade(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

Upgrade represents the task for performing an upgrade.

func ValidateConfig

func ValidateConfig(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

ValidateConfig validates the config.

func VerifyDiskAvailability

func VerifyDiskAvailability(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

VerifyDiskAvailability represents the task for verifying that the system disk is not in use.

func WriteIMAPolicy

func WriteIMAPolicy(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

WriteIMAPolicy represents the WriteIMAPolicy task.

func WriteUdevRules

func WriteUdevRules(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

WriteUdevRules is the task that writes udev rules to a udev rules file.

func WriteUserFiles

func WriteUserFiles(seq runtime.Sequence, data interface{}) (runtime.TaskExecutionFunc, string)

WriteUserFiles represents the WriteUserFiles task.

Types

type ClusterState

type ClusterState struct{}

ClusterState represents the cluster's state.

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 interface{}, 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.

func (*DBusState) Start

func (dbus *DBusState) Start() error

Start the D-Bus broker and logind mock.

func (*DBusState) Stop

func (dbus *DBusState) Stop() error

Stop the D-Bus broker and logind mock.

func (*DBusState) WaitShutdown

func (dbus *DBusState) WaitShutdown(ctx context.Context) error

WaitShutdown signals the shutdown over the D-Bus and waits for the inhibit lock to be released.

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

func NewEvents(capacity, gap int) *Events

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).

func (*Events) Publish

func (e *Events) Publish(ctx context.Context, msg proto.Message)

Publish implements the Events interface.

func (*Events) Watch

func (e *Events) Watch(f runtime.WatchFunc, opt ...runtime.WatchOptionFunc) error

Watch implements the Events interface.

type MachineState

type MachineState struct {
	// contains filtered or unexported fields
}

MachineState represents the machine's state.

func (*MachineState) Close

func (s *MachineState) Close() error

Close implements the machine state interface.

func (*MachineState) DBus

func (s *MachineState) DBus() runtime.DBusState

DBus implements the machine state interface.

func (*MachineState) Disk

func (s *MachineState) Disk(options ...disk.Option) *probe.ProbedBlockDevice

Disk implements the machine state 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) 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

type PhaseList []runtime.Phase

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

func (p PhaseList) AppendList(list PhaseList) PhaseList

AppendList appends an additional PhaseList to the existing one.

func (PhaseList) AppendWhen

func (p PhaseList) AppendWhen(when bool, name string, tasks ...runtime.TaskSetupFunc) PhaseList

AppendWhen appends a task to the phase list when `when` is `true`.

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.

func (*PriorityLock[T]) Unlock

func (lock *PriorityLock[T]) Unlock()

Unlock releases the lock.

type Runtime

type Runtime struct {
	// contains filtered or unexported fields
}

Runtime implements the Runtime interface.

func NewRuntime

NewRuntime initializes and returns the v1alpha1 runtime.

func (*Runtime) CanApplyImmediate

func (r *Runtime) CanApplyImmediate(cfg config.Provider) error

CanApplyImmediate implements the Runtime interface.

func (*Runtime) CancelConfigRollbackTimeout

func (r *Runtime) CancelConfigRollbackTimeout()

CancelConfigRollbackTimeout implements the Runtime interface.

func (*Runtime) Config

func (r *Runtime) Config() config.Provider

Config implements the Runtime interface.

func (*Runtime) Events

func (r *Runtime) Events() runtime.EventStream

Events implements the Runtime interface.

func (*Runtime) IsBootstrapAllowed

func (r *Runtime) IsBootstrapAllowed() bool

IsBootstrapAllowed checks for CRI to be up, checked in the bootstrap method.

func (*Runtime) LoadAndValidateConfig

func (r *Runtime) LoadAndValidateConfig(b []byte) (config.Provider, error)

LoadAndValidateConfig implements the Runtime interface.

func (*Runtime) Logging

func (r *Runtime) Logging() runtime.LoggingManager

Logging implements the Runtime interface.

func (*Runtime) NodeName

func (r *Runtime) NodeName() (string, error)

NodeName implements the Runtime interface.

func (*Runtime) RollbackToConfigAfter

func (r *Runtime) RollbackToConfigAfter(cfg []byte, timeout time.Duration) error

RollbackToConfigAfter implements the Runtime interface.

func (*Runtime) SetConfig

func (r *Runtime) SetConfig(cfg config.Provider) error

SetConfig implements the Runtime interface.

func (*Runtime) State

func (r *Runtime) State() runtime.State

State implements the Runtime interface.

type Sequencer

type Sequencer struct{}

Sequencer implements the sequencer interface.

func NewSequencer

func NewSequencer() *Sequencer

NewSequencer intializes and returns a sequencer.

func (*Sequencer) Boot

func (*Sequencer) Boot(r runtime.Runtime) []runtime.Phase

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

func (*Sequencer) Initialize(r runtime.Runtime) []runtime.Phase

Initialize is the initialize sequence. The primary goals of this sequence is to load the config and enforce kernel security requirements.

func (*Sequencer) Install

func (*Sequencer) Install(r runtime.Runtime) []runtime.Phase

Install is the install sequence.

func (*Sequencer) MaintenanceUpgrade

func (*Sequencer) MaintenanceUpgrade(r runtime.Runtime, in *machineapi.UpgradeRequest) []runtime.Phase

MaintenanceUpgrade is the upgrade sequence in maintenance mode.

func (*Sequencer) Reboot

func (*Sequencer) Reboot(r runtime.Runtime) []runtime.Phase

Reboot is the reboot sequence.

func (*Sequencer) Reset

Reset is the reset sequence.

func (*Sequencer) Shutdown

Shutdown is the shutdown sequence.

func (*Sequencer) StageUpgrade

StageUpgrade is the stage upgrade sequence.

func (*Sequencer) Upgrade

Upgrade is the upgrade sequence.

type State

type State struct {
	// contains filtered or unexported fields
}

State implements the state interface.

func NewState

func NewState() (s *State, err error)

NewState initializes and returns the v1alpha1 state.

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) Platform

func (s *State) Platform() runtime.Platform

Platform implements the state interface.

func (*State) V1Alpha2

func (s *State) V1Alpha2() runtime.V1Alpha2State

V1Alpha2 implements the state interface.

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_4
Package rpi4 provides the Raspberry Pi 4 Model B implementation.
Package rpi4 provides the Raspberry Pi 4 Model B 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.
adv
Package adv provides common interfaces to access ADV data.
Package adv provides common interfaces to access ADV data.
adv/syslinux
Package syslinux provides syslinux-compatible ADV data.
Package syslinux provides syslinux-compatible ADV data.
adv/talos
Package talos implements modern ADV which supports large size for the values and tags.
Package talos implements modern ADV which supports large size for the values and tags.
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.
Package platform provides functions to get the runtime.Platform.
Package platform provides functions to get the runtime.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].
container
Package container contains the Container implementation of the [platform.Platform].
Package container contains the Container implementation of the [platform.Platform].
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].
metal
Package metal contains the metal implementation of the [platform.Platform].
Package metal contains the metal implementation of the [platform.Platform].
nocloud
Package nocloud provides the NoCloud platform implementation.
Package nocloud provides the NoCloud 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.
utils
Package utils provides utility functions for the platform package.
Package utils provides utility functions for the platform package.
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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL