From 8eb2f4403e924b21784d424df3452c2e165d4fb1 Mon Sep 17 00:00:00 2001 From: Yann Autissier Date: Sat, 18 Jan 2025 16:49:12 +0100 Subject: [PATCH] Add Consul token config Consul Token is used to provide a per-request ACL token --- README.md | 1 + main.go | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/README.md b/README.md index 0cf5be1..da675d5 100644 --- a/README.md +++ b/README.md @@ -87,6 +87,7 @@ suffix in the `suffix` key of the json config file. By default, Bottin connects to the Consul server on localhost. Change this by specifying the `consul_host` key in the json config file. +You may need a `consul_token` to connect to the Consul server. ### Bind addresses diff --git a/main.go b/main.go index 2b37803..b446042 100644 --- a/main.go +++ b/main.go @@ -40,6 +40,7 @@ type ConfigFile struct { ConsulHost string `json:"consul_host"` ConsulConsistent bool `json:"consul_force_consistency"` + ConsulToken string `json:"consul_token"` Acl []string `json:"acl"` @@ -56,6 +57,7 @@ type Config struct { ConsulHost string ConsulConsistent bool + ConsulToken string Acl ACL @@ -114,6 +116,7 @@ func readConfig(logger *log.Logger) Config { ConsulHost: config_file.ConsulHost, ConsulConsistent: config_file.ConsulConsistent, + ConsulToken: config_file.ConsulToken, Acl: acl, } @@ -168,6 +171,9 @@ func main() { if config.ConsulHost != "" { consul_config.Address = config.ConsulHost } + if config.ConsulToken != "" { + consul_config.Token = config.ConsulToken + } consul_client, err := consul.NewClient(consul_config) if err != nil { logger.Fatal(err)