config

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 16, 2019 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package config implements the current apiVersion of the `kind` Config along with some common abstractions

+k8s:deepcopy-gen=package +k8s:conversion-gen=sigs.k8s.io/kind/pkg/cluster/config +k8s:defaulter-gen=TypeMeta

Index

Constants

View Source
const GroupName = "kind.sigs.k8s.io"

GroupName is the group name used in this package.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects.
	SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
	// SchemeBuilder is a type to collect functions that add data to an API
	// object through a scheme.
	SchemeBuilder runtime.SchemeBuilder

	// AddToScheme applies all the stored functions in the localSchemeBuilder
	// to the scheme.
	AddToScheme = localSchemeBuilder.AddToScheme
)

Functions

func RegisterDefaults added in v0.1.0

func RegisterDefaults(scheme *runtime.Scheme) error

RegisterDefaults adds defaulters functions to the given scheme. Public to allow building arbitrary schemes. All generated defaulters are covering - they call all nested defaulters.

func SetDefaults_Config added in v0.1.0

func SetDefaults_Config(obj *Config)

SetDefaults_Config sets uninitialized fields to their default value.

func SetDefaults_Node added in v0.1.0

func SetDefaults_Node(obj *Node)

SetDefaults_Node sets uninitialized fields to their default value.

func SetObjectDefaults_Config added in v0.1.0

func SetObjectDefaults_Config(in *Config)

Types

type Config

type Config struct {
	// TypeMeta representing the type of the object and its API schema version.
	metav1.TypeMeta

	// Nodes constains the list of nodes defined in the `kind` Config
	Nodes []Node `json:"nodes,"`
}

Config groups all nodes in the `kind` Config.

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Config) DeepCopyObject

func (in *Config) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Config) Validate

func (c *Config) Validate() error

Validate returns a ConfigErrors with an entry for each problem with the config, or nil if there are none

type Node added in v0.1.0

type Node struct {
	// Replicas is the number of desired node replicas.
	// Defaults to 1
	Replicas *int32
	// Role defines the role of the nodw in the in the Kubernetes cluster managed by `kind`
	// Defaults to "control-plane"
	Role NodeRole
	// Image is the node image to use when running the cluster
	// TODO(bentheelder): split this into image and tag?
	Image string
	// KubeadmConfigPatches are applied to the generated kubeadm config as
	// strategic merge patches to `kustomize build` internally
	// https://github.com/kubernetes/community/blob/master/contributors/devel/strategic-merge-patch.md
	// This should be an inline yaml blob-string
	KubeadmConfigPatches []string
	// KubeadmConfigPatchesJSON6902 are applied to the generated kubeadm config
	// as patchesJson6902 to `kustomize build`
	KubeadmConfigPatchesJSON6902 []kustomize.PatchJSON6902
}

Node contains settings for a node in the `kind` Config. A node in kind config represent a container that will be provisioned with all the components required for the assigned role in the Kubernetes cluster. If replicas is set, the desired node replica number will be generated.

func (*Node) DeepCopy added in v0.1.0

func (in *Node) DeepCopy() *Node

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Node.

func (*Node) DeepCopyInto added in v0.1.0

func (in *Node) DeepCopyInto(out *Node)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Node) IsControlPlane added in v0.1.0

func (n *Node) IsControlPlane() bool

IsControlPlane returns true if the node hosts a control plane instance NB. in single node clusters, control-plane nodes act also as a worker nodes

func (*Node) IsExternalEtcd added in v0.1.0

func (n *Node) IsExternalEtcd() bool

IsExternalEtcd returns true if the node hosts an external etcd member

func (*Node) IsExternalLoadBalancer added in v0.1.0

func (n *Node) IsExternalLoadBalancer() bool

IsExternalLoadBalancer returns true if the node hosts an external load balancer

func (*Node) IsWorker added in v0.1.0

func (n *Node) IsWorker() bool

IsWorker returns true if the node hosts a worker instance

func (*Node) Validate added in v0.1.0

func (n *Node) Validate() error

Validate returns a ConfigErrors with an entry for each problem with the Node, or nil if there are none

type NodeRole added in v0.1.0

type NodeRole string

NodeRole defines possible role for nodes in a Kubernetes cluster managed by `kind`

const (
	// ControlPlaneRole identifies a node that hosts a Kubernetes control-plane
	// NB. in single node clusters, control-plane nodes act also as a worker nodes
	ControlPlaneRole NodeRole = "control-plane"
	// WorkerRole identifies a node that hosts a Kubernetes worker
	WorkerRole NodeRole = "worker"
	// ExternalEtcdRole identifies a node that hosts an external-etcd instance.
	// WARNING: this node type is not yet implemented!
	// Please note that `kind` nodes hosting external etcd are not kubernetes nodes
	ExternalEtcdRole NodeRole = "external-etcd"
	// ExternalLoadBalancerRole identifies a node that hosts an external load balancer for API server
	// in HA configurations.
	// WARNING: this node type is not yet implemented!
	// Please note that `kind` nodes hosting external load balancer are not kubernetes nodes
	ExternalLoadBalancerRole NodeRole = "external-load-balancer"
)

Directories

Path Synopsis
Package defaults contains cross-api-version configuration defaults
Package defaults contains cross-api-version configuration defaults
Package encoding implements utilities for decoding from yaml the `kind` Config
Package encoding implements utilities for decoding from yaml the `kind` Config
Package v1alpha1 implements the v1alpha1 apiVersion of the `kind` Config +k8s:deepcopy-gen=package +k8s:conversion-gen=sigs.k8s.io/kind/pkg/cluster/config +k8s:defaulter-gen=TypeMeta
Package v1alpha1 implements the v1alpha1 apiVersion of the `kind` Config +k8s:deepcopy-gen=package +k8s:conversion-gen=sigs.k8s.io/kind/pkg/cluster/config +k8s:defaulter-gen=TypeMeta
Package v1alpha2 implements the v1alpha2 apiVersion of the `kind` Config that introduces multi node support +k8s:deepcopy-gen=package +k8s:conversion-gen=sigs.k8s.io/kind/pkg/cluster/config +k8s:defaulter-gen=TypeMeta
Package v1alpha2 implements the v1alpha2 apiVersion of the `kind` Config that introduces multi node support +k8s:deepcopy-gen=package +k8s:conversion-gen=sigs.k8s.io/kind/pkg/cluster/config +k8s:defaulter-gen=TypeMeta

Jump to

Keyboard shortcuts

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