options refactor (#1088)

* refactor config loading

* wip

* move autocert to its own config source

* refactor options updaters

* fix stuttering

* fix autocert validate check
This commit is contained in:
Caleb Doxsey 2020-07-16 14:30:15 -06:00 committed by GitHub
parent eef4c6f2c0
commit d3a7ee38be
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 385 additions and 489 deletions

View file

@ -141,17 +141,16 @@ func (srv *Server) Run(ctx context.Context) error {
return eg.Wait()
}
// UpdateOptions updates the pomerium config options.
func (srv *Server) UpdateOptions(options config.Options) error {
// OnConfigChange updates the pomerium config options.
func (srv *Server) OnConfigChange(cfg *config.Config) {
select {
case <-srv.configUpdated:
default:
}
prev := srv.currentConfig.Load()
srv.currentConfig.Store(versionedOptions{
Options: options,
Options: *cfg.Options,
version: prev.version + 1,
})
srv.configUpdated <- struct{}{}
return nil
}