Documentation
¶
Index ¶
- Constants
- type PacketBotanist
- func (b *PacketBotanist) DeployBackupInfrastructure() error
- func (b *PacketBotanist) DeployCloudSpecificControlPlane() error
- func (b *PacketBotanist) DeployKube2IAMResources() error
- func (b *PacketBotanist) DestroyBackupInfrastructure() error
- func (b *PacketBotanist) DestroyKube2IAMResources() error
- func (b *PacketBotanist) GenerateCSIConfig() (map[string]interface{}, error)
- func (b *PacketBotanist) GenerateCloudConfigUserDataConfig() *common.CloudConfigUserDataConfig
- func (b *PacketBotanist) GenerateCloudControllerManagerConfig() (map[string]interface{}, string, error)
- func (b *PacketBotanist) GenerateCloudProviderConfig() (string, error)
- func (b *PacketBotanist) GenerateETCDStorageClassConfig() map[string]interface{}
- func (b *PacketBotanist) GenerateEtcdBackupConfig() (map[string][]byte, map[string]interface{}, error)
- func (b *PacketBotanist) GenerateKube2IAMConfig() (map[string]interface{}, error)
- func (b *PacketBotanist) GenerateKubeAPIServerConfig() (map[string]interface{}, error)
- func (b *PacketBotanist) GenerateKubeAPIServerExposeConfig() (map[string]interface{}, error)
- func (b *PacketBotanist) GenerateKubeAPIServerServiceConfig() (map[string]interface{}, error)
- func (b *PacketBotanist) GenerateKubeControllerManagerConfig() (map[string]interface{}, error)
- func (b *PacketBotanist) GenerateKubeSchedulerConfig() (map[string]interface{}, error)
- func (b *PacketBotanist) GenerateNginxIngressConfig() (map[string]interface{}, error)
- func (b *PacketBotanist) GenerateStorageClassesConfig() (map[string]interface{}, error)
- func (b *PacketBotanist) GenerateVPNShootConfig() (map[string]interface{}, error)
- func (b *PacketBotanist) GetCloudProviderName() string
- func (b *PacketBotanist) RefreshCloudProviderConfig(currentConfig map[string]string) map[string]string
Constants ¶
const ( // PacketAPIKey is a constant for the key in a cloud provider secret and backup secret that holds the Packet API key PacketAPIKey = "apiToken" // ProjectID is a constant for the key in a cloud provider secret that holds the Packet Project ID ProjectID = "projectID" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PacketBotanist ¶
PacketBotanist is a struct which has methods that perform Packet cloud-specific operations for a Shoot cluster.
func New ¶
func New(o *operation.Operation, purpose string) (*PacketBotanist, error)
New takes an operation object <o> and creates a new PacketBotanist object.
func (*PacketBotanist) DeployBackupInfrastructure ¶
func (b *PacketBotanist) 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. As of this writing, Packet does not have an object store of its own. In the future, it may have one, and thus this will start to use it. Conversely, Gardener is working towards supporting object stores in a different provider than the one whose infra is being deployed. Once that is in, this woudl (optionally) run backups to AWS S3, Google Cloud, etc. See https://github.com/gardener/gardener/pull/932
func (*PacketBotanist) DeployCloudSpecificControlPlane ¶
func (b *PacketBotanist) DeployCloudSpecificControlPlane() error
DeployCloudSpecificControlPlane does any last minute updates
func (*PacketBotanist) DeployKube2IAMResources ¶
func (b *PacketBotanist) DeployKube2IAMResources() error
DeployKube2IAMResources - Not needed on Packet
func (*PacketBotanist) DestroyBackupInfrastructure ¶
func (b *PacketBotanist) DestroyBackupInfrastructure() error
DestroyBackupInfrastructure kicks off a Terraform job which destroys the infrastructure for etcd backup.
func (*PacketBotanist) DestroyKube2IAMResources ¶
func (b *PacketBotanist) DestroyKube2IAMResources() error
DestroyKube2IAMResources - Not needed on Packet.
func (*PacketBotanist) GenerateCSIConfig ¶
func (b *PacketBotanist) GenerateCSIConfig() (map[string]interface{}, error)
GenerateCSIConfig generates the configuration for CSI charts
func (*PacketBotanist) GenerateCloudConfigUserDataConfig ¶
func (b *PacketBotanist) GenerateCloudConfigUserDataConfig() *common.CloudConfigUserDataConfig
GenerateCloudConfigUserDataConfig generates values which are required to render the chart shoot-cloud-config properly.
func (*PacketBotanist) GenerateCloudControllerManagerConfig ¶
func (b *PacketBotanist) 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 (*PacketBotanist) GenerateCloudProviderConfig ¶
func (b *PacketBotanist) GenerateCloudProviderConfig() (string, error)
GenerateCloudProviderConfig generates the Packet cloud provider config. See this for more details: https://github.com/packethost/packet-ccm
func (*PacketBotanist) GenerateETCDStorageClassConfig ¶
func (b *PacketBotanist) GenerateETCDStorageClassConfig() map[string]interface{}
GenerateETCDStorageClassConfig generates values which are required to create etcd volume storageclass properly.
func (*PacketBotanist) GenerateEtcdBackupConfig ¶
func (b *PacketBotanist) GenerateEtcdBackupConfig() (map[string][]byte, map[string]interface{}, error)
GenerateEtcdBackupConfig returns the etcd backup configuration for the etcd Helm chart.
func (*PacketBotanist) GenerateKube2IAMConfig ¶
func (b *PacketBotanist) GenerateKube2IAMConfig() (map[string]interface{}, error)
GenerateKube2IAMConfig - Not needed on Packet.
func (*PacketBotanist) GenerateKubeAPIServerConfig ¶
func (b *PacketBotanist) 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 (*PacketBotanist) GenerateKubeAPIServerExposeConfig ¶
func (b *PacketBotanist) GenerateKubeAPIServerExposeConfig() (map[string]interface{}, error)
GenerateKubeAPIServerExposeConfig defines the cloud provider specific values which configure how the kube-apiserver is exposed to the public.
func (*PacketBotanist) GenerateKubeAPIServerServiceConfig ¶
func (b *PacketBotanist) 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 (*PacketBotanist) GenerateKubeControllerManagerConfig ¶
func (b *PacketBotanist) 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 (*PacketBotanist) GenerateKubeSchedulerConfig ¶
func (b *PacketBotanist) 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 (*PacketBotanist) GenerateNginxIngressConfig ¶
func (b *PacketBotanist) GenerateNginxIngressConfig() (map[string]interface{}, error)
GenerateNginxIngressConfig generates values which are required to render the chart nginx-ingress properly.
func (*PacketBotanist) GenerateStorageClassesConfig ¶
func (b *PacketBotanist) GenerateStorageClassesConfig() (map[string]interface{}, error)
GenerateStorageClassesConfig generates values which are required to render the chart storage-classes properly.
func (*PacketBotanist) GenerateVPNShootConfig ¶
func (b *PacketBotanist) GenerateVPNShootConfig() (map[string]interface{}, error)
GenerateVPNShootConfig generate cloud-specific vpn override - Packet determines the config dynamically by querying
func (*PacketBotanist) GetCloudProviderName ¶
func (b *PacketBotanist) GetCloudProviderName() string
GetCloudProviderName returns the Kubernetes cloud provider name for this cloud.
func (*PacketBotanist) RefreshCloudProviderConfig ¶
func (b *PacketBotanist) RefreshCloudProviderConfig(currentConfig map[string]string) map[string]string
RefreshCloudProviderConfig refreshes the cloud provider credentials in the existing cloud provider config. Not needed on Packet (cloud provider config does not contain the credentials), hence, the original is returned back.