marker

package
v0.1.5 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2021 License: Apache-2.0, MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// OperatorBuildVersion is the version of the operator at compile time.
	OperatorBuildVersion = OperatorDevelopmentDoNotUseInProduction
)
View Source
var (
	PlatformVersionBuild = PlatformDevelopmentDoNotUseInProduction
)

Functions

func OverwriteFrom

func OverwriteFrom(from Container, into WriteContainer)

Overwrite into a container from another in place.

Types

type Container

type Container interface {
	// GetAnnotations retrieves the markers that represent a set of annotations.
	GetAnnotations() map[string]string
	// GetLabels retrieves the markers that represent a set of labels.
	GetLabels() map[string]string
}

Container is a collection of generic markers that represent Annotations and Labels.

type Key

type Key = string
const (
	// Prefix is the common base for Bottlerocket's related annotations.
	Prefix = "bottlerocket.aws"

	// NodeSelectorLabel is used to identify controlled nodes in Kubernetes
	// selectors.
	NodeSelectorLabel = UpdaterInterfaceVersionKey
	// PodSelectorLabel is used to identify Pods participating with the
	// operator.
	PodSelectorLabel = UpdaterInterfaceVersionKey

	// UpdateAvailableKey is used to identify a Node as having an update
	// available. The value itself is not checked at this time but may be used
	// to communicate a version at a later time.
	UpdateAvailableKey Key = Prefix + "/update-available"
	// UpdaterInterfaceVersionKey is where the compatibility version is posted for the
	// given Node.
	UpdaterInterfaceVersionKey Key = Prefix + "/updater-interface-version"
	// OperatorVersionKey is where the compatibility version is posted for the
	// given Node. This version describes the understood "protocol" between
	// Operating Controller and the managed Nodes.
	OperatorVersionKey Key = Prefix + "/operator-version"
	// NodeActionWanted provides the Node with the Controller's wanted action to
	// make update progress.
	NodeActionWanted Key = Prefix + "/action-wanted"
	// NodeActionActiveStatus provides progress information on a
	NodeActionActiveState Key = Prefix + "/action-state"
	// NodeActionActive provides the acknowledged and acted-upon action that was
	// wanted of a Node.
	NodeActionActive Key = Prefix + "/action-active"
)

type NodeAction

type NodeAction = string

NodeAction indicates the permitted action to be taken on a Node by the Agent.

const (
	NodeActionUnknown       NodeAction = "unknown"
	NodeActionStabilize     NodeAction = "stabilize"
	NodeActionReset         NodeAction = "reset-state"
	NodeActionPrepareUpdate NodeAction = "prepare-update"
	NodeActionPerformUpdate NodeAction = "perform-update"
	NodeActionRebootUpdate  NodeAction = "reboot-update"
)

type NodeState

type NodeState = string

NodeState indicates the general state of the Node as understood by the Node's Agent.

const (
	NodeStateUnknown         NodeState = "unknown"
	NodeStateRefreshing      NodeState = "refreshing"
	NodeStateUpToDate        NodeState = "up-to-date"
	NodeStateUpdateAvailable NodeState = "update-available"
	NodeStateRebooting       NodeState = "rebooting"
	NodeStateReady           NodeState = "ready"
	NodeStateBusy            NodeState = "busy"
	NodeStateError           NodeState = "error"
)

type NodeUpdate

type NodeUpdate = string
const (
	NodeUpdateAvailable   NodeUpdate = "true"
	NodeUpdateUnavailable NodeUpdate = "false"
	NodeUpdateUnknown     NodeUpdate = "unknown"
)

type OperatorVersion

type OperatorVersion = string

OperatorVersion describes compatibility versioning at the Operator level (the Controller and Node Agent).

const (
	// OperatorUnknown is incompatible with all versions of the operator, it
	// should normally be unused.
	OperatorUnknown OperatorVersion = "0.0.0-unknown"

	OperatorV1Alpha OperatorVersion = "1.0.0-alpha"

	// OperatorDevelopmentDoNotUseInProduction is compatible with production
	// builds but should not be used in production. If this version is noted,
	// you should consider using a production build instead.
	OperatorDevelopmentDoNotUseInProduction OperatorVersion = "1.0.0-zeta+dev"
)

type PlatformVersion

type PlatformVersion = string

OperatorVersion describes compatibility versioning at the Platform level (the host component integrations).

Note: the values placed on the resources do not use the internal enum type - they are strings.

const (
	// PlatformUnknown is incompatible with all versions, it should normally be
	// unused.
	PlatformVersionUnknown PlatformVersion = "0.0.0"

	// PlatformV0 is the stubbed development mock up of the platform integration.
	PlatformV0 PlatformVersion = "0.1.0-zeta"

	// PlatformV1Alpha is the initial platform integration with a
	// to-be-stabilized interface.
	PlatformV1Alpha PlatformVersion = "1.0.0-alpha"

	// PlatformV1AlphaNoOp can be used to observe would-be actions in a cluster.
	// This version indicates that the compiled platform integration will not
	// perform any action, guaranteeing so by excluding the capability at build
	// time.
	PlatformV1AlphaNoOp PlatformVersion = "1.0.0-alpha+noop"

	// PlatformDevelopmentDoNotUseInProduction is compatible with production
	// builds but should not be used in production. If this version is noted,
	// you should consider using a production build instead.
	PlatformDevelopmentDoNotUseInProduction PlatformVersion = "0.1.0-zeta"
)

type WriteContainer

type WriteContainer interface {
	Container
	SetAnnotations(map[string]string)
	SetLabels(map[string]string)
}

WriteContainer is a container that may be written into in addition to being a Container.

Jump to

Keyboard shortcuts

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