tmshkr/Blue/Green Beanstalk

Deploy to blue/green environments on AWS Elastic Beanstalk.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
app_nameName of the Elastic Beanstalk application. If it doesn't exist, it will be created.yes
aws_access_key_idAWS Access Key ID. May instead be specified via the AWS_ACCESS_KEY_ID environment variable.
aws_regionAWS region. May instead be specified via the AWS_REGION environment variable.
aws_secret_access_keyAWS Secret Access Key. May instead be specified via the AWS_SECRET_ACCESS_KEY environment variable.
aws_session_tokenAWS session token for using temporary credentials. May instead be specified via the AWS_SESSION_TOKEN environment variable.
blue_envName of the blue environment.
create_environmentWhether to create a new environment during deployment if the target environment doesn't exist.true
deployWhether to deploy to the target environment.false
disable_termination_protectionWhether to disable termination protection for the target environment's CloudFormation stack before attempting to terminate it.false
enable_termination_protectionWhether to enable termination protection for the target environment's CloudFormation stack after deployment.false
green_envName of the green environment.
minimum_health_colorMinimum health color (Green, Yellow, Red, or Grey) required for the target environment to be considered healthy.Green
option_settingsPath to a JSON file consisting of an array of option settings to use when updating an existing evironment or creating a new environment.
platform_branch_nameName of the platform branch to use. When creating a new environment, it will be launched with the latest version of the specified platform branch. To see the list of available platform branches, run the `aws elasticbeanstalk list-platform-branches` command.
production_cnameCNAME prefix for the domain that serves production traffic when performing a blue/green deployment.
send_commandCommand to send to the target environment after (optional) deployment. Specify a shell script or series of commands to run. Useful for running tasks related to deployment, such as swapping environment variables before promoting an environment to production.
single_envName of a single environment to deploy. If specified, the blue/green environments and production/staging CNAMEs must not be provided.
single_env_cnameCNAME prefix to use for a single-environment deployment.
source_bundlePath to the source bundle to deploy. If not specified, the sample application will be used.
staging_cnameCNAME prefix of the staging environment for a blue/green deployment.
swap_cnamesWhether to swap the CNAMEs of the blue and green environments.false
template_nameName of an Elastic Beanstalk configuration template to use when creating a new environment.
terminate_unhealthy_environmentWhether to terminate an unhealthy target environment. If set to false, the action will fail if the target environment is unhealthy.false
update_environmentWhether to update an existing environment during deployment.true
update_listener_rulesWhen set to true, the action will update any elbv2 listener rules on the environments' SharedLoadBalancer tagged with a `bluegreenbeanstalk:target_cname` key, whose value is equal to an environment's CNAME prefix, so that it forwards to the corresponding target group. For example, you can tag a listener rule that matches the host `my-domain.com` with a tag containing `bluegreenbeanstalk:target_cname` as its key and `my-prod-cname` as its value, and the action will update the listener rule to point to the same target group as the environment with the CNAME `my-prod-cname`. The listener rules are updated after the CNAMEs are swapped, so this keeps the listener rules in sync with the CNAMEs. The port of the process may be specified by another tag with the key `bluegreenbeanstalk:target_port` whose value is the port number. If no such tag is found, the default port of 80 will be used. If you'd only like to update the listener rules for a certain CNAME, you can set this input to the CNAME prefix you'd like to update. false
use_default_option_settingsWhether to use default option settings when creating a new environment.true
version_descriptionDescription to use for the new application version.
version_labelVersion label to use for the new application version.
wait_for_commandWhether to wait for the send_command execution to complete.true
wait_for_deploymentWhether to wait for the deployment to complete.true
wait_for_environmentWhether to wait for the target environment to be ready before deployment. If set to false, the action will fail if the target environment is not ready.true
wait_for_terminationWhether to wait for an environment to be terminated. If set to false, the action will fail if the target environment is terminating.true
namedescription
target_env_cnameCNAME of the target environment.
target_env_endpoint_urlURL of the environment's load balancer, or an Elastic IP address when using a single instance environment.
target_env_idID of the target environment.
target_env_jsonJSON representation of the target environment.
target_env_nameName of the target environment.
target_env_statusStatus of the target environment.