Skip to main content

Legend

Other types

ModuleApps

App Cluster configuration: a module with an apps block hosts apps that ravion deploy sends to it. Its stack creates the load balancer and what the router needs, and this block tells Ravion the execution environment whose sandbox pool runs the apps, the AWS account, region and VPC they run in, the domains they are served under, the load balancer and router that serve them, and the sizes they get.Every field accepts module.* and stack.* templates, resolved from the module instance’s inputs and its stack’s outputs.
string
required
Execution environment (ee_*) whose sandbox pool runs the apps. It must be an AWS execution environment in the App Cluster’s AWS account, region and VPC, with a sandbox pool.(minLen:1; templateable)
string
required
Ravion AWS account (awsact_*, or its given ID) the App Cluster runs in.(minLen:1; templateable)
string
required
AWS region the App Cluster runs in.(minLen:1; templateable)
string
required
VPC the App Cluster runs in.(minLen:1; templateable)
string
required
Ravion domain the apps are served under, without *.: an app’s URLs are https://<app>.<domain> and https://<app>-<port name>.<domain>.(templateable)
string[] | null
Custom wildcard domains the apps are also served under, each without *., in a DNS zone the App Cluster’s owner controls: an app is also served at <app>.<custom domain> and <app>-<port name>.<custom domain>. Absent or empty when the App Cluster has none.(templateable)
App.AppClusterLoadBalancer
required
The load balancer that receives the apps’ traffic.See: App.AppClusterLoadBalancer(templateable)
App.AppClusterRouter
required
The router that serves the apps.See: App.AppClusterRouter(templateable)
App.AppClusterDefaults
required
Sizes an app gets when its definition sets none.See: App.AppClusterDefaults(templateable)
App.AppClusterLimits
required
The most an app may ask for.See: App.AppClusterLimits(templateable)

OutputProperty

A stack output a module declares for consumers.
string
required
enum
required
Allowed values: string | number | boolean | string_array | object | array
string
string
boolean
Sensitive outputs can only be referenced by handle.

App.AppClusterDefaults

Sizes an app gets when its definition sets none.
integer
required
vCPUs.(format:int32,min:1; templateable)
integer
required
Memory in MiB.(format:int32,min:1; templateable)
integer
required
Disk in GiB.(format:int32,min:1; templateable)
integer
required
Seconds without a request or a running command before an app is paused: 0 never pauses it, otherwise at least 60. Within limits.idleTimeoutSeconds.(format:int32,min:0; templateable)

App.AppClusterLimits

The most an app may ask for. A deploy asking for more is refused.
integer
required
vCPUs.(format:int32,min:1; templateable)
integer
required
Memory in MiB.(format:int32,min:1; templateable)
integer
required
Disk in GiB.(format:int32,min:1; templateable)
integer
required
Longest idle timeout in seconds an app may ask for: 0 sets no limit, so an app may also ask never to pause; any other limit is at least 60, and an app under it always pauses.(format:int32,min:0; templateable)
integer
required
Seconds a paused app’s disk is kept. After it, the disk is deleted and the app is stopped until its next deploy.(format:int32,min:1; templateable)

App.AppClusterLoadBalancer

The App Cluster’s load balancer, which receives the apps’ traffic and holds the certificates of the apps’ own domains.
string
required
TLS listener the certificate of each app’s own domains is attached to.(minLen:1; templateable)
string
required
DNS name of the load balancer, which the routing record of each app’s own domain points at.(minLen:1; templateable)
string
required
Hosted zone ID of the load balancer.(minLen:1; templateable)

App.AppClusterRouter

The router that serves an App Cluster’s apps.
string
required
EC2 instance type of the router.(minLen:1; templateable)
string[]
required
Subnets the router may run in.(minItems:1; templateable)
string
required
Security group of the router.(minLen:1; templateable)
string
required
Instance profile the router runs with.(minLen:1; templateable)
string
required
Target group that sends the apps’ HTTPS traffic to the router.(minLen:1; templateable)
string
required
Target group that sends HTTP traffic to the router, which redirects it to HTTPS.(minLen:1; templateable)

App.AppDomainName

A domain name in a DNS zone you control, such as shop.example.com: two or more lowercase labels of letters, digits and hyphens, with no *. and no trailing dot.Type: string

OutputType

Supported types for declared stack outputs.Allowed values:
  • string
  • number
  • boolean
  • string_array
  • object
  • array