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"` }