open-nomad/nomad/structs/config
Chelsea Komlo 2dfda33703 Nomad agent reload TLS configuration on SIGHUP (#3479)
* Allow server TLS configuration to be reloaded via SIGHUP

* dynamic tls reloading for nomad agents

* code cleanup and refactoring

* ensure keyloader is initialized, add comments

* allow downgrading from TLS

* initalize keyloader if necessary

* integration test for tls reload

* fix up test to assert success on reloaded TLS configuration

* failure in loading a new TLS config should remain at current

Reload only the config if agent is already using TLS

* reload agent configuration before specific server/client

lock keyloader before loading/caching a new certificate

* introduce a get-or-set method for keyloader

* fixups from code review

* fix up linting errors

* fixups from code review

* add lock for config updates; improve copy of tls config

* GetCertificate only reloads certificates dynamically for the server

* config updates/copies should be on agent

* improve http integration test

* simplify agent reloading storing a local copy of config

* reuse the same keyloader when reloading

* Test that server and client get reloaded but keep keyloader

* Keyloader exposes GetClientCertificate as well for outgoing connections

* Fix spelling

* correct changelog style
2017-11-14 17:53:23 -08:00
..
consul.go Update consul/api and comment to custom http.Client 2017-05-30 15:11:32 -07:00
README.md Create a nomad/structs/config to break an import cycle. 2016-06-10 15:48:36 -04:00
sentinel.go sync 2017-09-19 10:08:23 -05:00
tls.go Nomad agent reload TLS configuration on SIGHUP (#3479) 2017-11-14 17:53:23 -08:00
vault.go Check capabilities, allow creation against role 2017-01-19 13:40:32 -08:00
vault_test.go Add role to merge test 2017-02-01 16:37:08 -08:00

Overview

nomad/structs/config is a package for configuration structs that are shared among packages that needs the same struct definitions, but can't import each other without creating a cyle. This config package must be terminal in the import graph (or very close to terminal in the dependency graph).