nodeup

package
v1.21.0-alpha.3 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2021 License: Apache-2.0 Imports: 6 Imported by: 130

Documentation

Index

Constants

View Source
const BootstrapAPIVersion = "bootstrap.kops.k8s.io/v1alpha1"

Variables

This section is empty.

Functions

This section is empty.

Types

type BootstrapRequest added in v1.19.0

type BootstrapRequest struct {
	// APIVersion defines the versioned schema of this representation of a request.
	APIVersion string `json:"apiVersion"`
	// Certs are the requested certificates and their respective public keys.
	Certs map[string]string `json:"certs"`

	// IncludeNodeConfig controls whether the cluster & instance group configuration should be returned.
	// This allows for nodes without access to the kops state store.
	IncludeNodeConfig bool `json:"includeNodeConfig"`
}

BootstrapRequest is a request from nodeup to kops-controller for bootstrapping a node.

type BootstrapResponse added in v1.19.0

type BootstrapResponse struct {
	// Certs are the issued certificates.
	Certs map[string]string

	// NodeConfig contains the node configuration, if IncludeNodeConfig is set.
	NodeConfig *NodeConfig `json:"nodeConfig,omitempty"`
}

BootstrapResponse is a response to a BootstrapRequest.

type Config

type Config struct {
	// Assets are locations where we can find files to be installed
	// TODO: Remove once everything is in containers?
	Assets map[architectures.Architecture][]string `json:",omitempty"`
	// Images are a list of images we should preload
	Images map[architectures.Architecture][]*Image `json:"images,omitempty"`
	// ConfigBase is the base VFS path for config objects
	ConfigBase *string `json:",omitempty"`
	// ClusterLocation is the VFS path to the cluster spec (deprecated: prefer ConfigBase)
	ClusterLocation *string `json:",omitempty"`
	// InstanceGroupName is the name of the instance group
	InstanceGroupName string `json:",omitempty"`
	// InstanceGroupRole is the instance group role.
	InstanceGroupRole kops.InstanceGroupRole
	// ClusterName is the name of the cluster
	ClusterName string `json:",omitempty"`
	// Channels is a list of channels that we should apply
	Channels []string `json:"channels,omitempty"`
	// ApiserverAdditionalIPs are additional IP address to put in the apiserver server cert.
	ApiserverAdditionalIPs []string `json:",omitempty"`

	// Manifests for running etcd
	EtcdManifests []string `json:"etcdManifests,omitempty"`

	// DefaultMachineType is the first-listed instance machine type, used if querying instance metadata fails.
	DefaultMachineType *string `json:",omitempty"`
	// StaticManifests describes generic static manifests
	// Using this allows us to keep complex logic out of nodeup
	StaticManifests []*StaticManifest `json:"staticManifests,omitempty"`
	// KubeletConfig defines the kubelet configuration.
	KubeletConfig kops.KubeletConfigSpec
	// SysctlParameters will configure kernel parameters using sysctl(8). When
	// specified, each parameter must follow the form variable=value, the way
	// it would appear in sysctl.conf.
	SysctlParameters []string `json:",omitempty"`
	// VolumeMounts are a collection of volume mounts.
	VolumeMounts []kops.VolumeMountSpec `json:",omitempty"`

	// ConfigServer holds the configuration for the configuration server
	ConfigServer *ConfigServerOptions `json:"configServer,omitempty"`
}

Config is the configuration for the nodeup binary

func NewConfig added in v1.19.0

func NewConfig(cluster *kops.Cluster, instanceGroup *kops.InstanceGroup) *Config

type ConfigServerOptions added in v1.21.0

type ConfigServerOptions struct {
	// Server is the address of the configuration server to use (kops-controller)
	Server string `json:"server,omitempty"`
	// CA is the ca-certificate to require for the configuration server
	CA string `json:"ca,omitempty"`

	// CloudProvider is the cloud provider in use (needed for authentication)
	CloudProvider string `json:"cloudProvider,omitempty"`
}

type Image

type Image struct {
	// This is the name we would pass to "docker run", whereas source could be a URL from which we would download an image.
	Name string `json:"name,omitempty"`
	// Sources is a list of URLs from which we should download the image
	Sources []string `json:"sources,omitempty"`
	// Hash is the hash of the file, to verify image integrity (even over http)
	Hash string `json:"hash,omitempty"`
}

Image is a docker image we should pre-load

type NodeConfig added in v1.21.0

type NodeConfig struct {
	// InstanceGroupConfig holds the configuration for the node's instance group
	InstanceGroupConfig string `json:"instanceGroupConfig,omitempty"`

	// ClusterFullConfig holds the configuration for the cluster
	ClusterFullConfig string `json:"clusterFullConfig,omitempty"`

	// Certificates holds certificates that are already issued
	Certificates []*NodeConfigCertificate `json:"certificates,omitempty"`
}

NodeConfig holds configuration needed to boot a node (without the kops state store)

type NodeConfigCertificate added in v1.21.0

type NodeConfigCertificate struct {
	// Name identifies the certificate.
	Name string `json:"name,omitempty"`

	// Cert is the certificate data.
	Cert string `json:"cert,omitempty"`
}

NodeConfigCertificate holds a certificate that the node needs to boot.

type StaticManifest added in v1.17.0

type StaticManifest struct {
	// Key identifies the static manifest
	Key string `json:"key,omitempty"`
	// Path is the path to the manifest
	Path string `json:"path,omitempty"`
}

StaticManifest is a generic static manifest

Jump to

Keyboard shortcuts

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