Skip to content

Olivr/terraform-flux-gitops

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.

Releases

No releases published

Packages

 
 
 

Contributors