Skip to content

dhoppeIT/terraform-flux-bootstrap_git

Repository files navigation

terraform-flux-bootstrap_git

Terraform module to manage the following Flux resources:

  • flux_bootstrap_git

Usage

Copy and paste the following code snippet to your Terraform configuration, specify the required variables and run the command terraform init.

module "flux_bootstrap_git" {
  source  = "gitlab.com/terraform-child-modules-48151/terraform-flux-bootstrap-git/local"
  version = "1.0.1"

  path = "clusters/example"
}

Requirements

Name Version
terraform >= 1.0
flux ~> 1.5

Providers

Name Version
flux ~> 1.5

Modules

No modules.

Resources

Name Type
flux_bootstrap_git.this resource

Inputs

Name Description Type Default Required
cluster_domain The internal cluster domain string "cluster.local" no
components Toolkit components to include in the install manifest list(string) [ "source-controller", "kustomize-controller", "helm-controller", "notification-controller" ] no
components_extra List of extra components to include in the install manifests list(string) [] no
delete_git_manifests Delete manifests from git repository bool true no
disable_secret_creation Use the existing secret for flux controller and don't create one from bootstrap bool false no
embedded_manifests When enabled, the Flux manifests will be extracted from the provider binary instead of being downloaded from GitHub.com bool false no
flux_version Flux version string "v2.5.1" no
image_pull_secret Kubernetes secret name used for pulling the toolkit images from a private registry string null no
interval Interval at which to reconcile from bootstrap repository string "1m0s" no
keep_namespace Keep the namespace after uninstalling Flux components bool false no
kustomization_override Kustomization to override configuration set by default string null no
log_level Log level for toolkit components string "info" no
namespace The namespace scope for install manifests string "flux-system" no
network_policy Deny ingress access to the toolkit controllers from other namespaces using network policies bool true no
path Path relative to the repository root, when specified the cluster sync will be scoped to this path string null no
recurse_submodules Configures the GitRepository source to initialize and include Git submodules in the artifact it produces bool false no
registry Container registry where the toolkit images are published string "ghcr.io/fluxcd" no
registry_credentials Container registry credentials in the format 'user:password' string null no
secret_name Name of the secret the sync credentials can be found in or stored to string "flux-system" no
timeouts A map of timeouts map(string) {} no
toleration_keys List of toleration keys used to schedule the components pods onto nodes with matching taints list(string) [] no
watch_all_namespaces If true watch for custom resources in all namespaces bool true no

Outputs

Name Description
id The ID of this resource
repository_files Git repository files created and managed by the provider

Authors

Created and maintained by Dennis Hoppe.

License

Apache 2 licensed. See LICENSE for full details.