/
types.go
134 lines (121 loc) · 7.13 KB
/
types.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
// SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and Gardener contributors
//
// SPDX-License-Identifier: Apache-2.0
package aws
import (
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
)
const (
// Name is the name of the AWS provider.
Name = "provider-aws"
// VolumeAttachLimit is the key for an annotation on a Shoot object whose value
// represents the maximum number of volumes attachable for all nodes.
VolumeAttachLimit = "aws.provider.extensions.gardener.cloud/volume-attach-limit"
// CloudControllerManagerImageName is the name of the cloud-controller-manager image.
CloudControllerManagerImageName = "cloud-controller-manager"
// AWSCustomRouteControllerImageName is the name of the aws-custom-route-controller image.
AWSCustomRouteControllerImageName = "aws-custom-route-controller"
// AWSLoacBalancerControllerImageName is the name of the ALB controller image.
AWSLoacBalancerControllerImageName = "aws-load-balancer-controller"
// CSIDriverImageName is the name of the csi-driver image.
CSIDriverImageName = "csi-driver"
// CSIProvisionerImageName is the name of the csi-provisioner image.
CSIProvisionerImageName = "csi-provisioner"
// CSIAttacherImageName is the name of the csi-attacher image.
CSIAttacherImageName = "csi-attacher"
// CSISnapshotterImageName is the name of the csi-snapshotter image.
CSISnapshotterImageName = "csi-snapshotter"
// CSIResizerImageName is the name of the csi-resizer image.
CSIResizerImageName = "csi-resizer"
// CSISnapshotControllerImageName is the name of the csi-snapshot-controller image.
CSISnapshotControllerImageName = "csi-snapshot-controller"
// 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"
// CSISnapshotValidationWebhookImageName is the name of the csi-snapshot-validation-webhook image.
CSISnapshotValidationWebhookImageName = "csi-snapshot-validation-webhook"
// CSIVolumeModifierImageName is the name of the csi-volume-modifier image.
CSIVolumeModifierImageName = "csi-volume-modifier"
// MachineControllerManagerProviderAWSImageName is the name of the MachineController AWS image.
MachineControllerManagerProviderAWSImageName = "machine-controller-manager-provider-aws"
// TerraformerImageName is the name of the Terraformer image.
TerraformerImageName = "terraformer"
// ECRCredentialHelperImageName image is the name of the image containing the ecr-credential-helper binary.
ECRCredentialProviderImageName = "ecr-credential-provider"
// 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"
// SharedCredentialsFile is a constant for the key in cloud provider secret that holds the AWS credentials file.
SharedCredentialsFile = "credentialsFile"
// Region is a constant for the key in a backup secret that holds the AWS region.
Region = "region"
// DNSAccessKeyID is a constant for the key in a DNS secret that holds the AWS access key id.
DNSAccessKeyID = "AWS_ACCESS_KEY_ID"
// DNSSecretAccessKey is a constant for the key in a DNS secret that holds the AWS secret access key.
DNSSecretAccessKey = "AWS_SECRET_ACCESS_KEY"
// DNSRegion is a constant for the key in a DNS secret that holds the AWS region.
DNSRegion = "AWS_REGION"
// TerraformerPurposeInfra is a constant for the complete Terraform setup with purpose 'infrastructure'.
TerraformerPurposeInfra = "infra"
// VPCIDKey is the vpc_id tf state key
VPCIDKey = "vpc_id"
// SubnetPublicPrefix is the prefix for the subnets
SubnetPublicPrefix = "subnet_public_utility_z"
// SubnetNodesPrefix is the prefix for the subnets
SubnetNodesPrefix = "subnet_nodes_z"
// SecurityGroupsNodes is the key for accessing nodes security groups from outputs in terraform
SecurityGroupsNodes = "security_group_nodes"
// SSHKeyName key for accessing SSH key name from outputs in terraform
SSHKeyName = "keyName"
// IAMInstanceProfileNodes key for accessing Nodes Instance profile from outputs in terraform
IAMInstanceProfileNodes = "iamInstanceProfileNodes"
// NodesRole role for nodes
NodesRole = "nodes_role_arn"
// DefaultDNSRegion is the default region to be used if a region is not specified in the DNS secret
// or in the DNSRecord resource.
DefaultDNSRegion = "us-west-2"
// CloudProviderConfigName is the name of the configmap containing the cloud provider config.
CloudProviderConfigName = "cloud-provider-config"
// CloudControllerManagerName is the constant for the name of the CloudController deployed by the control plane controller.
CloudControllerManagerName = "cloud-controller-manager"
// AWSCustomRouteControllerName is the constant for the name of the custom routes controller deployed by the control plane controller.
AWSCustomRouteControllerName = "aws-custom-route-controller"
// AWSLoadBalancerControllerName is the constant for the name of the ALB controller deployed by the control plane controller.
AWSLoadBalancerControllerName = "aws-load-balancer-controller"
// CSIControllerName is a constant for the name of the CSI controller deployment in the seed.
CSIControllerName = "csi-driver-controller"
// CSINodeName is a constant for the name of the CSI node deployment in the shoot.
CSINodeName = "csi-driver-node"
// 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"
// CSINodeDriverRegistrarName is a constant for the name of the csi-node-driver-registrar component.
CSINodeDriverRegistrarName = "csi-node-driver-registrar"
// CSILivenessProbeName is a constant for the name of the csi-liveness-probe component.
CSILivenessProbeName = "csi-liveness-probe"
// CSISnapshotValidationName is the constant for the name of the csi-snapshot-validation-webhook component.
CSISnapshotValidationName = "csi-snapshot-validation"
// CSIVolumeModifierName is the constant for the name of the csi-volume-modifier.
CSIVolumeModifierName = "csi-volume-modifier"
)
var (
// UsernamePrefix is a constant for the username prefix of components deployed by AWS.
UsernamePrefix = extensionsv1alpha1.SchemeGroupVersion.Group + ":" + Name + ":"
)
// Credentials stores AWS credentials.
type Credentials struct {
AccessKeyID []byte
SecretAccessKey []byte
Region []byte
}