Skip to content

Terraform module to install Flux CD in a Kubernetes cluster (With optional Helm Operator)

License

Notifications You must be signed in to change notification settings

rtlnl/terraform-kubernetes-flux

Repository files navigation

Flux Terraform Module

This module will let you install Flux CD (https://fluxcd.io/) on a Kubernetes cluster.

Take a look at the example for a minimal example on how to call the module in your main.tf file.

Requirements

No requirements.

Providers

Name Version
kubernetes n/a
null n/a

Inputs

Name Description Type Default Required
flux_arguments Arguments supplied to the flux container, for reference check the following: https://docs.fluxcd.io/en/latest/references/daemon/ list(string)
[
"--log-format=fmt",
"--ssh-keygen-dir=/var/fluxd/keygen",
"--ssh-keygen-format=RFC4716",
"--git-readonly=false",
"--git-user=Weave Flux",
"--git-email=support@weave.works",
"--git-verify-signatures=false",
"--git-set-author=false",
"--git-poll-interval=1m",
"--git-timeout=20s",
"--sync-interval=5m",
"--git-ci-skip=false",
"--automation-interval=1m",
"--registry-rps=200",
"--registry-burst=125",
"--registry-trace=false",
"--sync-state=git",
"--memcached-service=",
"--memcached-hostname=flux-memcached"
]
no
flux_replicas How many instances of flux should be created number 1 no
flux_resources Resources to give to the flux deployment map(string)
{
"cpu": "50m",
"memory": "64Mi"
}
no
flux_version SemVer version of Flux string "1.20.0" no
git_branch Git branch that flux should monitor string "master" no
git_path Git path that flux should monitor string "" no
git_url Github repository that should be monitored by Flux string n/a yes
helm_operator_arguments Command line arguments supplied to the helm operator, check out https://docs.fluxcd.io/projects/helm-operator/en/stable/references/operator/ list(string)
[
"--enabled-helm-versions=v3",
"--log-format=fmt",
"--git-timeout=20s",
"--git-poll-interval=5m",
"--charts-sync-interval=3m",
"--status-update-interval=30s",
"--update-chart-deps=true",
"--log-release-diffs=false",
"--workers=4"
]
no
helm_operator_name Name of the helm operator resources string "helm-operator" no
helm_operator_replicas How many instances of the helm operator should be created number 1 no
helm_operator_resources Resources to give to the helm operator deployment map(string)
{
"cpu": "50m",
"memory": "64Mi"
}
no
helm_operator_version SemVer Version of the helm operator string "1.1.0" no
install_helm_operator Whether the helm operator should be installed next to Flux, will only work with Helm v3 by default, change the helm_operator_arguments to make it support v2. bool n/a yes
install_memcached Whether to create an instance of Memcached alongside the Flux deployment bool true no
memcached_arguments Command line arguments supplied to memcached list(string)
[
"-m 512",
"-p 11211",
"-I 5m"
]
no
memcached_replicas How many instances of memcached should be created number 1 no
memcached_resources Resources to give to memcached deployment map(string)
{
"cpu": "50m",
"memory": "64Mi"
}
no
memcached_version SemVer Version of memcached string "1.5.20" no
namespace Name of namespace where module should be installed string "flux" no

Outputs

No output.

About

Terraform module to install Flux CD in a Kubernetes cluster (With optional Helm Operator)

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages