summaryrefslogtreecommitdiff
path: root/internal/config/config.go
diff options
context:
space:
mode:
authorIgor Drozdov <idrozdov@gitlab.com>2022-04-06 13:36:20 +0400
committerIgor Drozdov <idrozdov@gitlab.com>2022-04-27 11:13:53 +0400
commit69eafe09a52901890038128a152b42d7b2b913b7 (patch)
tree427f7fc19b5d6ac686f2906ffd79a11325b9a13f /internal/config/config.go
parent792f4bdf9abf140ab34692959dae7cd5a0dfd462 (diff)
downloadgitlab-shell-id-tls-for-metrics-endpoints.tar.gz
Support TLS for metrics endpointsid-tls-for-metrics-endpoints
Our monitoring endpoints are HTTP by default. Let's allow configuring TLS in order to provide TLS on these endpoints
Diffstat (limited to 'internal/config/config.go')
-rw-r--r--internal/config/config.go29
1 files changed, 21 insertions, 8 deletions
diff --git a/internal/config/config.go b/internal/config/config.go
index ff0c79a..c83109d 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -21,15 +21,28 @@ const (
defaultSecretFileName = ".gitlab_shell_secret"
)
+type TlsConfig struct {
+ Certificate string `yaml:"certificate"`
+ Key string `yaml:"key"`
+ MinVersion string `yaml:"min_version"`
+ MaxVersion string `yaml:"max_version"`
+}
+
+type ListenerConfig struct {
+ Addr string `yaml:"addr"`
+ Tls *TlsConfig `yaml:"tls"`
+}
+
type ServerConfig struct {
- Listen string `yaml:"listen,omitempty"`
- ProxyProtocol bool `yaml:"proxy_protocol,omitempty"`
- WebListen string `yaml:"web_listen,omitempty"`
- ConcurrentSessionsLimit int64 `yaml:"concurrent_sessions_limit,omitempty"`
- GracePeriodSeconds uint64 `yaml:"grace_period"`
- ReadinessProbe string `yaml:"readiness_probe"`
- LivenessProbe string `yaml:"liveness_probe"`
- HostKeyFiles []string `yaml:"host_key_files,omitempty"`
+ Listen string `yaml:"listen,omitempty"`
+ ProxyProtocol bool `yaml:"proxy_protocol,omitempty"`
+ WebListen string `yaml:"web_listen,omitempty"`
+ ConcurrentSessionsLimit int64 `yaml:"concurrent_sessions_limit,omitempty"`
+ GracePeriodSeconds uint64 `yaml:"grace_period"`
+ ReadinessProbe string `yaml:"readiness_probe"`
+ LivenessProbe string `yaml:"liveness_probe"`
+ HostKeyFiles []string `yaml:"host_key_files,omitempty"`
+ WebListeners []ListenerConfig `yaml:"web_listeners"`
}
type HttpSettingsConfig struct {