package config

import "time"

type JumpGatewayAPIServerConfig struct {
	ListenAddr        string        `yaml:"listenAddr" default:":6443"`
	ReadHeaderTimeout time.Duration `yaml:"readHeaderTimeout" default:"10s"`
	TrustedProxies    []string      `yaml:"trustedProxies"`

	Auth *JumpGatewayAuthConfig `yaml:"auth" validate:"required"`
}

type JumpGatewayAuthConfig struct {
	DevOpsJWKSURL string `yaml:"devopsJWKSURL" validate:"required"`
	Audience      string `yaml:"audience" validate:"required"`
}

type JumpGatewayConfig struct {
	Log       LogConfig                  `yaml:"log"`
	APIServer JumpGatewayAPIServerConfig `yaml:"apiServer"`
}
