Documentation ¶
Overview ¶
Package variables calculates variables for patching.
Index ¶
- Constants
- func ControlPlane(cpTopology *clusterv1.ControlPlaneTopology, ...) ([]runtimehooksv1.Variable, error)
- func GetVariableValue(variables map[string]apiextensionsv1.JSON, variablePath string) (*apiextensionsv1.JSON, error)
- func Global(clusterTopology *clusterv1.Topology, cluster *clusterv1.Cluster) ([]runtimehooksv1.Variable, error)
- func MachineDeployment(mdTopology *clusterv1.MachineDeploymentTopology, ...) ([]runtimehooksv1.Variable, error)
- func MergeVariableMaps(variableMaps ...map[string]apiextensionsv1.JSON) (map[string]apiextensionsv1.JSON, error)
- func ToMap(variables []runtimehooksv1.Variable) map[string]apiextensionsv1.JSON
- type Builtins
- type ClusterBuiltins
- type ClusterNetworkBuiltins
- type ClusterTopologyBuiltins
- type ControlPlaneBuiltins
- type ControlPlaneMachineTemplateBuiltins
- type ControlPlaneMachineTemplateInfrastructureRefBuiltins
- type MachineDeploymentBootstrapBuiltins
- type MachineDeploymentBootstrapConfigRefBuiltins
- type MachineDeploymentBuiltins
- type MachineDeploymentInfrastructureRefBuiltins
Constants ¶
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.