openstackbotanist

package
v0.0.0-...-32fc51b Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2018 License: Apache-2.0, BSD-2-Clause, MIT, + 1 more Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// DomainName is a constant for the key in a cloud provider secret and backup secret that holds the OpenStack domain name.
	DomainName = "domainName"
	// TenantName is a constant for the key in a cloud provider secret and backup secret that holds the OpenStack tenant name.
	TenantName = "tenantName"
	// UserName is a constant for the key in a cloud provider secret and backup secret that holds the OpenStack username.
	UserName = "username"
	// UserDomainName is a constant for the key in a cloud provider secret and backup secret that holds the OpenStack user domain name.
	UserDomainName = "userDomainName"
	// Password is a constant for the key in a cloud provider secret and backup secret that holds the OpenStack password.
	Password = "password"
	// AuthURL is a constant for the key in a backup secret that holds the OpenStack authentication URL.
	AuthURL = "authURL"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type OpenStackBotanist

type OpenStackBotanist struct {
	*operation.Operation
	CloudProviderName string
}

OpenStackBotanist is a struct which has methods that perform OpenStack cloud-specific operations for a Shoot cluster.

func New

func New(o *operation.Operation, purpose string) (*OpenStackBotanist, error)

New takes an operation object <o> and creates a new OpenStackBotanist object.

func (*OpenStackBotanist) CleanupMachineClasses

func (b *OpenStackBotanist) CleanupMachineClasses(existingMachineDeployments operation.MachineDeployments) error

CleanupMachineClasses deletes all machine classes which are not part of the provided list <existingMachineDeployments>.

func (*OpenStackBotanist) DeployBackupInfrastructure

func (b *OpenStackBotanist) DeployBackupInfrastructure() error

DeployBackupInfrastructure kicks off a Terraform job which creates the infrastructure resources for backup.

func (*OpenStackBotanist) DeployCloudSpecificControlPlane

func (b *OpenStackBotanist) DeployCloudSpecificControlPlane() error

DeployCloudSpecificControlPlane does currently nothing for OpenStack.

func (*OpenStackBotanist) DeployInfrastructure

func (b *OpenStackBotanist) DeployInfrastructure() error

DeployInfrastructure kicks off a Terraform job which deploys the infrastructure.

func (*OpenStackBotanist) DeployKube2IAMResources

func (b *OpenStackBotanist) DeployKube2IAMResources() error

DeployKube2IAMResources - Not needed on OpenStack

func (*OpenStackBotanist) DestroyBackupInfrastructure

func (b *OpenStackBotanist) DestroyBackupInfrastructure() error

DestroyBackupInfrastructure kicks off a Terraform job which destroys the infrastructure for backup.

func (*OpenStackBotanist) DestroyInfrastructure

func (b *OpenStackBotanist) DestroyInfrastructure() error

DestroyInfrastructure kicks off a Terraform job which destroys the infrastructure.

func (*OpenStackBotanist) DestroyKube2IAMResources

func (b *OpenStackBotanist) DestroyKube2IAMResources() error

DestroyKube2IAMResources - Not needed on OpenStack.

func (*OpenStackBotanist) GenerateCloudConfigUserDataConfig

func (b *OpenStackBotanist) GenerateCloudConfigUserDataConfig() *common.CloudConfigUserDataConfig

GenerateCloudConfigUserDataConfig generates values which are required to render the chart shoot-cloud-config properly.

func (*OpenStackBotanist) GenerateCloudControllerManagerConfig

func (b *OpenStackBotanist) GenerateCloudControllerManagerConfig() (map[string]interface{}, error)

GenerateCloudControllerManagerConfig generates the cloud provider specific values which are required to render the Deployment manifest of the cloud-controller-manager properly.

func (*OpenStackBotanist) GenerateCloudProviderConfig

func (b *OpenStackBotanist) GenerateCloudProviderConfig() (string, error)

GenerateCloudProviderConfig generates the OpenStack cloud provider config. See this for more details: https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/providers/openstack/openstack.go

func (*OpenStackBotanist) GenerateEtcdBackupConfig

func (b *OpenStackBotanist) GenerateEtcdBackupConfig() (map[string][]byte, map[string]interface{}, error)

GenerateEtcdBackupConfig returns the etcd backup configuration for the etcd Helm chart.

func (*OpenStackBotanist) GenerateKube2IAMConfig

func (b *OpenStackBotanist) GenerateKube2IAMConfig() (map[string]interface{}, error)

GenerateKube2IAMConfig - Not needed on OpenStack.

func (*OpenStackBotanist) GenerateKubeAPIServerConfig

func (b *OpenStackBotanist) 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 (*OpenStackBotanist) GenerateKubeAPIServerExposeConfig

func (b *OpenStackBotanist) GenerateKubeAPIServerExposeConfig() (map[string]interface{}, error)

GenerateKubeAPIServerExposeConfig defines the cloud provider specific values which configure how the kube-apiserver is exposed to the public.

func (*OpenStackBotanist) GenerateKubeAPIServerServiceConfig

func (b *OpenStackBotanist) 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 (*OpenStackBotanist) GenerateKubeControllerManagerConfig

func (b *OpenStackBotanist) 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 (*OpenStackBotanist) GenerateKubeSchedulerConfig

func (b *OpenStackBotanist) 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 (*OpenStackBotanist) GenerateMachineClassSecretData

func (b *OpenStackBotanist) GenerateMachineClassSecretData() map[string][]byte

GenerateMachineClassSecretData generates the secret data for the machine class secret (except the userData field which is computed elsewhere).

func (*OpenStackBotanist) GenerateMachineConfig

func (b *OpenStackBotanist) GenerateMachineConfig() ([]map[string]interface{}, operation.MachineDeployments, error)

GenerateMachineConfig generates the configuration values for the cloud-specific machine class Helm chart. It also generates a list of corresponding MachineDeployments. The provided worker groups will be distributed over the desired availability zones. It returns the computed list of MachineClasses and MachineDeployments.

func (*OpenStackBotanist) GenerateNginxIngressConfig

func (b *OpenStackBotanist) GenerateNginxIngressConfig() (map[string]interface{}, error)

GenerateNginxIngressConfig generates values which are required to render the chart nginx-ingress properly.

func (*OpenStackBotanist) GenerateStorageClassesConfig

func (b *OpenStackBotanist) GenerateStorageClassesConfig() (map[string]interface{}, error)

GenerateStorageClassesConfig generates values which are required to render the chart shoot-storageclasses properly.

func (*OpenStackBotanist) GetCloudProviderName

func (b *OpenStackBotanist) GetCloudProviderName() string

GetCloudProviderName returns the Kubernetes cloud provider name for this cloud.

func (*OpenStackBotanist) GetMachineClassInfo

func (b *OpenStackBotanist) GetMachineClassInfo() (classKind, classPlural, classChartName string)

GetMachineClassInfo returns the name of the class kind, the plural of it and the name of the Helm chart which contains the machine class template.

func (*OpenStackBotanist) ListMachineClasses

func (b *OpenStackBotanist) ListMachineClasses() (sets.String, sets.String, error)

ListMachineClasses returns two sets of strings whereas the first contains the names of all machine classes, and the second the names of all referenced secrets.

func (*OpenStackBotanist) RefreshCloudProviderConfig

func (b *OpenStackBotanist) RefreshCloudProviderConfig(currentConfig map[string]string) map[string]string

RefreshCloudProviderConfig refreshes the cloud provider credentials in the existing cloud provider config.

Jump to

Keyboard shortcuts

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