+| <a name="input_services"></a> [services](#input\_services) | The services you want to deploy as part of this stack. | <pre>map(object({<br> name = string,<br> service_type = optional(string, "INTERNAL"),<br> allow_mesh_services = optional(list(object({<br> service = optional(string, null),<br> stack = optional(string, null),<br> service_account_name = optional(string, null)<br> })), null),<br> ingress_security_groups = optional(list(string), []), // Only used for VPC service_type<br> alb = optional(object({<br> name = string,<br> listener_port = number,<br> }), null), // Only used for TARGET_GROUP_ONLY<br> image_uri = optional(string, "")<br> desired_count = optional(number, 2),<br> max_count = optional(number, 5),<br> max_unavailable_count = optional(string, "1"),<br> scaling_cpu_threshold_percentage = optional(number, 80),<br> port = optional(number, 80),<br> scheme = optional(string, "HTTP"),<br> cmd = optional(list(string), []),<br> args = optional(list(string), []),<br> image_pull_policy = optional(string, "IfNotPresent"), // Supported values= IfNotPresent, Always, Never<br> tag_mutability = optional(bool, true),<br> scan_on_push = optional(bool, false),<br> service_port = optional(number, null),<br> service_scheme = optional(string, "HTTP"),<br> linkerd_additional_skip_ports = optional(set(number), []),<br> memory = optional(string, "500Mi"),<br> memory_requests = optional(string, "200Mi"),<br> cpu = optional(string, "1"),<br> cpu_requests = optional(string, "500m"),<br> gpu = optional(number, null), // Whole number of GPUs to request, 0 will schedule all available GPUs. Requires GPU-enabled nodes in the cluster, `k8s-device-plugin` installed, platform_architecture = "amd64", and additional_node_selectors = { "nvidia.com/gpu.present" = "true" } present.<br> health_check_path = optional(string, "/"),<br> health_check_command = optional(list(string), [])<br> aws_iam = optional(object({<br> policy_json = optional(string, ""),<br> service_account_name = optional(string, null),<br> }), {}),<br> path = optional(string, "/*"), // Only used for CONTEXT and TARGET_GROUP_ONLY routing<br> priority = optional(number, 0), // Only used for CONTEXT and TARGET_GROUP_ONLY routing<br> success_codes = optional(string, "200-499"),<br> synthetics = optional(bool, false),<br> initial_delay_seconds = optional(number, 30),<br> alb_idle_timeout = optional(number, 60) // in seconds<br> period_seconds = optional(number, 3),<br> liveness_timeout_seconds = optional(number, 30),<br> readiness_timeout_seconds = optional(number, 30),<br> progress_deadline_seconds = optional(number, 600),<br> platform_architecture = optional(string, "amd64"), // Supported values= amd64, arm64; GPU nodes are amd64 only.<br> additional_node_selectors = optional(map(string), {}), // For GPU use= { "nvidia.com/gpu.present" = "true" }<br> bypasses = optional(map(object({ // Only used for INTERNAL service_type<br> paths = optional(set(string), [])<br> methods = optional(set(string), [])<br> deny_action = optional(object({<br> deny = optional(bool, false)<br> deny_status_code = optional(string, "403")<br> deny_message_body = optional(string, "Denied")<br> }), {})<br> })), {})<br> sticky_sessions = optional(object({<br> enabled = optional(bool, false),<br> duration_seconds = optional(number, 600),<br> cookie_name = optional(string, "happy_sticky_session"),<br> cookie_samesite = optional(string, "Lax"),<br> }), {})<br> sidecars = optional(map(object({<br> image = string<br> tag = string<br> cmd = optional(list(string), [])<br> args = optional(list(string), [])<br> port = optional(number, 80)<br> scheme = optional(string, "HTTP")<br> memory = optional(string, "200Mi")<br> cpu = optional(string, "500m")<br> image_pull_policy = optional(string, "IfNotPresent") // Supported values= IfNotPresent, Always, Never<br> health_check_path = optional(string, "/")<br> initial_delay_seconds = optional(number, 30)<br> period_seconds = optional(number, 3)<br> liveness_timeout_seconds = optional(number, 30)<br> readiness_timeout_seconds = optional(number, 30)<br> })), {})<br> init_containers = optional(map(object({<br> image = string<br> tag = string<br> cmd = optional(list(string), []),<br> })), {}),<br> additional_env_vars = optional(map(string), {}),<br> cache_volume_mount_dir = optional(string, "/var/shared/cache"),<br> oidc_config = optional(object({<br> issuer = string<br> authorizationEndpoint = string<br> tokenEndpoint = string<br> userInfoEndpoint = string<br> secretName = string<br> }), null)<br> }))</pre> | n/a | yes |
0 commit comments