Documentation ¶
Index ¶
- Constants
- Variables
- func BucketExists(projectId string, bucketName string) (bool, error)
- func CheckPermission(perm string, projectId string) (bool, error)
- func ClusterName(kuber kube.Kuber) (string, error)
- func CreateBucket(projectId string, bucketName string, location string) error
- func CreateKmsKey(keyName string, keyringName string, projectId string) error
- func CreateKmsKeyring(keyringName string, projectId string) error
- func DeleteAllObjectsInBucket(bucketName string) error
- func DeleteBucket(bucketName string) error
- func DeleteServiceAccount(serviceAccount string, projectId string, roles []string) error
- func EnableApis(projectId string, apis ...string) error
- func FindBucket(bucketName string) bool
- func FindServiceAccount(serviceAccount string, projectId string) bool
- func GetEnabledApis(projectId string) ([]string, error)
- func GetGoogleMachineTypes() []string
- func GetGoogleProjects() ([]string, error)
- func GetGoogleZones(project string) ([]string, error)
- func GetOrCreateServiceAccount(serviceAccount string, projectId string, clusterConfigDir string, ...) (string, error)
- func GetRegionFromZone(zone string) string
- func GetSimplifiedClusterName(complexClusterName string) string
- func IsKmsKeyAvailable(keyName string, keyringName string, projectId string) bool
- func IsKmsKeyringAvailable(keyringName string, projectId string) bool
- func Login(serviceAccountKeyPath string, skipLogin bool) error
- func ShortClusterName(kuber kube.Kuber) (string, error)
Constants ¶
const KmsLocation = "global"
Variables ¶
var PROJECT_LIST_HEADER = "PROJECT_ID"
var (
REQUIRED_SERVICE_ACCOUNT_ROLES = []string{"roles/compute.instanceAdmin.v1",
"roles/iam.serviceAccountActor",
"roles/container.clusterAdmin",
"roles/container.admin",
"roles/container.developer",
"roles/storage.objectAdmin",
"roles/editor"}
)
Functions ¶
func ClusterName ¶
ClusterName gets the cluster name from the current context Note that this just reads the ClusterName from the local kube config, which can be renamed (but is unlikely to happen)
func CreateKmsKey ¶
CreateKmsKey creates a new KMS key in the given keyring
func CreateKmsKeyring ¶
CreateKmsKeyring creates a new KMS keyring
func DeleteBucket ¶
func DeleteServiceAccount ¶
func EnableApis ¶ added in v1.3.40
func FindBucket ¶
func FindServiceAccount ¶
func GetEnabledApis ¶
func GetGoogleMachineTypes ¶
func GetGoogleMachineTypes() []string
func GetGoogleProjects ¶
func GetGoogleZones ¶
func GetRegionFromZone ¶
func GetSimplifiedClusterName ¶
GetSimplifiedClusterName get the simplified cluster name from the long-winded context cluster name that gets generated GKE cluster names as defined in the kube config are of the form gke_<projectname>_<region>_<clustername> This method will return <clustername> in the above
func IsKmsKeyAvailable ¶
IsKmsKeyAvailable cheks if the KMS key is already available
func IsKmsKeyringAvailable ¶
IsKmsKeyringAvailable checks if the KMS keyring is already available
func ShortClusterName ¶
ShortClusterName returns a short clusters name. Eg, if ClusterName would return tweetypie-jenkinsx-dev, ShortClusterName would return tweetypie. This is needed because GCP has character limits on things like service accounts (6-30 chars) and combining a long cluster name and a long vault name exceeds this limit
Types ¶
This section is empty.