Azure AKS Terraform Module

The aks/azure Terraform module provides a way to install and configure:

Requirements

Name Version

>= 0.13

~> 2.0

~> 2.62

~> 2.0

~> 2.0

~> 2.0

~> 3.0

tls

~> 3.0

Providers

Name Version

~> 2.0

~> 2.62

~> 3.0

Modules

Name Source Version

Azure/aks/azurerm

4.13.0

Inputs

Name Description Type Default Required

A list of Object IDs of Azure Active Directory Groups which should have Admin Role on the Cluster.

list(string)

[]

no

The number of Agents that should exist in the Agent Pool. Please set agents_count null while enable_auto_scaling is true to avoid possible agents_count changes.

number

2

no

(Optional) The maximum number of pods that can run on each agent. Changing this forces a new resource to be created.

number

null

no

The default virtual machine size for the Kubernetes agents

string

"Standard_D4s_v3"

no

App of apps values overrides.

string

""

no

ArgoCD Server Secert Key to avoid regenerate token on redeploy.

string

null

no

Azure User Assigned Identities to create

list(object({
    namespace = string
    name      = string
  }))

[]

no

The base domain used for Ingresses.

string

n/a

yes

The name of the Kubernetes cluster to create.

string

n/a

yes

Extra AppProjects objects to deploy.

list(any)

[]

no

Extra ApplicationSets objects to deploy.

list(any)

[]

no

Extra Applications objects to deploy.

list(any)

[]

no

The admin password for Grafana.

string

null

no

Specify which Kubernetes release to use.

string

"1.21.2"

no

Enable network policy for the azure CNI

string

null

no

List of node pools with minimal configuration

map(any)

{}

no

OIDC configuration for core applications.

object({
    issuer_url              = string
    oauth_url               = string
    token_url               = string
    api_url                 = string
    client_id               = string
    client_secret           = string
    oauth2_proxy_extra_args = list(string)
  })

null

no

Disk size of nodes in GBs.

number

128

no

A custom ssh key to control access to the AKS cluster

string

""

no

The source repo URL of ArgoCD’s app of apps.

string

"https://github.com/camptocamp/devops-stack.git"

no

A list of repositories to add to ArgoCD.

map(map(string))

{}

no

The Resource Group where the Managed Kubernetes Cluster should exist.

string

n/a

yes

The source target revision of ArgoCD’s app of apps.

string

"master"

no

The ID of a Subnet where the Kubernetes Node Pool should exist. Changing this forces a new resource to be created.

string

n/a

yes

Allow to disable wait for app of apps

bool

true

no

Outputs

Name Description

App of Apps values

The token to set in ARGOCD_AUTH_TOKEN environment variable.

The URL of the ArgoCD server.

The ArgoCD admin password.

Azure User Assigned Identities created

n/a

n/a

The admin password for Grafana.

n/a

The content of the KUBECONFIG file.

n/a

n/a

n/a

n/a

n/a