awsbotanist

package
v0.0.0-...-1764fb8 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2019 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
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.

Jump to

Keyboard shortcuts

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