Alb intent can be used to create an application loadbalancer which can be exposed to the internet / an internal loadblancer in a specific cloud
| Property | Type | Required | Description |
|---|---|---|---|
flavor |
string | Yes | Implementation selector for the resource. e.g. for a resource type ingress it can be default, aws_alb, gcp_alb etc. |
kind |
string | Yes | Describes the type of resource. e.g. ingress, application, mysql etc. If not specified, fallback is the folder_name/instances |
metadata |
object | Yes | Metadata related to the resource |
spec |
object | Yes | Specification as per resource types schema |
version |
string | Yes | This field can be used to pin to a particular version |
advanced |
object | No | Additional fields if any for a particular implementation of a resource |
depends_on |
No | Dependencies on other resources. e.g. application x may depend on mysql | |
disabled |
boolean | No | Flag to disable the resource |
lifecycle |
string | No | This field describes the phase in which the resource has to be invoked (ENVIRONMENT_BOOTSTRAP) Possible values are: ENVIRONMENT_BOOTSTRAP. |
out |
object | No | Output given by the resource for others to refer. |
provided |
boolean | No | Flag to tell if the resource should not be provisioned by facets |
Specification as per resource types schema
| Property | Type | Required | Description |
|---|---|---|---|
force_ssl_redirection |
boolean | Yes | Force SSL redirection from http to https |
private |
boolean | Yes | Make this load balancer private |
rules |
object | Yes | Objects of all ingress rules |
domains |
object | No | The map of domain key to rules |
The map of domain key to rules
| Property | Type | Required | Description |
|---|---|---|---|
^[a-zA-Z0-9_.-]*$ |
object | No | This is the name of the domain object that you are creating, it can be of any name |
domian_regex| Property | Type | Required | Description |
|---|---|---|---|
domain |
string | Yes | The host name of the domain |
alias |
string | Yes | Alias naming for the domain |
certificate_reference |
string | Yes | Certificate reference name. For aws_alb, it’s the ACM ARN certificate reference. |
Objects of all ingress rules
| Property | Type | Required | Description |
|---|---|---|---|
^[a-zA-Z0-9_.-]*$ |
object | Yes | This is the name of the ingress object that you are creating, it can be of any name |
rules_regex| Property | Type | Required | Description |
|—————–|———|———-|—————————————————————————————————–|
| service_name | string | Yes | The Kubernetes service name of the application |
| path | string | Yes | Path of the application |
| port_name | string | Yes | Port name of the service |
| port | integer | Yes | Port number of the service |
| domain_prefix | string | Yes | Subdomain prefix for the service |
| priority | string | Yes | Priority number for the above rule (ranging from 1 to 1000) and it should be unique for each rule. |
Output given by the resource for others to refer.
| Property | Type | Required | Description |
|---|---|---|---|
interfaces |
object | No | The output for your alb module, this can be generated or provided |
Add additional properties to change the behaviour of alb
"advanced": {
"aws": {
"alb": {
}
}
}