Documentation
¶
Index ¶
- Constants
- type AWSBotanist
- func (b *AWSBotanist) DeployBackupInfrastructure() error
- func (b *AWSBotanist) DeployCloudSpecificControlPlane() error
- func (b *AWSBotanist) DeployKube2IAMResources() error
- func (b *AWSBotanist) DestroyBackupInfrastructure() error
- func (b *AWSBotanist) DestroyKube2IAMResources() error
- func (b *AWSBotanist) GenerateCSIConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateCloudConfigUserDataConfig() *common.CloudConfigUserDataConfig
- func (b *AWSBotanist) GenerateCloudControllerManagerConfig() (map[string]interface{}, string, error)
- func (b *AWSBotanist) GenerateCloudProviderConfig() (string, error)
- func (b *AWSBotanist) GenerateETCDStorageClassConfig() map[string]interface{}
- func (b *AWSBotanist) GenerateEtcdBackupConfig() (map[string][]byte, map[string]interface{}, error)
- func (b *AWSBotanist) GenerateKube2IAMConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateKubeAPIServerConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateKubeAPIServerExposeConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateKubeAPIServerServiceConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateKubeControllerManagerConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateKubeSchedulerConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateNginxIngressConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateStorageClassesConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GenerateVPNShootConfig() (map[string]interface{}, error)
- func (b *AWSBotanist) GetCloudProviderName() string
- func (b *AWSBotanist) RefreshCloudProviderConfig(currentConfig map[string]string) map[string]string
Constants ¶
const ( // AccessKeyID is a constant for the key in a cloud provider secret and backup secret that holds the AWS access key id. AccessKeyID = "accessKeyID" // SecretAccessKey is a constant for the key in a cloud provider secret and backup secret that holds the AWS secret access key. SecretAccessKey = "secretAccessKey" // Region is a constant for the key in a backup secret that holds the AWS region. Region = "region" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSBotanist ¶
type AWSBotanist struct { *operation.Operation CloudProviderName string AWSClient aws.ClientInterface AMI string }
AWSBotanist is a struct which has methods that perform AWS cloud-specific operations for a Shoot cluster.
func New ¶
func New(o *operation.Operation, purpose string) (*AWSBotanist, error)
New takes an operation object <o> and creates a new AWSBotanist object.
func (*AWSBotanist) DeployBackupInfrastructure ¶
func (b *AWSBotanist) DeployBackupInfrastructure() error
DeployBackupInfrastructure kicks off a Terraform job which deploys the infrastructure resources for backup. It sets up the User and the Bucket to store the backups. Allocate permission to the User to access the bucket.
func (*AWSBotanist) DeployCloudSpecificControlPlane ¶
func (b *AWSBotanist) DeployCloudSpecificControlPlane() error
DeployCloudSpecificControlPlane updates the AWS ELB health check to SSL and deploys the aws-lb-readvertiser. https://github.com/gardener/aws-lb-readvertiser
func (*AWSBotanist) DeployKube2IAMResources ¶
func (b *AWSBotanist) DeployKube2IAMResources() error
DeployKube2IAMResources creates the respective IAM roles which have been specified in the Shoot manifest addon section. Moreover, some default IAM roles will be created.
func (*AWSBotanist) DestroyBackupInfrastructure ¶
func (b *AWSBotanist) DestroyBackupInfrastructure() error
DestroyBackupInfrastructure kicks off a Terraform job which destroys the infrastructure for etcd backup.
func (*AWSBotanist) DestroyKube2IAMResources ¶
func (b *AWSBotanist) DestroyKube2IAMResources() error
DestroyKube2IAMResources destroy the kube2iam resources created by Terraform. This comprises IAM roles and policies.
func (*AWSBotanist) GenerateCSIConfig ¶
func (b *AWSBotanist) GenerateCSIConfig() (map[string]interface{}, error)
GenerateCSIConfig generates the configuration for CSI charts
func (*AWSBotanist) GenerateCloudConfigUserDataConfig ¶
func (b *AWSBotanist) GenerateCloudConfigUserDataConfig() *common.CloudConfigUserDataConfig
GenerateCloudConfigUserDataConfig generates values which are required to render the chart shoot-cloud-config properly.
func (*AWSBotanist) GenerateCloudControllerManagerConfig ¶
func (b *AWSBotanist) GenerateCloudControllerManagerConfig() (map[string]interface{}, string, error)
GenerateCloudControllerManagerConfig generates the cloud provider specific values which are required to render the Deployment manifest of the cloud-controller-manager properly.
func (*AWSBotanist) GenerateCloudProviderConfig ¶
func (b *AWSBotanist) GenerateCloudProviderConfig() (string, error)
GenerateCloudProviderConfig generates the AWS cloud provider config. See this for more details: https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/providers/aws/aws.go
func (*AWSBotanist) GenerateETCDStorageClassConfig ¶
func (b *AWSBotanist) GenerateETCDStorageClassConfig() map[string]interface{}
GenerateETCDStorageClassConfig generates values which are required to create etcd volume storageclass properly.
func (*AWSBotanist) GenerateEtcdBackupConfig ¶
func (b *AWSBotanist) GenerateEtcdBackupConfig() (map[string][]byte, map[string]interface{}, error)
GenerateEtcdBackupConfig returns the etcd backup configuration for the etcd Helm chart.
func (*AWSBotanist) GenerateKube2IAMConfig ¶
func (b *AWSBotanist) GenerateKube2IAMConfig() (map[string]interface{}, error)
GenerateKube2IAMConfig generates the values which are required to render the chart of kube2iam properly.
func (*AWSBotanist) GenerateKubeAPIServerConfig ¶
func (b *AWSBotanist) GenerateKubeAPIServerConfig() (map[string]interface{}, error)
GenerateKubeAPIServerConfig generates the cloud provider specific values which are required to render the Deployment manifest of the kube-apiserver properly.
func (*AWSBotanist) GenerateKubeAPIServerExposeConfig ¶
func (b *AWSBotanist) GenerateKubeAPIServerExposeConfig() (map[string]interface{}, error)
GenerateKubeAPIServerExposeConfig defines the cloud provider specific values which configure how the kube-apiserver is exposed to the public.
func (*AWSBotanist) GenerateKubeAPIServerServiceConfig ¶
func (b *AWSBotanist) GenerateKubeAPIServerServiceConfig() (map[string]interface{}, error)
GenerateKubeAPIServerServiceConfig generates the cloud provider specific values which are required to render the Service manifest of the kube-apiserver-service properly.
func (*AWSBotanist) GenerateKubeControllerManagerConfig ¶
func (b *AWSBotanist) GenerateKubeControllerManagerConfig() (map[string]interface{}, error)
GenerateKubeControllerManagerConfig generates the cloud provider specific values which are required to render the Deployment manifest of the kube-controller-manager properly.
func (*AWSBotanist) GenerateKubeSchedulerConfig ¶
func (b *AWSBotanist) GenerateKubeSchedulerConfig() (map[string]interface{}, error)
GenerateKubeSchedulerConfig generates the cloud provider specific values which are required to render the Deployment manifest of the kube-scheduler properly.
func (*AWSBotanist) GenerateNginxIngressConfig ¶
func (b *AWSBotanist) GenerateNginxIngressConfig() (map[string]interface{}, error)
GenerateNginxIngressConfig generates values which are required to render the chart nginx-ingress properly.
func (*AWSBotanist) GenerateStorageClassesConfig ¶
func (b *AWSBotanist) GenerateStorageClassesConfig() (map[string]interface{}, error)
GenerateStorageClassesConfig generates values which are required to render the chart shoot-storageclasses properly.
func (*AWSBotanist) GenerateVPNShootConfig ¶
func (b *AWSBotanist) GenerateVPNShootConfig() (map[string]interface{}, error)
GenerateVPNShootConfig generate cloud-specific vpn override - nothing unique for aws
func (*AWSBotanist) GetCloudProviderName ¶
func (b *AWSBotanist) GetCloudProviderName() string
GetCloudProviderName returns the Kubernetes cloud provider name for this cloud.
func (*AWSBotanist) RefreshCloudProviderConfig ¶
func (b *AWSBotanist) RefreshCloudProviderConfig(currentConfig map[string]string) map[string]string
RefreshCloudProviderConfig refreshes the cloud provider credentials in the existing cloud provider config. Not needed on AWS (cloud provider config does not contain the credentials), hence, the original is returned back.