Loading...
 

Terraform

search for YAML files in the directory tree and convert the contents to a Terraform Map

Also, accounts for exclusions

locals {
  k8s_services_files = fileset(path.root, "../**/k8s_service.y{a,}ml")
  k8s_services = {
    for kube_file in local.k8s_services_files:
      basename(dirname(kube_file)) => {service: yamldecode(file(kube_file))}
      if !contains(split("/", kube_file), "terraform")
  }
  k8s_deployments_files = fileset(path.root, "../**/k8s_deployment.y{a,}ml")
  k8s_deployments = {
    for kube_file in local.k8s_deployments_files:
      basename(dirname(kube_file)) => {deployment: yamldecode(file(kube_file))}
      if !contains(split("/", kube_file), "terraform")
  }
  k8s = {
    for app, config in local.k8s_services:
        app => merge(config, lookup(local.k8s_deployments, app, {}))
  }
}