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 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 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 |
enable_ssm_access | Add policies that allow access to CI infrastructure instances via SSM | bool | false | no |
experimental_remote | Configuration for the remote cache | object({ # Number of storage shards cache_shards = number # Amount of disk space allocated to the remote cache across all shards. cache_size_gb = number # Replicas of the load balancer service that schedules work on storage pods. # Will also be used for remote execution pods when supported. load_balancer_replicas = number # Whether to create a read replica of cache shards replicate_cache = bool })
| { "cache_shards": 3, "cache_size_gb": 384, "load_balancer_replicas": 2, "replicate_cache": false }
| no |
experiments | A map of experiment name (as given by Aspect) to its enabled status | map(bool) | {} | 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 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 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 |
k8s_cluster | EKS cluster configuration | object({ cluster_version = optional(string, "1.27") min_size = optional(number, 1) max_size = optional(number, 10) desired_size = optional(number, 3) instance_types = optional(list(string), ["t3.large"]) image_id = optional(string, null) })
| {} | no |
monitoring_config | Monitoring configuration | object({ grafana_image_id = optional(string, null) // defaults to default_ami_arm from core module if unset grafana_instance_type = optional(string, "t4g.micro") grafana_volume_size_gb = optional(number, 64) prometheus_image_id = optional(string, null) // defaults to default_ami_arm from core module if unset prometheus_instance_type = optional(string, "t4g.small") prometheus_volume_size_gb = optional(number, 64) })
| {} | no |
monitoring_enabled | If monitoring is enabled for Aspect Workflows | bool | false | no |
pagerduty_integration_key | The integration key for PagerDuty, provided by Aspect | 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_enabled | If the remote cache is enabled for Aspect Workflows | bool | true | no |
remote_cache_instance_scale | Instance scale to apply to the instance type used for the remote cache. This string will appear in an expression like i4i.{scale}large , therefore valid values are x , 2x , ... 32x | string | "" | no |
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 |
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 |