Is it possible --from-file ConfigMap using kubernetes_config_map resource?

12/7/2018

I want to deploy metallb using terraform. metallb configuration is as follows.

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - 172.16.99.1-172.16.99.255

Is it possible deploy such --from-file configuration using kubernetes_config_map resource?

-- 石井照幸
kubernetes
terraform

1 Answer

12/7/2018

You can use the file() interpolation function to read the file contents. That might look like:

resource "kubernetes_config_map" "config" {
  metadata {
    namespace = "metallb_system"
    name = "config"
  }
  data {
    config = "${file(${path.module}/config.yml)}"
  }
}

Unlike kubectl create configmap --from-file you do have to specify the filename twice.

-- David Maze
Source: StackOverflow