v_3_7_3

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2020 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const MasterTemplate = `` /* 73903-byte string literal not displayed */
View Source
const WorkerTemplate = `` /* 11832-byte string literal not displayed */

Variables

This section is empty.

Functions

func IsInvalidConfig

func IsInvalidConfig(err error) bool

IsInvalidConfig asserts invalidConfigError.

func RenderAssetContent

func RenderAssetContent(assetContent string, params interface{}) ([]string, error)

Types

type CloudConfig

type CloudConfig struct {
	// contains filtered or unexported fields
}

func NewCloudConfig

func NewCloudConfig(config CloudConfigConfig) (*CloudConfig, error)

func (*CloudConfig) Base64

func (c *CloudConfig) Base64() string

func (*CloudConfig) ExecuteTemplate

func (c *CloudConfig) ExecuteTemplate() error

func (*CloudConfig) String

func (c *CloudConfig) String() string

type CloudConfigConfig

type CloudConfigConfig struct {
	Params   Params
	Template string
}

func DefaultCloudConfigConfig

func DefaultCloudConfigConfig() CloudConfigConfig

type Extension

type Extension interface {
	Files() ([]FileAsset, error)
	Units() ([]UnitAsset, error)
	VerbatimSections() []VerbatimSection
}

type FileAsset

type FileAsset struct {
	Metadata FileMetadata
	Content  []string
}

type FileMetadata

type FileMetadata struct {
	AssetContent string
	Path         string
	Owner        string
	Encoding     string
	Permissions  int
}

type Hyperkube

type Hyperkube struct {
	Apiserver         HyperkubeApiserver
	ControllerManager HyperkubeControllerManager
	Kubelet           HyperkubeKubelet
}

type HyperkubeApiserver

type HyperkubeApiserver struct {
	Pod HyperkubePod
}

type HyperkubeControllerManager

type HyperkubeControllerManager struct {
	Pod HyperkubePod
}

type HyperkubeDocker

type HyperkubeDocker struct {
	RunExtraArgs     []string
	CommandExtraArgs []string
}

type HyperkubeKubelet

type HyperkubeKubelet struct {
	Docker HyperkubeDocker
}

type HyperkubePod

type HyperkubePod struct {
	HyperkubePodHostExtraMounts []HyperkubePodHostMount
	CommandExtraArgs            []string
}

type HyperkubePodHostMount

type HyperkubePodHostMount struct {
	Name     string
	Path     string
	ReadOnly bool
}

type Images

type Images struct {
	Kubernetes string
	Etcd       string
}

type Params

type Params struct {
	// APIServerEncryptionKey is AES-CBC with PKCS#7 padding key to encrypt API
	// etcd data.
	APIServerEncryptionKey string
	BaseDomain             string
	Cluster                v1alpha1.Cluster
	// DisableCalico flag. When set removes all calico related Kubernetes
	// manifests from the cloud config together with their initialization.
	DisableCalico bool
	// DisableCoreDNS flag. When set removes all CoreDNS related Kubernetes
	// manifests from the cloud config together with their initialization.
	DisableCoreDNS bool
	// DisableEncryptionAtREST flag. When set removes all manifests from the cloud
	// config related to Kubernetes encryption at REST.
	DisableEncryptionAtREST bool
	// DisableIngressController flag. When set removes all manifests from the
	// cloud config related to Ingress Controller. There is a separate param
	// for the Ingress Controller service as these will be migrated separately.
	DisableIngressController bool
	// DisableIngressControllerService flag. When set removes the manifest for
	// the Ingress Controller service. This allows us to migrate providers to
	// chart-operator independently.
	DisableIngressControllerService bool
	// Hyperkube allows to pass extra `docker run` and `command` arguments
	// to hyperkube image commands. This allows to e.g. add cloud provider
	// extensions.
	Hyperkube Hyperkube
	// EtcdPort allows the Etcd port to be specified.
	// aws-operator sets this to the Etcd listening port so Calico on the
	// worker nodes can access via a CNAME record to the master.
	EtcdPort  int
	Extension Extension
	// ExtraManifests allows to specify extra Kubernetes manifests in
	// /opt/k8s-addons script. The manifests are applied after calico is
	// ready.
	//
	// The general use-case is to create a manifest file with Extension and
	// then apply the manifest by adding it to ExtraManifests.
	ExtraManifests []string
	Node           v1alpha1.ClusterNode
	// RegistryDomain is the host of the docker image registry to use.
	RegistryDomain string
	SSOPublicKey   string
	// Container images used in the cloud-config templates
	Images Images
}

func (*Params) Validate

func (p *Params) Validate() error

type UnitAsset

type UnitAsset struct {
	Metadata UnitMetadata
	Content  []string
}

type UnitMetadata

type UnitMetadata struct {
	AssetContent string
	Name         string
	Enable       bool
	Command      string
}

type VerbatimSection

type VerbatimSection struct {
	Name    string
	Content string
}

VerbatimSection is a blob of YAML we want to add to the CloudConfig, with no variable interpolation.

Jump to

Keyboard shortcuts

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