config

package
v0.0.0-...-1ed9f32 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2021 License: MIT Imports: 29 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Menus []*Menu

Functions

func NewMenu

func NewMenu(filename string)

func NewSettingFile

func NewSettingFile()

Types

type Audience

type Audience string

Audience

func (Audience) String

func (a Audience) String() string

type Audiences

type Audiences []string

func (Audiences) SetValue

func (a Audiences) SetValue() oauth2.AuthCodeOption

func (Audiences) String

func (a Audiences) String() string

type Auth

type Auth struct {
	Path     string `yaml:"path"`
	Login    string `yaml:"login"`
	Callback string `yaml:"callback"`
	Logout   string `yaml:"logout"`
	UserInfo string `yaml:"userinfo"`
}

func NewAuthConfig

func NewAuthConfig(filename string) Auth

type Authenticator

type Authenticator struct {
	Provider   *oidc.Provider
	Config     oauth2.Config
	OidcConfig OidcConfig
}

func (*Authenticator) SetValues

func (auth *Authenticator) SetValues() []oauth2.AuthCodeOption

type CaName

type CaName struct {
	Contry             []string `yaml:"country"`
	Province           []string `yaml:"province"`
	Locality           []string `yaml:"locality"`
	OrganizationalUnit []string `yaml:"organizational_unit"`
	Organization       []string `yaml:"organization"`
	CommonName         string   `yaml:"common_name"`
	Years              int      `yaml:"years"`
	Serial             int64    `yaml:"serial"`
	Refresh            bool     `yaml:"refresh"`
}

func NewCaName

func NewCaName(filename string) CaName

func (CaName) GenerateCA

func (caName CaName) GenerateCA() error

func (CaName) GenerateCAPublicKey

func (caName CaName) GenerateCAPublicKey() (*rsa.PublicKey, error)

func (CaName) GenerateClient

func (caName CaName) GenerateClient() (*rsa.PrivateKey, *ssh.Certificate, error)

func (CaName) ReadCAPrivateKey

func (caName CaName) ReadCAPrivateKey() (*rsa.PrivateKey, error)

func (CaName) ReadCASSHPublicKey

func (caName CaName) ReadCASSHPublicKey() ([]byte, error)

func (CaName) ReadCertificate

func (caName CaName) ReadCertificate() (*x509.Certificate, error)

func (CaName) SavePublicKey

func (caName CaName) SavePublicKey() error

type Config

type Config struct {
	RedisEndpoints []string `yaml:"redis_endpoints"`
	RedisUsername  string   `yaml:"redis_username"`
	RedisPassword  string   `yaml:"redis_password"`
	CertFile       string   `yaml:"cert_file"`
	KeyFile        string   `yaml:"key_file"`
	Port           int      `yaml:"port"`
	LogLevel       string   `yaml:"log_level"`
	AuthType       string   `yaml:"-"`
	Plugins        Plugins  `yaml:"plugins"`
}

func NewConfig

func NewConfig(filename string) Config

type LoadBalancer

type LoadBalancer struct {
	// Domain     string     `yaml:"domain"`
	Locations  []Location `yaml:"locations"`
	Upstream   []Upstream `yaml:"upstream"`
	Portal     bool       `yaml:"portal"`
	DefaultURL string     `yaml:"default_url"`
}

func NewLoadBalancer

func NewLoadBalancer(filename string) LoadBalancer

type Location

type Location struct {
	Path      string            `yaml:"path"`
	TokenType string            `yaml:"token_type"`
	Upstream  []string          `yaml:"upstream"`
	Rewrite   map[string]string `yaml:"rewrite"`
	Plugins   Plugins           `yaml:"plugins"`
}
type Menu struct {
	Name        string `yaml:"name"`
	Description string `yaml:"description"`
	Path        string `yaml:"path"`
	Current     bool   `yaml:"-"`
	Thumbnail   string `yaml:"thumbnail"`
}

type OidcConfig

type OidcConfig struct {
	Scopes       []string `yaml:"scopes"`
	Provider     string   `yaml:"provider"`
	ClientId     string   `yaml:"client_id"`
	ClientSecret string   `yaml:"client_secret"`
	CallbackUrl  string   `yaml:"callback_url"`
	Logout       string   `yaml:"logout"`
	Audiences    []string `yaml:"audiences"`
}

func NewOidcConfig

func NewOidcConfig(filename string) OidcConfig

type Plugins

type Plugins struct {
	Transport []string `yaml:"request_transport"`
	Response  []string `yaml:"response_modify"`
}

type SamlConfig

type SamlConfig struct {
	IdpMetadata                 string `yaml:"idp_metadata"`
	ServiceProviderIssuer       string `yaml:"service_provider_issuer"`
	AssertionConsumerServiceUrl string `yaml:"assertion_consumer_service_url"`
	AudienceUri                 string `yaml:"audience_uri"`
}

func NewSamlConfig

func NewSamlConfig(filename string) SamlConfig

func (SamlConfig) IsFile

func (s SamlConfig) IsFile() bool

func (SamlConfig) Load

func (s SamlConfig) Load() (sp *saml2.SAMLServiceProvider, err error)

type SettingFile

type SettingFile struct {
	Directory    string `envconfig:"DIRECTORY" default:""`
	Loadbalancer string `envconfig:"LOAD_BALANCER" default:"loadbalancer.yml"`
	Config       string `envconfig:"CONFIG" default:"config.yml"`
	Oidc         string `envconfig:"OIDC" default:"oidc.yml"`
	Saml         string `envconfig:"SAML" default:"saml.yml"`
	Auth         string `envconfig:"AUTH" default:"auth.yml"`
	Menu         string `envconfig:"MENU" default:"menu.yml"`
	Storage      string `envconfig:"Storage" default:"storage.yml"`
	Certificate  string `envconfig:"CA_FILE_NAME" default:"ca.yml"`
}
var File SettingFile

func (SettingFile) ConvertPluginConfig

func (s SettingFile) ConvertPluginConfig() *plugins.Config

type StorageConfig

type StorageConfig struct {
	Type      string      `yaml:"type"`
	Endpoints []string    `yaml:"endpoints"`
	Username  string      `yaml:"username"`
	Password  string      `yaml:"password"`
	TLSConfig *tls.Config `yaml:"-"`
}

func NewStorageConfig

func NewStorageConfig(filename string) StorageConfig

type Upstream

type Upstream struct {
	Name   string                 `yaml:"name"`
	URL    string                 `yaml:"url"`
	Weight float64                `yaml:"weight"`
	Meta   map[string]interface{} `yaml:"meta"`
}

func (Upstream) GetURL

func (b Upstream) GetURL() *url.URL

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL