openstack

package
v1.44.0 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2024 License: Apache-2.0 Imports: 8 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// Name is the name of the OpenStack provider.
	Name = "provider-openstack"

	// CloudControllerManagerImageName is the name of the cloud-controller-manager image.
	CloudControllerManagerImageName = "cloud-controller-manager"
	// CSIDriverCinderImageName is the name of the csi-driver-cinder image.
	CSIDriverCinderImageName = "csi-driver-cinder"
	// CSIDriverManilaImageName is the name of the csi-driver-manila image.
	CSIDriverManilaImageName = "csi-driver-manila"
	// CSIDriverNFSImageName is the name of the csi-driver-nfs image.
	CSIDriverNFSImageName = "csi-driver-nfs"
	// CSIProvisionerImageName is the name of the csi-provisioner image.
	CSIProvisionerImageName = "csi-provisioner"
	// CSIAttacherImageName is the name of the csi-attacher image.
	CSIAttacherImageName = "csi-attacher"
	// CSIDiskDriverTopologyKey is the label on persistent volumes that represents availability by zone.
	// See https://github.com/kubernetes/cloud-provider-openstack/blob/master/examples/cinder-csi-plugin/topology/example.yaml
	// See https://gitlab.cern.ch/cloud/cloud-provider-openstack/-/blob/release-1.19/docs/using-cinder-csi-plugin.md#enable-topology-aware-dynamic-provisioning-for-cinder-volumes
	CSIDiskDriverTopologyKey = "topology.cinder.csi.openstack.org/zone"
	// CSIManilaDriverTopologyKey is the label on persistent volumes that represents availability by zone.
	CSIManilaDriverTopologyKey = "topology.manila.csi.openstack.org/zone"
	// CSISnapshotterImageName is the name of the csi-snapshotter image.
	CSISnapshotterImageName = "csi-snapshotter"
	// CSIResizerImageName is the name of the csi-resizer image.
	CSIResizerImageName = "csi-resizer"
	// CSINodeDriverRegistrarImageName is the name of the csi-node-driver-registrar image.
	CSINodeDriverRegistrarImageName = "csi-node-driver-registrar"
	// CSILivenessProbeImageName is the name of the csi-liveness-probe image.
	CSILivenessProbeImageName = "csi-liveness-probe"
	// CSISnapshotControllerImageName is the name of the csi-snapshot-controller image.
	CSISnapshotControllerImageName = "csi-snapshot-controller"
	// CSISnapshotValidationWebhookImageName is the name of the csi-snapshot-validation-webhook image.
	CSISnapshotValidationWebhookImageName = "csi-snapshot-validation-webhook"
	// MachineControllerManagerProviderOpenStackImageName is the name of the MachineControllerManager OpenStack image.
	MachineControllerManagerProviderOpenStackImageName = "machine-controller-manager-provider-openstack"

	// AuthURL is a constant for the key in a cloud provider secret that holds the OpenStack auth url.
	AuthURL = "authURL"
	// DomainName is a constant for the key in a cloud provider secret that holds the OpenStack domain name.
	DomainName = "domainName"
	// TenantName is a constant for the key in a cloud provider 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"
	// Password is a constant for the key in a cloud provider secret and backup secret that holds the OpenStack password.
	Password = "password"
	// ApplicationCredentialID is a constant for the key in a cloud provider secret and backup secret that holds the OpenStack application credential id.
	ApplicationCredentialID = "applicationCredentialID"
	// ApplicationCredentialName is a constant for the key in a cloud provider secret and backup secret that holds the OpenStack application credential name.
	ApplicationCredentialName = "applicationCredentialName"
	// ApplicationCredentialSecret is a constant for the key in a cloud provider secret and backup secret that holds the OpenStack application credential secret.
	ApplicationCredentialSecret = "applicationCredentialSecret"
	// Region is a constant for the key in a backup secret that holds the Openstack region.
	Region = "region"
	// Insecure is a constant for the key in a cloud provider secret that configures whether the OpenStack client verifies the server's certificate.
	Insecure = "insecure"
	// CACert is a constant for the key in a cloud provider secret that configures the CA bundle used to verify the server's certificate.
	CACert = "caCert"

	// DNSAuthURL is a constant for the key in a DNS secret that holds the OpenStack auth url.
	DNSAuthURL = "OS_AUTH_URL"
	// DNSDomainName is a constant for the key in a DNS secret that holds the OpenStack domain name.
	DNSDomainName = "OS_DOMAIN_NAME"
	// DNSTenantName is a constant for the key in a DNS secret that holds the OpenStack tenant name.
	DNSTenantName = "OS_PROJECT_NAME"
	// DNSUserName is a constant for the key in a DNS secret that holds the OpenStack username.
	DNSUserName = "OS_USERNAME"
	// DNSPassword is a constant for the key in a DNS secret that holds the OpenStack password.
	DNSPassword = "OS_PASSWORD"
	// DNSApplicationCredentialID is a constant for the key in a DNS secret hat holds the OpenStack application credential id.
	DNSApplicationCredentialID = "OS_APPLICATION_CREDENTIAL_ID"
	// DNSApplicationCredentialName is a constant for the key in a DNS secret  that holds the OpenStack application credential name.
	DNSApplicationCredentialName = "OS_APPLICATION_CREDENTIAL_NAME"
	// DNSApplicationCredentialSecret is a constant for the key in a DNS secret  that holds the OpenStack application credential secret.
	DNSApplicationCredentialSecret = "OS_APPLICATION_CREDENTIAL_SECRET"
	// DNS_CA_Bundle is a constant for the key in a DNS secret that holds the Openstack CA Bundle for the KeyStone server.
	DNS_CA_Bundle = "OS_CACERT"

	// CloudProviderConfigName is the name of the secret containing the cloud provider config.
	CloudProviderConfigName = "cloud-provider-config"
	// CloudProviderDiskConfigName is the name of the secret containing the cloud provider config for disk/volume handling. It is used by kube-controller-manager.
	CloudProviderDiskConfigName = "cloud-provider-disk-config"
	// CloudProviderCSIDiskConfigName is the name of the secret containing the cloud provider config for disk/volume handling. It is used by csi-driver-controller.
	CloudProviderCSIDiskConfigName = "cloud-provider-disk-config-csi"
	// CloudProviderConfigDataKey is the key storing the cloud provider config as value in the cloud provider secret.
	CloudProviderConfigDataKey = "cloudprovider.conf"
	// CloudProviderConfigKeyStoneCAKey is teh key storing the KeyStone CA bundle.
	CloudProviderConfigKeyStoneCAKey = "keystone-ca.crt"
	// CloudControllerManagerName is a constant for the name of the CloudController deployed by the worker controller.
	CloudControllerManagerName = "cloud-controller-manager"
	// CSIControllerName is a constant for the chart name for a CSI Cinder controller deployment in the seed.
	CSIControllerName = "csi-driver-controller"
	// CSIManilaControllerName is a constant for the chart name for a CSI Manila controller deployment in the seed.
	CSIManilaControllerName = "csi-driver-manila-controller"
	// CSINFSControllerName is a constant for the chart name for a CSI NFS controller deployment in the shoot.
	CSINFSControllerName = "csi-driver-nfs-controller"
	// CSINodeName is a constant for the chart name for a CSI Cinder node deployment in the shoot.
	CSINodeName = "csi-driver-node"
	// CSIManilaNodeName is a constant for the chart name for a CSI Manila node deployment in the shoot.
	CSIManilaNodeName = "csi-driver-manila-node"
	// CSINFSNodeName is a constant for the chart name for a CSI NFS node deployment in the shoot.
	CSINFSNodeName = "csi-driver-nfs-node"
	// CSIDriverManila is a constant for the chart name for the CSI driver Manila deployment in the shoot.
	CSIDriverManila = "csi-driver-manila"
	// CSIDriverManilaController is a constant for the chart name for the CSI driver Manila / NFS controller deployment in the seed.
	CSIDriverManilaController = "csi-driver-manila-controller"
	// CSIDriverName is a constant for the name of the csi-driver component.
	CSIDriverName = "csi-driver"
	// CSIProvisionerName is a constant for the name of the csi-provisioner component.
	CSIProvisionerName = "csi-provisioner"
	// CSIAttacherName is a constant for the name of the csi-attacher component.
	CSIAttacherName = "csi-attacher"
	// CSISnapshotterName is a constant for the name of the csi-snapshotter component.
	CSISnapshotterName = "csi-snapshotter"
	// CSIResizerName is a constant for the name of the csi-resizer component.
	CSIResizerName = "csi-resizer"
	// CSISnapshotControllerName is a constant for the name of the csi-snapshot-controller component.
	CSISnapshotControllerName = "csi-snapshot-controller"
	// CSISnapshotValidationName is the constant for the name of the csi-snapshot-validation-webhook component.
	CSISnapshotValidationName = "csi-snapshot-validation"
	// CSIStorageProvisioner is a constant with the storage provisioner name which is used in storageclasses.
	CSIStorageProvisioner = "cinder.csi.openstack.org"
	// CSIManilaStorageProvisionerNFS is a constant with the storage provisioner name which is used in storageclasses for Manila NFS.
	CSIManilaStorageProvisionerNFS = "nfs.manila.csi.openstack.org"
	// CSIManilaNFS is a constant for CSI Manila NFS resource objects
	CSIManilaNFS = "csi-manila-nfs"
	// CSIManilaSecret is a constant for additional role/rolebiding for CSI manila plugin secret
	CSIManilaSecret = "csi-manila-secret" // #nosec G101 -- No credential.

	// PreserveWorkerHashAnnotation controls whether the providerConfig will be included in the hash calculation for the respective worker pool.
	// Deprecated: It is only introduced to ease the transition to the new hash calculation.
	// TODO(KA): Remove in release v1.36
	PreserveWorkerHashAnnotation = "openstack.provider.extensions.gardener.cloud/worker-preserve-hash"

	// AnnotationKeyUseFlow is the annotation key used to enable reconciliation with flow instead of terraformer.
	AnnotationKeyUseFlow = "openstack.provider.extensions.gardener.cloud/use-flow"
	// GlobalAnnotationKeyUseFlow is the annotation key used to enable reconciliation with flow instead of terraformer.
	GlobalAnnotationKeyUseFlow = "provider.extensions.gardener.cloud/use-flow"

	// SeedAnnotationKeyUseFlow is the label for seeds to enable flow reconciliation for all of its shoots if value is `true`
	// or for new shoots only with value `new`
	SeedAnnotationKeyUseFlow = AnnotationKeyUseFlow
	// SeedAnnotationUseFlowValueNew is the value to restrict flow reconciliation to new shoot clusters
	SeedAnnotationUseFlowValueNew = "new"
)
View Source
const DNSType = "openstack-designate"

DNSType is the type of resources managed by the OpenStack DNS actuator.

View Source
const Type = "openstack"

Type is the type of resources managed by the OpenStack actuator.

Variables

View Source
var (
	// UsernamePrefix is a constant for the username prefix of components deployed by OpenStack.
	UsernamePrefix = extensionsv1alpha1.SchemeGroupVersion.Group + ":" + Name + ":"

	// ValidFlowAnnotations is a list of all the available annotations to indicate the use of the flow reconciler.
	ValidFlowAnnotations = []string{AnnotationKeyUseFlow, GlobalAnnotationKeyUseFlow}
)

Functions

func ValidateSecrets added in v1.40.0

func ValidateSecrets(userName, password, appID, appName, appSecret string) error

ValidateSecrets checks if either basic auth or application credentials are completely provided

Types

type Credentials added in v1.7.1

type Credentials struct {
	DomainName string
	TenantName string

	// either authenticate with username/password credentials
	Username string
	Password string

	// or application credentials
	ApplicationCredentialID     string
	ApplicationCredentialName   string
	ApplicationCredentialSecret string

	AuthURL string
	CACert  string

	Insecure bool
}

Credentials contains the necessary OpenStack credential information.

func ExtractCredentials added in v1.7.1

func ExtractCredentials(secret *corev1.Secret, allowDNSKeys bool) (*Credentials, error)

ExtractCredentials generates a credentials object for a given provider secret.

func GetCredentials added in v1.7.1

func GetCredentials(ctx context.Context, c client.Client, secretRef corev1.SecretReference, allowDNSKeys bool) (*Credentials, error)

GetCredentials computes for a given context and infrastructure the corresponding credentials object.

Directories

Path Synopsis
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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