package conf

import "sync"

type Config struct {
	SourceMode     string
	AdminRole      string
	PublicKeyPath  string
	PrivateKeyPath string

	LDAPEndpoints  string
	LDAPBindDN     string
	LDAPBindPW     string
	LDAPBaseDN     string
	LDAPRoleBaseDN string

	ClientSecret string

	Auth                   string
	AuthConnectorHost      string
	AuthConnectorPort      int
	AuthConnectorAdminPort int

	PermissionConnectorHost      string
	PermissionConnectorPort      int
	PermissionConnectorAdminPort int
}

var instance *Config
var once sync.Once

func GetConfig() *Config {
	once.Do(func() {
		instance = &Config{}
	})
	return instance
}