@@ -416,17 +416,23 @@ func getXAuthRequestAccessTokenHeader() Header {
416416}
417417
418418type LegacyServer struct {
419− MetricsAddress string `flag:"metrics-address" cfg:"metrics_address"`
420− HTTPAddress string `flag:"http-address" cfg:"http_address"`
421− HTTPSAddress string `flag:"https-address" cfg:"https_address"`
422− TLSCertFile string `flag:"tls-cert-file" cfg:"tls_cert_file"`
423− TLSKeyFile string `flag:"tls-key-file" cfg:"tls_key_file"`
419+ MetricsAddress string `flag:"metrics-address" cfg:"metrics_address"`
420+ MetricsSecureAddress string `flag:"metrics-secure-address" cfg:"metrics_address"`
421+ MetricsTLSCertFile string `flag:"metrics-tls-cert-file" cfg:"tls_cert_file"`
422+ MetricsTLSKeyFile string `flag:"metrics-tls-key-file" cfg:"tls_key_file"`
423+ HTTPAddress string `flag:"http-address" cfg:"http_address"`
424+ HTTPSAddress string `flag:"https-address" cfg:"https_address"`
425+ TLSCertFile string `flag:"tls-cert-file" cfg:"tls_cert_file"`
426+ TLSKeyFile string `flag:"tls-key-file" cfg:"tls_key_file"`
424427}
425428
426429func legacyServerFlagset() *pflag.FlagSet {
427430 flagSet := pflag.NewFlagSet("server", pflag.ExitOnError)
428431
429432 flagSet.String("metrics-address", "", "the address /metrics will be served on (e.g. \":9100\")")
433+ flagSet.String("metrics-secure-address", "", "the address /metrics will be served on for HTTPS clients (e.g. \":9100\")")
434+ flagSet.String("metrics-tls-cert-file", "", "path to certificate file for secure metrics server")
435+ flagSet.String("metrics-tls-key-file", "", "path to private key file for secure metrics server")
430436 flagSet.String("http-address", "127.0.0.1:4180", "[http://]<addr>:<port> or unix://<path> to listen on for HTTP clients")
431437 flagSet.String("https-address", ":443", "<addr>:<port> to listen on for HTTPS clients")
432438 flagSet.String("tls-cert-file", "", "path to certificate file")
@@ -458,7 +464,18 @@ func (l LegacyServer) convert() (Server, Server) {
458464 }
459465
460466 metricsServer := Server{
461− BindAddress: l.MetricsAddress,
467+ BindAddress: l.MetricsAddress,
468+ SecureBindAddress: l.MetricsSecureAddress,
469+ }
470+ if l.MetricsTLSKeyFile != "" || l.MetricsTLSCertFile != "" {
471+ metricsServer.TLS = &TLS{
472+ Key: &SecretSource{
473+ FromFile: l.MetricsTLSKeyFile,
474+ },
475+ Cert: &SecretSource{
476+ FromFile: l.MetricsTLSCertFile,
477+ },
478+ }
462479 }
463480
464481 return appServer, metricsServer