jx: github.com/jenkins-x/jx/pkg/cloud/amazon Index | Files | Directories

package amazon

import "github.com/jenkins-x/jx/pkg/cloud/amazon"


Package Files

cli.go ecr.go permissions.go provider.go routes.go s3.go zones.go


const (
    // PoliciesTemplateName is the name of the custom policies CloudFormation stack that will be executed before
    // calling the eksctl commands
    PoliciesTemplateName = "jenkinsx-policies.yml"
    // ConfigTemplatesFolder is part of the path to the configuration templates
    ConfigTemplatesFolder = "templates"
    // IRSATemplateName is the name of the eksctl configuration file that will be processed after creating the policies
    IRSATemplateName = "irsa.tmpl.yaml"

func AvailabilityZones Uses

func AvailabilityZones() ([]string, error)

func CreateIRSAManagedServiceAccounts Uses

func CreateIRSAManagedServiceAccounts(requirements *config.RequirementsConfig, kubeProvidersDir string) error

CreateIRSAManagedServiceAccounts takes the KubeProviders directory and the requirements configuration and creates new ServiceAccounts annotated with a role ARN that is generated by eksctl. The policies attached to these roles are defined in the jenkinsx-policies.yml file within kubeProviders/eks/templates Note: this can't yet be executed in the master pipeline of the Dev Environment because in order to recreate the ServiceAccounts, we need to delete them and the roles first, which causes the next commands to fail

func CreateS3Bucket Uses

func CreateS3Bucket(bucketName string, profile string, region string) (string, error)

CreateS3Bucket creates a new S3 bucket in the default region with the given bucket name returning the location string

func EnableIRSASupportInCluster Uses

func EnableIRSASupportInCluster(requirements *config.RequirementsConfig) error

EnableIRSASupportInCluster Associates IAM as an OIDC provider so it can sign requests and assume roles

func GetAccountIDAndRegion Uses

func GetAccountIDAndRegion(profile string, region string) (string, string, error)

GetAccountIDAndRegion returns the current account ID and region

func GetContainerRegistryHost Uses

func GetContainerRegistryHost() (string, error)


func GetRegionFromContainerRegistryHost Uses

func GetRegionFromContainerRegistryHost(kubeClient kubernetes.Interface, namespace string, dockerRegistry string) string


This function is kept for backwards compatibility. AWS region should not be resolved from ECR address, but read from ConfigMap (see RememberRegion function). To keep backwards compatibility with existing installations this function will be kept for a while and it will perform migration to config map. Eventually it will be removed from a codebase.

func InstallAwsIamAuthenticator Uses

func InstallAwsIamAuthenticator(skipPathScan bool) error

InstallAwsIamAuthenticator install iam authenticator for AWS

func InstallAwsIamAuthenticatorWithVersion Uses

func InstallAwsIamAuthenticatorWithVersion(version string, skipPathScan bool) error

InstallAwsIamAuthenticatorWithVersion install a specific version of iam authenticator for AWS

func InstallEksCtl Uses

func InstallEksCtl(skipPathScan bool) error

InstallEksCtl installs eks cli

func InstallEksCtlWithVersion Uses

func InstallEksCtlWithVersion(version string, skipPathScan bool) error

InstallEksCtlWithVersion install a specific version of eks cli

func InstallKops Uses

func InstallKops() error

InstallKops installs kops

func LazyCreateRegistry Uses

func LazyCreateRegistry(kube kubernetes.Interface, namespace string, region string, dockerRegistry string, orgName string, appName string) error

LazyCreateRegistry lazily creates the ECR registry if it does not already exist

func NewProvider Uses

func NewProvider(region string, profile string) (*clusterProvider, error)

NewProvider returns a Provider implementation configured with a session and implementations for AWS services

func RegisterAwsCustomDomain Uses

func RegisterAwsCustomDomain(customDomain string, elbAddress string) error

RegisterAwsCustomDomain registers a wildcard ALIAS for the custom domain to point at the given ELB host name

type Provider Uses

type Provider interface {
    EKS() eks.EKSer
    EC2() ec2.EC2er
    EKSCtl() eksctl.EKSCtl
    AWSCli() awscli.AWS

Provider provides an interface to access AWS services with supported actions



Package amazon imports 34 packages (graph) and is imported by 9 packages. Updated 2020-01-21. Refresh now. Tools for package owners.