Documentation
¶
Index ¶
- type APIServerFlag
- type APIServerFlags
- type APIServerVolume
- type APIServerVolumes
- type Append
- type CloudFormation
- type CommonNodeConfig
- type Configuration
- type Contents
- type Controller
- type Etcd
- type FeatureGates
- type File
- type Files
- type Helm
- type HelmRelease
- type HelmReleases
- type IAM
- type Kubelet
- type Kubernetes
- type KubernetesAPIServer
- type KubernetesManifest
- type KubernetesManifests
- type Metadata
- type Node
- type NodeLabels
- type NodeRoles
- type Outputs
- type Plugin
- type Resources
- type Source
- type Spec
- type Stack
- type Stacks
- type Storage
- type Systemd
- type SystemdUnit
- type SystemdUnits
- type Values
- type Worker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIServerFlag ¶
type APIServerFlag struct {
// Name is the name of a command-line flag passed to the k8s apiserver.
// For example, a name is "oidc-issuer-url" for the flag `--oidc-issuer-url`.
Name string `yaml:"name,omitempty"`
// Value is a golang text template resulting to the value of a command-line flag passed to the k8s apiserver
Value string `yaml:"value,omitempty"`
}
type APIServerFlags ¶
type APIServerFlags []APIServerFlag
type APIServerVolume ¶
type APIServerVolumes ¶
type APIServerVolumes []APIServerVolume
type CloudFormation ¶
type CloudFormation struct {
Stacks `yaml:"stacks,omitempty"`
}
CloudFormation represents customizations to CloudFormation-related settings and configurations
type CommonNodeConfig ¶
type Configuration ¶
type Configuration struct {
// Values represents the values available in templates
Values `yaml:"values,omitempty"`
// CloudFormation represents customizations to CloudFormation-related settings and configurations
CloudFormation `yaml:"cloudformation,omitempty"`
// Helm represents what are injected into the resulting K8S cluster via Helm - a package manager for K8S
Helm `yaml:"helm,omitempty"`
// Kubernetes represents what are injected into the resulting K8S
Kubernetes `yaml:"kubernetes,omitempty"`
// Node represents what are injected into each node managed by kube-aws
Node `yaml:"node,omitempty"`
}
Configuration is the configuration part of a plugin which is used to append arbitrary configs into various resources managed by kube-aws
type Controller ¶
type Controller struct {
CommonNodeConfig `yaml:",inline"`
Kubelet `yaml:"kubelet,omitempty"`
}
type Etcd ¶
type Etcd struct {
CommonNodeConfig `yaml:",inline"`
}
type FeatureGates ¶
type Helm ¶
type Helm struct {
// Releases is a list of helm releases to be maintained on the cluster.
// Note that the list is sorted by their names by kube-aws so that it won't result in unnecessarily node replacements.
Releases HelmReleases `yaml:"releases,omitempty"`
}
func (*Helm) UnmarshalYAML ¶
type HelmRelease ¶
type HelmReleases ¶
type HelmReleases []HelmRelease
type Kubelet ¶
type Kubelet struct {
FeatureGates FeatureGates `yaml:"featureGates,omitempty"`
NodeLabels NodeLabels `yaml:"nodeLabels,omitempty"`
}
Kubelet represents a set of customizations to kubelets running on the nodes Keys must be included in: nodeLabels, featureGates, etc kubelet can be configured per-node-pool-basic hence a part of WorkerSettings
type Kubernetes ¶
type Kubernetes struct {
APIServer KubernetesAPIServer `yaml:"apiserver,omitempty"`
// Manifests is a list of manifests to be installed to the cluster.
// Note that the list is sorted by their names by kube-aws so that it won't result in unnecessarily node replacements.
Manifests KubernetesManifests `yaml:"manifests,omitempty"`
}
func (*Kubernetes) UnmarshalYAML ¶
func (k *Kubernetes) UnmarshalYAML(unmarshal func(interface{}) error) error
type KubernetesAPIServer ¶
type KubernetesAPIServer struct {
Flags APIServerFlags `yaml:"flags,omitempty"`
Volumes APIServerVolumes `yaml:"volumes,omitempty"`
}
type KubernetesManifest ¶
type KubernetesManifests ¶
type KubernetesManifests []KubernetesManifest
type Metadata ¶
type Metadata struct {
Name string `yaml:"name"`
Version string `yaml:"version"`
Description string `yaml:"description"`
// ClusterSettingsKey is the key in the root of cluster.yaml used for configuring this plugin cluster-wide
ClusterSettingsKey string `yaml:"clusterSettingsKey,omitempty"`
// NodePoolSettingsKey is the key in the root of a node pool settings in cluster.yaml used for configuring this plugin only for a node pool
NodePoolSettingsKey string `yaml:"nodePoolSettingKey,omitempty"`
}
Metadata is the metadata of a kube-aws plugin consists of various settings specific to the plugin itself Metadata never affects what are injected into K8S clusters, node, other CFN resources managed by kube-aws.
type NodeLabels ¶
type NodeRoles ¶
type NodeRoles struct {
Controller `yaml:"controller,omitempty"`
Etcd `yaml:"etcd,omitempty"`
Worker `yaml:"worker,omitempty"`
}
type Plugin ¶
A plugin consists of two parts: a set of metadata and a spec
func (Plugin) EnabledIn ¶
func (p Plugin) EnabledIn(plugins model.PluginConfigs) (bool, *model.PluginConfig)
func (Plugin) SettingKey ¶
type Spec ¶
type Spec struct {
// Configuration is the configuration part of a plugin which is used to append arbitrary configs into various resources managed by kube-aws
Configuration `yaml:"configuration,omitempty"`
}
Spec is the specification of a kube-aws plugin A spec consists of two parts: Configuration and Command
type Stack ¶
Stack represents a set of customizations to a CloudFormation stack template Top-level keys should be one of: Resources, Outputs Second-level keys should be cfn resource names
type Systemd ¶
type Systemd struct {
// Units is a list of systemd units installed on the nodes
Units SystemdUnits `yaml:"units,omitempty"`
}
type SystemdUnit ¶
type SystemdUnits ¶
type SystemdUnits []SystemdUnit
type Worker ¶
type Worker struct {
CommonNodeConfig `yaml:",inline"`
Kubelet `yaml:"kubelet,omitempty"`
}