account_id | Account ID of the AWS Account where CloudWatch alarms reside | string | null | no |
aspect_artifacts_bucket | S3 bucket where Aspect delivers workflows assets | string | "aspect-artifacts" | no |
bk_runner_groups | Mapping of Buildkite runner group name to settings for that runner group | map(object({ # Common settings for all CI hosts agent_idle_timeout_min = number max_runners = number min_runners = number policies = optional(map(string), {}) queue = string resource_type = string scale_out_factor = optional(number, 1) scaling_polling_frequency = optional(number, 1) security_groups = optional(map(string), {}) warming = optional(bool, false) warming_set = optional(string, "default") exclude_oncall_alerts = optional(list(string), [])
# Settings specific to Buildkite artifacts_store = optional(string, "") }))
| {} | no |
cci_runner_groups | Mapping of CircleCI runner group name to settings for that runner group | map(object({ # Common settings for all CI hosts agent_idle_timeout_min = number max_runners = number min_runners = number policies = optional(map(string), {}) resource_type = string scale_out_factor = optional(number, 1) scaling_polling_frequency = optional(number, 1) security_groups = optional(map(string), {}) warming = optional(bool, false) warming_set = optional(string, "default") exclude_oncall_alerts = optional(list(string), [])
# Settings specific to CircleCI job_max_run_time_min = number }))
| {} | no |
cost_allocation_tag | The tag name used for cost tagging | string | "CreatedBy" | no |
cost_allocation_tag_value | The value of the cost tag | string | null | no |
customer_id | Name of the deployment | string | n/a | yes |
default_cli_version | The version of the Aspect CLI to fall back to when using an unstamped development Workflows version | string | "5.7.5" | no |
delivery_enabled | If delivery infrastructure is enabled for Aspect Workflows | bool | true | no |
experiments | A map of experiment name (as given by Aspect) to its enabled status | map(bool) | {} | no |
external_remote_cache | Configuration for the remote cache endpoint, specifically the ALB. | object({ public_hosted_zone_id = optional(string, null) image_id = optional(string, null) instance_scale = optional(string, "") buildbarn = optional(object({ # Number of shards for buildbarn's remote cache service cache_shards = optional(number, 3) # Whether to replicate BuildBarn's storage remote cache service cache_replicas = optional(bool, false) }), { cache_shards = 3 cache_replicas = false }) })
| null | no |
gha_runner_groups | Mapping of GitHub Actions runner group name to settings for that runner group | map(object({ # Common settings for all CI hosts agent_idle_timeout_min = number max_runners = number min_runners = number policies = optional(map(string), {}) queue = string resource_type = string scale_out_factor = optional(number, 1) scaling_polling_frequency = optional(number, 1) security_groups = optional(map(string), {}) warming = optional(bool, false) warming_set = optional(string, "default") exclude_oncall_alerts = optional(list(string), [])
# Settings specific to GitHub Actions gh_repo = string gha_workflow_ids = optional(list(string), []) }))
| {} | no |
gl_runner_groups | Mapping of GitLab runner group name to settings for that runner group | map(object({ # Common settings for all CI hosts agent_idle_timeout_min = number max_runners = number min_runners = number policies = optional(map(string), {}) queue = string resource_type = string scale_out_factor = optional(number, 1) scaling_polling_frequency = optional(number, 1) security_groups = optional(map(string), {}) warming = optional(bool, false) warming_set = optional(string, "default") exclude_oncall_alerts = optional(list(string), [])
# Settings specific to GitLab gitlab_url = optional(string, "https://gitlab.com") project_id = string }))
| {} | no |
hosts | ####################################### CI host configuration options # | list(string) | n/a | yes |
product_version | Product version info. Internal use only. | string | "0.0.0-PLACEHOLDER" | no |
region | The default region to setup services in | string | null | no |
remote_cache | Configuration for the remote cache endpoint, specifically the ALB. | object({ image_id = optional(string, null) instance_scale = optional(string, "") buildbarn = optional(object({ # Number of shards for BuildBarn's remote cache service cache_shards = optional(number, 3) # Whether to replicate BuildBarn's storage remote cache service cache_replicas = optional(bool, false) }), { cache_shards = 3 cache_replicas = false }) })
| n/a | yes |
resource_types | Mapping of resource types name to settings for that type | map(object({ # The ID of the AMI to use for this resource image_id = string
# A list of instance types that are acceptable in the ASG instance_types = list(string)
# The size of the root EBS volume in GB root_volume_size_gb = optional(number, 64)
# Tags to apply to this resource tags = optional(map(string), {})
# Defines if spot instances should be used for this resource use_spot = optional(bool, false)
# When using spot instances, allows further customization over the spot vs on-demand allocation instance_policy = optional(object({ on_demand_base_capacity = optional(number, 0) on_demand_percentage_above_base_capacity = optional(number, 0) spot_allocation_strategy = optional(string, "price-capacity-optimized") spot_max_price = optional(string, "") spot_instance_pools = optional(number, 2) }), {}) }))
| {} | no |
support | Set of properties that allow Aspect to provide oncall support for Workflows | object({ # Integration key for PagerDuty, provided by Aspect. pagerduty_integration_key = string
# Role ARN that allows support level access for Aspect. support_role_name = optional(string, null)
# Role ARN that allows extended support access for Aspect. # This role will have write access to various areas Workflows infrastructure, # however it can only be assumed by a subset of Aspect oncall engineers. operator_role_name = optional(string, null)
# Add policies that allow access to CI infrastructure instances via SSM enable_ssm_access = optional(bool, false) })
| n/a | yes |
vpc_id | ID of the VPC in which to deploy | string | n/a | yes |
vpc_subnets | List of subnet IDs to use for VM infrastructure | list(string) | n/a | yes |
vpc_subnets_public | List of subnet IDs to use for public facing VM infrastructure | list(string) | [] | no |
warming_sets | Mapping of warming set to settings for that set | map(object({})) | {} | no |