# Functions
AwsSecretID defines the key path for a secret by name.
BuildDocker executes the docker build commands and either pushes the image to ECR or uploads a zip to S3 for AWS Lambda support.
BuildImageForTargetEnv builds an image using the defined Dockerfile and pushes the image to a local repo.
BuildLambdaForTargetEnv builds a lambda function using the defined Dockerfile and pushes the zip to AWS S3.
BuildServiceForTargetEnv builds a service using the defined Dockerfile and pushes the release image to AWS ECR.
No description provided by the author
DeployLambdaToTargetEnv deploys a function to AWS Lambda The following steps will be executed for deployment: 1.
DeployServiceToTargetEnv deploys a service to AWS ECS.
EcrPurgeImages ensures pipeline does not generate images for max of 10000 and prevent manual deletion of images.
EcsReadTaskDefinition reads a task definition file and json decodes it.
EcsServiceSetDesiredCount sets the desired count for an ECS service.
EcsServiceTaskInit allows newly spun up ECS Service Tasks to register their public IP with Route 53.
EcsServiceTaskTaskShutdown allows ECS Service Tasks that are spinning down to deregister their public IP with Route 53.
FindServiceDockerFile finds the service directory.
GetAwsCredentials loads the AWS Access Keys from env variables unless a role is used.
GetTargetEnv checks for an env var that is prefixed with the current target env.
GitLabCiReleaseTag returns the name used for tagging a release image will always include one with environment and service name.
LambdaReadFuncDefinition reads a task definition file and json decodes it.
LambdaS3KeyFromReleaseImage generates an S3 key from a release image.
LoadGoModName parses out the module name from go.mod.
LoadModuleDetails returns the project details based on the go.mod file.
NewDirectoryIterator builds a new DirectoryIterator.
NewInfrastructure load the currently deploy infrastructure from AWS Secrets Manager.
NewS3AutocertCache provides the functionality to keep config files sync'd between running tasks and across deployments.
NewSecretManagerAutocertCache provides the functionality to keep config files sync'd between running tasks and across deployments.
ParseTaskDefinitionInput json decodes an ecs task definition.
RegisterEcsServiceTasksRoute53 registers the public IPs for a ECS Service Task with Route 53.
S3Url formats a path to include either the S3 URL or a CloudFront URL instead of serving the file from local file system.
NewAuthenticator creates an *Authenticator for use.
SecretManagerGetString loads a key from AWS Secrets Manager.
SecretManagerGetString loads a key from AWS Secrets Manager.
SecretManagerPutBinary saves binary a value to AWS Secrets Manager.
SecretManagerPutString saves a string value to AWS Secrets Manager.
SetupDeploymentEnv ensures all the resources for the project are setup before deploying a single ECS service or Lambda function.
SyncPublicS3Files copies the local files from the static directory to s3 with public-read enabled.
# Constants
Max is actually 1000 but make sure there is always room.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Success and failure markers.
SetupOptionBuildEnv ensures only the resources are available for the build stage.
No description provided by the author
No description provided by the author
Success and failure markers.
# Variables
ErrInvalidFunction occurs when no config can be determined for a function.
ErrInvalidService occurs when no config can be determined for a service.
No description provided by the author
# Structs
AwsAcmCertificateResult defines information about a certificate derived from *acm.CertificateSummary.
AwsAppAutoscalingPolicy defines the details needed to create an application autoscaling policy.
AwsAppAutoscalingPolicyResult defines information about an application autoscaling policy.
AwsCloudFrontDistributionResult defines information about a listener derived from *cloudfront.Distribution.
AwsCloudwatchEventRule defines the details needed to create a Cloudwatch Event rule.
AwsCloudwatchEventRuleResult defines information about a service derived from *cloudwatchevents.PutRuleOutput.
AwsCloudwatchEventTarget defines the details needed to create a Cloudwatch Event target.
AwsCloudwatchEventRuleResult defines information about a service derived from *cloudwatchevents.PutRuleOutput.
AwsCloudWatchLogGroup defines the details needed to create a Cloudwatch log group.
AwsCloudWatchLogGroupResult defines information about the Cloudwatch Log Group.
AwsCredentials defines AWS credentials used for deployment.
AwsEc2SecurityGroup describes an AWS ECS security group.
AwsEc2SecurityGroupResult defines information about a security group derived from *ec2.SecurityGroup.
AwsEc2Subnet describes the detailed needed for creating a subnet for a VPC when not using the default region VPC.
AwsEc2Vpc describes an AWS EC2 VPC.
AwsEc2VpcResult defines information about a VPC derived from *ec2.Vpc.
AwsEcrRepository describes an AWS ECR repository.
AwsEcrRepositoryResult defines information about a repository derived from *ecr.Repository.
AwsEcsCluster defines the details needed to create an ecs cluster.
AwsEcsClusterResult defines information about a cluster derived from *ecs.Cluster.
AwsEcsService defines the details needed to create an ecs service.
AwsEcsServiceDeployDetails defines the details that can be used as env of placeholders that can be used in task definition and replaced on deployment.
AwsEcsServiceResult defines information about a service derived from *ecs.Service.
AwsEcsTaskDefinition defines the details needed to register an ecs task definition.
AwsEcsTaskDefinitionResult wraps *ecs.TaskDefinition.
AwsElasticCacheCluster defines the details needed to create an elastic cache cluster.
AwsElasticCacheClusterEndpoint represents the information required for client programs to connect to a cache node.
AwsElasticCacheClusterResult defines information about a cache cluster derived from *elasticache.CacheCluster.
AwsElasticCacheClusterResult Represents the information required for client programs to connect to a cache node.
AwsElasticCacheParameter describes a name-value pair that is used to update the value of a parameter.
AwsElbAction defines information about an action derived from *elbv2.Action.
AwsElbCertificate defines information about a certificate derived from *elbv2.Certificate.
AwsElbListener defines the details needed to create an elbv2 listener.
AwsElbListenerResult defines information about a listener derived from *elbv2.Listener.
AwsElbLoadBalancer defines the details needed to create an elbv2 load balancer.
AwsElbLoadBalancerResult defines information about a load balancer derived from *elbv2.LoadBalancer.
AwsElbRedirectActionConfig defines information about an action derived from *elbv2.RedirectActionConfig.
AwsElbTargetGroup defines the details needed to create an elbv2 target group.
AwsElbTargetGroupResult defines information about a target group derived from *elbv2.TargetGroup.
AwsIamPolicy defines the details needed to create an iam policy.
AwsIamPolicyDocument defines an AWS IAM policy used for defining access for IAM roles, users, and groups.
AwsIamPolicyResult defines information about a policy derived from *iam.Policy.
AwsIamRole defines the details needed to create an iam role.
AwsIamRoleResult defines information about a role derived from *iam.Role.
AwsIamStatementEntry defines a single statement for an IAM policy.
AwsLambdaFunction defines the details needed to create an lambda function.
AwsRdsDBCluster defines the details needed to create a rds database cluster used for the aurora storage engine.
AwsRdsDBClusterResult defines information about a database cluster derived from *rds.DBCluster.
AwsRdsDBInstance defines the details needed to create a rds database instance.
AwsRdsDBInstanceResult defines information about a database instance derived from *rds.DBInstance.
AwsRoute53ZoneResult defines information about a hosted zone derived from *route53.HostedZone.
AwsS3Bucket defines the details needed to create a bucket that includes additional configuration.
AwsS3BucketCloudFront defines the details needed to create a cloudfront distribution for an S3 bucket.
AwsS3BucketResult defines information about a S3 bucket.
AwsS3Store defines the location of the infrastructure stored on S3 when it's too big to store in Secret Manager.
AwsSdPrivateDnsNamespace defines the details needed to create a service discovery private namespace.
AwsSdPrivateDnsNamespaceResult defines information about a namespace derived from *servicediscovery.NamespaceSummary.
AwsSdService defines the details needed to create a service for a namespace.
AwsSdServiceResult defines information about a service derived from *servicediscovery.Service.
AwsSQSQueue defines the details needed to create an SQS Queue that includes additional configuration.
AwsSQSQueueResult defines information about a service derived from *sqs.CreateQueueOutput.
BuildDockerRequest defines the details needed to execute a docker build.
Config defines the details needed to build the target deployment environment for AWS.
DB mimics the general info needed for services used to define placeholders.
DirectoryIterator represents an iterator of a specified directory.
Infrastructure defines all the resources used for build and deploy of functions and services.
Metadata describes a key/value pair that will help identify an S3 object.
ModuleDetails defines information about the project determined from the go.mod file.
ProjectFunction configures a function for build and deploy.
ProjectImage configures an image for build.
ProjectService configures a service for build and deploy.
S3AutocertCache implements the autocert.Cache interface for AWS S3 that is used by Manager to store and retrieve previously obtained certificates and other account data as opaque blobs.
SecretManagerAutocertCache implements the autocert.Cache interface for AWS Secrets Manager that is used by Manager to store and retrieve previously obtained certificates and other account data as opaque blobs.
Tag describes a key/value pair that will help identify a resource.