variables

package
v1.2.4 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2022 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Package variables calculates variables for patching.

Index

Constants

View Source
const (
	// BuiltinsName is the name of the builtin variable.
	BuiltinsName = "builtin"
)

Variables

This section is empty.

Functions

func ControlPlane

func ControlPlane(cpTopology *clusterv1.ControlPlaneTopology, cp, cpInfrastructureMachineTemplate *unstructured.Unstructured) ([]runtimehooksv1.Variable, error)

ControlPlane returns variables that apply to templates belonging to the ControlPlane.

func GetVariableValue added in v1.2.0

func GetVariableValue(variables map[string]apiextensionsv1.JSON, variablePath string) (*apiextensionsv1.JSON, error)

GetVariableValue returns a variable from the variables map.

func Global

func Global(clusterTopology *clusterv1.Topology, cluster *clusterv1.Cluster) ([]runtimehooksv1.Variable, error)

Global returns variables that apply to all the templates, including user provided variables and builtin variables for the Cluster object.

func MachineDeployment

func MachineDeployment(mdTopology *clusterv1.MachineDeploymentTopology, md *clusterv1.MachineDeployment, mdBootstrapTemplate, mdInfrastructureMachineTemplate *unstructured.Unstructured) ([]runtimehooksv1.Variable, error)

MachineDeployment returns variables that apply to templates belonging to a MachineDeployment.

func MergeVariableMaps added in v1.2.0

func MergeVariableMaps(variableMaps ...map[string]apiextensionsv1.JSON) (map[string]apiextensionsv1.JSON, error)

MergeVariableMaps merges variables. This func is useful when merging global and template-specific variables. NOTE: In case a variable exists in multiple maps, the variable from the latter map is preserved. NOTE: The builtin variable object is merged instead of simply overwritten.

func ToMap added in v1.2.0

func ToMap(variables []runtimehooksv1.Variable) map[string]apiextensionsv1.JSON

ToMap converts a list of Variables to a map of JSON (name is the map key).

Types

type Builtins

type Builtins struct {
	Cluster           *ClusterBuiltins           `json:"cluster,omitempty"`
	ControlPlane      *ControlPlaneBuiltins      `json:"controlPlane,omitempty"`
	MachineDeployment *MachineDeploymentBuiltins `json:"machineDeployment,omitempty"`
}

Builtins represents builtin variables exposed through patches.

type ClusterBuiltins

type ClusterBuiltins struct {
	// Name is the name of the cluster.
	Name string `json:"name,omitempty"`

	// Namespace is the namespace of the cluster.
	Namespace string `json:"namespace,omitempty"`

	// Topology represents the cluster topology variables.
	Topology *ClusterTopologyBuiltins `json:"topology,omitempty"`

	// Network represents the cluster network variables.
	Network *ClusterNetworkBuiltins `json:"network,omitempty"`
}

ClusterBuiltins represents builtin cluster variables.

type ClusterNetworkBuiltins added in v1.1.3

type ClusterNetworkBuiltins struct {
	// ServiceDomain is the domain name for services.
	ServiceDomain *string `json:"serviceDomain,omitempty"`
	// Services is the network ranges from which service VIPs are allocated.
	Services []string `json:"services,omitempty"`
	// Pods is the network ranges from which Pod networks are allocated.
	Pods []string `json:"pods,omitempty"`
	// IPFamily is the IPFamily the Cluster is operating in. One of Invalid, IPv4, IPv6, DualStack.
	IPFamily string `json:"ipFamily,omitempty"`
}

ClusterNetworkBuiltins represents builtin cluster network variables.

type ClusterTopologyBuiltins

type ClusterTopologyBuiltins struct {
	// Version is the Kubernetes version of the Cluster.
	// NOTE: Please note that this version might temporarily differ from the version
	// of the ControlPlane or workers while an upgrade process is being orchestrated.
	Version string `json:"version,omitempty"`

	// Class is the name of the ClusterClass of the Cluster.
	Class string `json:"class,omitempty"`
}

ClusterTopologyBuiltins represents builtin cluster topology variables.

type ControlPlaneBuiltins

type ControlPlaneBuiltins struct {
	// Version is the Kubernetes version of the ControlPlane object.
	// NOTE: Please note that this version is the version we are currently reconciling towards.
	// It can differ from the current version of the ControlPlane while an upgrade process is
	// being orchestrated.
	Version string `json:"version,omitempty"`

	// Name is the name of the ControlPlane,
	// to which the current template belongs to.
	Name string `json:"name,omitempty"`

	// Replicas is the value of the replicas field of the ControlPlane object.
	Replicas *int64 `json:"replicas,omitempty"`

	// MachineTemplate is the value of the .spec.machineTemplate field of the ControlPlane object.
	MachineTemplate *ControlPlaneMachineTemplateBuiltins `json:"machineTemplate,omitempty"`
}

ControlPlaneBuiltins represents builtin ControlPlane variables. NOTE: These variables are only set for templates belonging to the ControlPlane object.

type ControlPlaneMachineTemplateBuiltins added in v1.1.3

type ControlPlaneMachineTemplateBuiltins struct {
	// InfrastructureRef is the value of the infrastructureRef field of ControlPlane.spec.machineTemplate.
	InfrastructureRef ControlPlaneMachineTemplateInfrastructureRefBuiltins `json:"infrastructureRef,omitempty"`
}

ControlPlaneMachineTemplateBuiltins is the value of the .spec.machineTemplate field of the ControlPlane object.

type ControlPlaneMachineTemplateInfrastructureRefBuiltins added in v1.1.3

type ControlPlaneMachineTemplateInfrastructureRefBuiltins struct {
	// Name of the infrastructureRef.
	Name string `json:"name,omitempty"`
}

ControlPlaneMachineTemplateInfrastructureRefBuiltins is the value of the infrastructureRef field of ControlPlane.spec.machineTemplate.

type MachineDeploymentBootstrapBuiltins added in v1.1.3

type MachineDeploymentBootstrapBuiltins struct {
	// ConfigRef is the value of the .spec.template.spec.bootstrap.configRef field of the MachineDeployment.
	ConfigRef *MachineDeploymentBootstrapConfigRefBuiltins `json:"configRef,omitempty"`
}

MachineDeploymentBootstrapBuiltins is the value of the .spec.template.spec.bootstrap field of the MachineDeployment.

type MachineDeploymentBootstrapConfigRefBuiltins added in v1.1.3

type MachineDeploymentBootstrapConfigRefBuiltins struct {
	// Name of the bootstrap.configRef.
	Name string `json:"name,omitempty"`
}

MachineDeploymentBootstrapConfigRefBuiltins is the value of the .spec.template.spec.bootstrap.configRef field of the MachineDeployment.

type MachineDeploymentBuiltins

type MachineDeploymentBuiltins struct {
	// Version is the Kubernetes version of the MachineDeployment,
	// to which the current template belongs to.
	// NOTE: Please note that this version is the version we are currently reconciling towards.
	// It can differ from the current version of the MachineDeployment machines while an upgrade process is
	// being orchestrated.
	Version string `json:"version,omitempty"`

	// Class is the class name of the MachineDeployment,
	// to which the current template belongs to.
	Class string `json:"class,omitempty"`

	// Name is the name of the MachineDeployment,
	// to which the current template belongs to.
	Name string `json:"name,omitempty"`

	// TopologyName is the topology name of the MachineDeployment,
	// to which the current template belongs to.
	TopologyName string `json:"topologyName,omitempty"`

	// Replicas is the value of the replicas field of the MachineDeployment,
	// to which the current template belongs to.
	Replicas *int64 `json:"replicas,omitempty"`

	// Bootstrap is the value of the .spec.template.spec.bootstrap field of the MachineDeployment.
	Bootstrap *MachineDeploymentBootstrapBuiltins `json:"bootstrap,omitempty"`

	// InfrastructureRef is the value of the .spec.template.spec.bootstrap field of the MachineDeployment.
	InfrastructureRef *MachineDeploymentInfrastructureRefBuiltins `json:"infrastructureRef,omitempty"`
}

MachineDeploymentBuiltins represents builtin MachineDeployment variables. NOTE: These variables are only set for templates belonging to a MachineDeployment.

type MachineDeploymentInfrastructureRefBuiltins added in v1.1.3

type MachineDeploymentInfrastructureRefBuiltins struct {
	// Name of the infrastructureRef.
	Name string `json:"name,omitempty"`
}

MachineDeploymentInfrastructureRefBuiltins is the value of the .spec.template.spec.infrastructureRef field of the MachineDeployment.

Jump to

Keyboard shortcuts

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