reloader
This component installs the Stakater Reloader for EKS clusters. reloader
can
watch ConfigMap
s and Secret
s for changes and use these to trigger rolling upgrades on pods and their associated
DeploymentConfig
s, Deployment
s, Daemonset
s Statefulset
s and Rollout
s.
Usage
Stack Level: Regional
Use this in the catalog or use these variables to overwrite the catalog values.
components:
terraform:
eks/reloader:
settings:
spacelift:
workspace_enabled: true
vars:
enabled: true
name: reloader
create_namespace: true
kubernetes_namespace: "reloader"
repository: "https://stakater.github.io/stakater-charts"
chart: "reloader"
chart_version: "v0.0.124"
timeout: 180
Variables
Required Variables
chart
(string
) requiredChart name to be installed. The chart name can be local path, a URL to a chart, or the name of the chart if
repository
is specified. It is also possible to use the<repository>/<chart>
format here if you are running Terraform on a system that the repository has been added to withhelm repo add
but this is not recommended.kubernetes_namespace
(string
) requiredThe namespace to install the release into.
region
(string
) requiredAWS Region
Optional Variables
atomic
(bool
) optionalIf set, installation process purges chart on fail. The wait flag will be set automatically if atomic is used.
Default value:
true
chart_version
(string
) optionalSpecify the exact chart version to install. If this is not specified, the latest version is installed.
Default value:
null
cleanup_on_fail
(bool
) optionalAllow deletion of new resources created in this upgrade when upgrade fails.
Default value:
true
create_namespace
(bool
) optionalCreate the Kubernetes namespace if it does not yet exist
Default value:
true
description
(string
) optionalSet release description attribute (visible in the history).
Default value:
null
eks_component_name
(string
) optionalThe name of the eks component
Default value:
"eks/cluster"
helm_manifest_experiment_enabled
(bool
) optionalEnable storing of the rendered manifest for helm_release so the full diff of what is changing can been seen in the plan
Default value:
false
kube_data_auth_enabled
(bool
) optionalIf
true
, use anaws_eks_cluster_auth
data source to authenticate to the EKS cluster.
Disabled bykubeconfig_file_enabled
orkube_exec_auth_enabled
.Default value:
false
kube_exec_auth_aws_profile
(string
) optionalThe AWS config profile for
aws eks get-token
to useDefault value:
""
kube_exec_auth_aws_profile_enabled
(bool
) optionalIf
true
, passkube_exec_auth_aws_profile
as theprofile
toaws eks get-token
Default value:
false
kube_exec_auth_enabled
(bool
) optionalIf
true
, use the Kubernetes providerexec
feature to executeaws eks get-token
to authenticate to the EKS cluster.
Disabled bykubeconfig_file_enabled
, overrideskube_data_auth_enabled
.Default value:
true
kube_exec_auth_role_arn
(string
) optionalThe role ARN for
aws eks get-token
to useDefault value:
""
kube_exec_auth_role_arn_enabled
(bool
) optionalIf
true
, passkube_exec_auth_role_arn
as the role ARN toaws eks get-token
Default value:
true
kubeconfig_context
(string
) optionalContext to choose from the Kubernetes config file.
If supplied,kubeconfig_context_format
will be ignored.Default value:
""
kubeconfig_context_format
(string
) optionalA format string to use for creating the
kubectl
context name when
kubeconfig_file_enabled
istrue
andkubeconfig_context
is not supplied.
Must include a single%s
which will be replaced with the cluster name.Default value:
""
kubeconfig_exec_auth_api_version
(string
) optionalThe Kubernetes API version of the credentials returned by the
exec
auth pluginDefault value:
"client.authentication.k8s.io/v1beta1"
kubeconfig_file
(string
) optionalThe Kubernetes provider
config_path
setting to use whenkubeconfig_file_enabled
istrue
Default value:
""
kubeconfig_file_enabled
(bool
) optionalIf
true
, configure the Kubernetes provider withkubeconfig_file
and use that kubeconfig file for authenticating to the EKS clusterDefault value:
false
repository
(string
) optionalRepository URL where to locate the requested chart.
Default value:
null
timeout
(number
) optionalTime in seconds to wait for any individual kubernetes operation (like Jobs for hooks). Defaults to
300
secondsDefault value:
null
values
(any
) optionalYAML-valid specification of values to be passed to the helm_release resource
Default value:
null
wait
(bool
) optionalWill wait until all resources are in a ready state before marking the release as successful. It will wait for as long as
timeout
. Defaults totrue
.Default value:
null
Context Variables
The following variables are defined in the context.tf
file of this module and part of the terraform-null-label pattern.
context.tf
file of this module and part of the terraform-null-label pattern.Outputs
Dependencies
Requirements
terraform
, version:>= 1.0.0
aws
, version:>= 4.9.0
helm
, version:>= 2.0
kubernetes
, version:>= 2.7.1, != 2.21.0
Providers
aws
, version:>= 4.9.0
helm
, version:>= 2.0
kubernetes
, version:>= 2.7.1, != 2.21.0
Modules
Name | Version | Source | Description |
---|---|---|---|
eks | 1.5.0 | cloudposse/stack-config/yaml//modules/remote-state | n/a |
iam_roles | latest | ../../account-map/modules/iam-roles | n/a |
this | 0.25.0 | cloudposse/label/null | n/a |
Resources
The following resources are used by this module:
helm_release.this
(resource)kubernetes_namespace.default
(resource)
Data Sources
The following data sources are used by this module:
aws_eks_cluster_auth.eks
(data source)