Requirements

The following requirements are needed by this module:

Modules

The following Modules are called:

traefik

Source: ../

Version:

Required Inputs

The following input variables are required:

nlb_id

Description: ID of the Exoscale NLB to use for the SKS cluster.

Type: string

router_nodepool_id

Description: ID of the node pool specifically created for Traefik.

Type: string

router_instance_pool_id

Description: Instance pool ID of the node pool specifically created for Traefik.

Type: string

Optional Inputs

The following input variables are optional (have default values):

argocd_project

Description: Name of the Argo CD AppProject where the Application should be created. If not set, the Application will be created in a new AppProject only for this Application.

Type: string

Default: null

argocd_labels

Description: Labels to attach to the Argo CD Application resource.

Type: map(string)

Default: {}

destination_cluster

Description: Destination cluster where the application should be deployed.

Type: string

Default: "in-cluster"

target_revision

Description: Override of target revision of the application chart.

Type: string

Default: "v6.1.1"

enable_service_monitor

Description: Enable Prometheus ServiceMonitor in the Helm chart.

Type: bool

Default: true

helm_values

Description: Helm chart value overrides. They should be passed as a list of HCL structures.

Type: any

Default: []

app_autosync

Description: Automated sync options for the Argo CD Application resource.

Type:

object({
    allow_empty = optional(bool)
    prune       = optional(bool)
    self_heal   = optional(bool)
  })

Default:

{
  "allow_empty": false,
  "prune": true,
  "self_heal": true
}

dependency_ids

Description: IDs of the other modules on which this module depends on.

Type: map(string)

Default: {}

replicas

Description: Number of Traefik pods to be deployed.

Type: number

Default: 2

enable_https_redirection

Description: Enable HTTP to HTTPS redirection on all ingresses.

Type: bool

Default: true

Outputs

The following outputs are exported:

id

Description: ID to pass other modules in order to refer to this module as a dependency. It takes the ID that comes from the main module and passes it along to the code that called this variant in the first place. = Requirements

Name Version

>= 5

>= 3

>= 1

Modules

Name Source Version

Inputs

Name Description Type Default Required

ID of the Exoscale NLB to use for the SKS cluster.

string

n/a

yes

ID of the node pool specifically created for Traefik.

string

n/a

yes

Instance pool ID of the node pool specifically created for Traefik.

string

n/a

yes

Name of the Argo CD AppProject where the Application should be created. If not set, the Application will be created in a new AppProject only for this Application.

string

null

no

Labels to attach to the Argo CD Application resource.

map(string)

{}

no

Destination cluster where the application should be deployed.

string

"in-cluster"

no

Override of target revision of the application chart.

string

"v6.1.1"

no

Enable Prometheus ServiceMonitor in the Helm chart.

bool

true

no

Helm chart value overrides. They should be passed as a list of HCL structures.

any

[]

no

Automated sync options for the Argo CD Application resource.

object({
    allow_empty = optional(bool)
    prune       = optional(bool)
    self_heal   = optional(bool)
  })
{
  "allow_empty": false,
  "prune": true,
  "self_heal": true
}

no

IDs of the other modules on which this module depends on.

map(string)

{}

no

Number of Traefik pods to be deployed.

number

2

no

Enable HTTP to HTTPS redirection on all ingresses.

bool

true

no

Outputs

Name Description

id

ID to pass other modules in order to refer to this module as a dependency. It takes the ID that comes from the main module and passes it along to the code that called this variant in the first place.