log_level = "trace"
# Setting this value to the empty string will cause consul-template
# to not listen for any reload signals but pass them down to nginx instead.
reload_signal = ""
consul {
retry {
enabled = true
attempts = 10
max_backoff = "1s"
}
}
# See: https://github.com/hashicorp/consul-template/blob/main/docs/modes.md#de-duplication-mode
deduplicate {
# This enables de-duplication mode.
enabled = true
# This is the prefix to the path in Consul's KV store where de-duplication
# templates will be pre-rendered and stored.
prefix = "consul-template/dedup/"
}
template {
source = "templates/service-gateway.conf.ctmpl"
destination = "local/nginx/conf.d/service-gateway.conf"
}
template {
source = "templates/http-status.conf.ctmpl"
destination = "local/nginx/conf.d/http-status.conf"
}
exec {
# We are setting the kill_timeout to the max 5m that Nomad is going to wait before killing consul-template itself
# This way we allow Nomad to be the one controlling the kill_timeout and not consul-template
kill_timeout = "5m"
# It is very important to use the "array" syntax when defining parameters to the command,
# otherwise consul-template does not pass signals correctly to the spawned process.
# See: https://github.com/hashicorp/consul-template#multiple-commands
command = ["nginx"]
}
I would expect deduplication mode to work with the exec mode.
Actual behavior
The leader consul-template renders templates and executes the process but all other consul-templates are blocked on waiting on changes for the templates and never execute the process defined in the exec stanza.
Consul Template version
Configuration
Command
Debug output
Upon request
Expected behavior
I would expect
deduplication
mode to work with theexec
mode.Actual behavior
The leader consul-template renders templates and executes the process but all other consul-templates are blocked on waiting on changes for the templates and never execute the process defined in the
exec
stanza.