Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
495 views
in Technique[技术] by (71.8m points)

docker - Traefik 2 parsing ENV directly into map in golang template?

I want to load configurations in a dockerized traefik 2 using environment variables.

To achieve this I would like to use the golang template capabilities in traefiks dynamic file configuration.

I tried several approaches (I'm posting my json test here) but I can not seem to be able to parse the ENV into a map. Is there any other way I could achieve this?

docker-compose.yml:

version: "2.4"
services:
  internal-gateway:
    image: my-internal-gateway
    environment:
      MY_MAPPINGS: >-
        {
          "microservice1": {"host": "service1:1234"},
          "microservice2": {"host": "service2:4321"}
        }

My dynamic-traefik-configuration.yml:

http:
  routers:
    {{range $k, $v := env "MY_MAPPINGS"}}
    router-{{ $k }}:
      rule: "PathPrefix(`/{{ $k }}`)"
      service: {{ $k }}
    {{end}}

  services:
    {{range $k, $v := env "MY_MAPPINGS"}}
    {{ $k }}:
      loadBalancer:
        servers:
          - url: "{{ $v.host }}"
    {{end}}
question from:https://stackoverflow.com/questions/65944404/traefik-2-parsing-env-directly-into-map-in-golang-template

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...