The following three workflows show how ISC's cloud automation pipeline builds each of the following components. Expand a section below for additional information.
Inputs
Parameters
- Clustername: All one word, no spaces or special characters
- Volumesize: ECS Container Host Volume Size in GB
Options
- Environment: Where should the cluster be built?
- ClusterSize: Default size at launch
- ClusterMinSize
- ClusterMaxSize
- Provisionci: Run ECS_cluster_update_seed_v2?
- Awsaccountnumber: Use TS or Apps AWS Account
|
Actions
- Binding to AWS service account
- Append/length check $clustername
- Set environment specific params
- Create propertiesfile.txt
- Run cloudformation create-stack
Outputs
- Propertiesfile.txt ** appnameenv ** PrivSubnet1param
- PrivSubnet2param
- PrivSubnet3param
- PrivSubnet4param
- VPCparam
- Predefined parameters
- Clustername
- Volumesize
- Environment
- ClusterSize
- ClusterMinSize
- ClusterMaxSize
- Provisionci
- Cluster.yaml config/resource file (link)
|
Inputs
Parameters
- Appname
- Clustername
- Path_with_namespace
- Image: Image location
- CPU
- Memory: In MB
- Bucketname
Options
- Environment
- Provisiondb: Run ECS_provision_app_db_v2?
- Provisioncname: Run ECS_cname_create_delete?
- Provisionci: Run ECS_CI_seed?
- Awsaccountnumber: TS or Apps AWS account
|
Actions
- Sets container environment variables (currently can only use default Docker values)
- Binding to AWS service account
- Uses specific KEY_ID in Jenkins based on the awsacctnumber provided
- Sets vpc_prefix based on awsaccountnumber option
- Sanity check parameters
- Set environmentshortname
- Generate value for gitwebhooktoken
- Create propertiesfile.txt (parameters for ECS_CI_seed_v2)
- Append -cluster to $clustername variable
- Verify $clustername exists
- Set environment-specific parameters
- Run cloudformation create-stack, passing relevant parameters for stack creation
Outputs
Propertiesfile.txt
- Environmentshortname
- Appnameenv
- PubSubnet#param
- VPCparam
- Clustername
- Imageparam
|
Inputs
Parameters
- Appname: Name of DB instance
Options
- Environment
- Allocated_storage: Allocation for DB storage in GB
- Provisiondbinst: If false, job will immediately stop (unused)
- MultiAvailabilityZone: Should DB be accessible across AWS zones?
- ConfigureDns: Configure a Route 53 DNS Alias? (no sanity check for existing records)
- SetupAlarms: Alert when instance is under certain amount of stress?
- DatabaseInstanceClass: Choose size to allocate for DB instance
- Awsaccountnumber: Use TS or Apps AWS account
|
Actions
- Sets environmentshortname from environment
- Based on awsaccountnumber, sets R53HostedZoneName to an appropriate URL
- Sets config, VPC, subnet variables from environment
- Creates instance in CF from given options and variables (determined via environment)
- This is a database instance that individual databases can be built inside (such as those created in provision_app_db)
Outputs
- CF stack for database instance with specified provisioned resources
- Individual DBs built on top of this provisioned instance
Downstream/Created Jobs
- None, but builds CF framework for databases created via ECS_provision_app_db
|