Skip to content

Olivr/terraform-flux-gitops

Folders and files

NameName
Last commit message
Last commit date
Jul 30, 2021
Jul 30, 2021
Aug 3, 2021
Jul 30, 2021
Jul 30, 2021
Jul 30, 2021
Jul 30, 2021
Jul 30, 2021
Jul 30, 2021
Aug 3, 2021
Jul 30, 2021
Jul 30, 2021
Aug 3, 2021
Jul 30, 2021
Jul 30, 2021
Jul 30, 2021
Jul 30, 2021

Repository files navigation

Requirements

Name Version
terraform ~> 1.0
flux 0.1.10

Providers

Name Version
flux 0.1.10

Modules

No modules.

Resources

Name Type
flux_install.main data source
flux_sync.main data source

Inputs

Name Description Type Default Required
environments Clusters per environments.
map(object({
name = string
clusters = map(object({
name = string
bootstrap = bool
}))
}))
n/a yes
global Global ops repo configuration.
object({
vcs = object({
provider = string
http_url = string
ssh_url = string
branch_default_name = string
})
backends = map(object({
separate_environments = bool
vcs_working_directory = string
}))
})
n/a yes
namespaces Namespaces to be used as isolated tenants.
map(object({
name = string
environments = set(string)
tenant_isolation = bool
repos = map(object({
name = string
type = string
vcs = object({
provider = string
http_url = string
ssh_url = string
branch_default_name = string
})
}))
}))
n/a yes
base_dir Name of the base directory. string "_base" no
cluster_init_path Path to the cluster init module directory if you'd rather use an inline module rather than an external one. string null no
deploy_keys Deploy keys to add to each cluster at bootstrap time. You can pass sensitive values by setting the private_key value to sensitive::key where key refers to a value in sensitive_inputs (defined at run time in the infrastructure backend).
map(map(object({
name = string
namespace = string
known_hosts = string
private_key = string
public_key = string
})))
{} no
infra_dir Name of the infrastructure directory. string "_init" no
init_cluster Remote Terraform module used to bootstrap a cluster (superseeded by cluster_init_path).
object({
module_source = string
module_version = string
})
{
"module_source": "Olivr/init-cluster/flux",
"module_version": null
}
no
local_var_template JSON Terraform variables template with empty values. string "" no
secrets Secrets to add to each cluster at bootstrap time. You can pass sensitive values by setting the private_key value to sensitive::key where key refers to a value in sensitive_inputs (defined at run time in the infrastructure backend).
map(map(object({
name = string
namespace = string
data = map(string)
})))
{} no
tenants_dir Name of the tenants directory. string "tenants" no

Outputs

Name Description
global_files Files to add to global ops repo.
global_files_strict Files to add to global ops repo and that should be tracked for changes.
ns_files Files to add to namespace ops repos.
ns_files_strict Files to add to namespace ops repos and that should be tracked for changes.