Skip to content

Config

The kubernetes_config resource allows Kubernetes configuraton to be applied to a kubernetes_cluster.

You can specify a list of paths or individual files and health checks for the resources.
A kubernetes_config only completes once the configuration has been successfully applied and any health checks have passed.
This allows you to create complex dependencies for your applications.

The system monitors changes to the config defined in the paths property and automatically recreates this resource when the
configuration is applied.

resource "kubernetes_config" "name" {
...
}
AttributeDescription

Cluster cluster required


type: Reference to Cluster

The reference to a cluster to apply the jobs to.
Kubernetes config is only applied when the referenced cluster is created and healthy.

cluster = resource.kubernetes_cluster.dev

Paths paths required


type: []string

Paths to the Kubernetes config files to apply to the cluster.

paths = [”./files/kubernetes”, ”./k8s/pods.yaml”]

WaitUntilReady wait_until_ready required


type: bool

Determines if the resource waits until all config defined in the paths has been accepted and started by the server.
If set to false the resource returns immediately after submitting the job.

wait_until_ready = true

HealthCheck health_check

type: block HealthCheckKubernetes

Optional health check to perform after the jobs have been applied, this resource will not complete until the health
checks are passing.

health_check {
timeout = ”60s”
pods = [
"component=server,app=consul",
"component=client,app=consul"

] } |

These attributes are computed when the config is parsed and applied, and are
therefore only known at parsetime or runtime.

AttributeDescription

Meta ID meta.id

string

The full ID of the resource e.g. resource.type.name.
This is computed from the full resource path:

// given the following resource
resource “container” “ubuntu” {
}

// the resulting id will be resource.container.ubuntu | |

Meta Type meta.type

string

|

The type of the resource.
This taken from the type label of the resource definition.

// given the following resource
resource “container” “ubuntu” {
…
}

// the resulting type will be container

| |

Meta Name meta.name

string

|

The name of the resource.
This taken from the name label of the resource definition.

// given the following resource
resource “container” “ubuntu” {
…
}

// the resulting name will be ubuntu

|


\


A health_check stanza allows the definition of a health check which must pass before the resource is marked as successfully created.

health_check {
...
}
AttributeDescription

Timeout timeout required


type: string

The maximum duration to wait before marking the health check as failed.
Expressed as a Go duration, e.g. 1s = 1 second, 100ms = 100 milliseconds.

timeout = ”60s”

Pods pods required


type: []string

An array of kubernetes selector syntax.
The healthcheck ensures that all containers defined by the selector are running before passing the healthcheck.

pods = [“app.kubernetes.io/name=vault”]

These attributes are computed when the config is parsed and applied, and are
therefore only known at parsetime or runtime.