config

package
v0.31.10 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2020 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Credentials

type Credentials struct {
	User           *secret.Secret
	APIKey         *secret.Secret
	UserServiceKey *secret.Secret
}

type ExternalConfig

type ExternalConfig struct {
	Verbose       bool
	Domain        string
	IP            orbiter.IPAddress
	Rules         []*Rule
	Groups        []*Group     `yaml:"groups"`
	Credentials   *Credentials `yaml:"credentials"`
	Prefix        string       `yaml:"prefix"`
	AdditionalDNS []*Subdomain `yaml:"additionalSubdomains,omitempty"`
}

func (*ExternalConfig) Internal

func (e *ExternalConfig) Internal(namespace string, labels map[string]string) (*InternalConfig, *current)

func (*ExternalConfig) Validate

func (e *ExternalConfig) Validate() error

type Filter

type Filter struct {
	Description           string   `yaml:"description"`
	Targets               []string `yaml:"targets"`
	TargetGroups          []string `yaml:"targetgroups"`
	Sources               []string `yaml:"sources"`
	SourceGroups          []string `yaml:"sourcegroups"`
	ContainsTargets       []string `yaml:"containstargets"`
	ContainsTargetsGroups []string `yaml:"containstargetsgroups"`
	SSL                   string   `yaml:"ssl"`
}

type Group

type Group struct {
	Name string   `yaml:"name"`
	List []string `yaml:"list"`
}

type InternalConfig

type InternalConfig struct {
	Domains            []*InternalDomain `yaml:"domains"`
	Groups             []*Group          `yaml:"groups"`
	Credentials        *Credentials
	Prefix             string
	Namespace          string
	OriginCASecretName string
	Labels             map[string]string
}

type InternalDomain

type InternalDomain struct {
	Domain     string       `yaml:"domain"`
	Origin     *Origin      `yaml:"origin"`
	Subdomains []*Subdomain `yaml:"subdomains"`
	Rules      []*Rule      `yaml:"rules"`
}

type Origin

type Origin struct {
	Key         *secret.Secret
	Certificate *secret.Secret
}

type Rule

type Rule struct {
	Description string    `yaml:"description"`
	Priority    int       `yaml:"priority"`
	Action      string    `yaml:"action"`
	Filters     []*Filter `yaml:"filters"`
}

type Subdomain

type Subdomain struct {
	Subdomain string `yaml:"subdomain"`
	IP        string `yaml:"ip"`
	Proxied   bool   `yaml:"proxied"`
	TTL       int    `yaml:"ttl"`
	Type      string `yaml:"type"`
	Priority  int    `yaml:"priority"`
}

Jump to

Keyboard shortcuts

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