I've got this in place for apps, which specifies some extras for Minio, Argo etc. There are probably better ways.
resource "rancher2_app_v2" "apps" {
for_each = { for app in var.apps : app.name => app }
labels = { for k, v in each.value.labels : k => v }
name = each.value.name
namespace = rancher2_namespace.namespaces[each.value.proj_name].name
project_id = rancher2_namespace.namespaces[each.value.proj_name].project_id
cluster_id = var.cluster_id
chart_name = each.value.chart_name
repo_name = each.value.repo_name
values = length(trim(each.value.values, " \t\n")) > 0 ? templatefile("${path.module}/${each.value.values}", merge(
each.value.template_vars,
local.minio_secrets,
local.nvm_secrets,
local.argo_ldap_secrets,
{
argo_clients = var.argo_clients
argo_gke_clients = local.argo_gke_clients
env = var.env
}
)
) : ""
}