config

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2021 License: MIT Imports: 7 Imported by: 7

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultUIBranding = UIBrandingConfig{
	FaviconURL: "https://dsc-misc.s3.amazonaws.com/img/acyl-favicon.png",
	LogoURL:    "https://s3.amazonaws.com/dsc-misc/img/acyl.png",
	LogoHeight: "30",
	LogoStyle:  "d-inline-block align-top mr-1",
	LogoLink:   "https://github.com/dollarshaveclub/acyl",
	LogoAlt:    "Acyl Chloride",
	Title:      "Acyl UI",
}

Functions

This section is empty.

Types

type BackendConfig

type BackendConfig struct {
	AminoAddr string
}

type ConsulConfig

type ConsulConfig struct {
	Addr       string
	LockPrefix string
}

type GithubConfig

type GithubConfig struct {
	HookSecret    string
	Token         string
	TypePath      string // relative path within repo to look for acyl.yml (QAType definition)
	AppID         uint
	PrivateKeyPEM []byte
	AppHookSecret string
	OAuth         GithubOAuthConfig
}

type GithubOAuthConfig added in v0.7.6

type GithubOAuthConfig struct {
	Enforce           bool
	AppInstallationID uint
	ClientID          string
	ClientSecret      string
	CookieAuthKey     [32]byte
	CookieEncKey      [32]byte
	UserTokenEncKey   [32]byte
}

type HelmClientConfig added in v0.9.0

type HelmClientConfig struct {
	HelmDriver  string
	KubeContext string
}

type K8sClientConfig added in v0.7.0

type K8sClientConfig struct {
	JWTPath string
}

K8sClientConfig models the configuration required for a kubernetes client to communicate with the API server

type K8sConfig

type K8sConfig struct {
	// GroupBindings is a map of k8s group name to cluster role
	GroupBindings map[string]string
	// PrivilegedRepoWhitelist is a list of GitHub repositories whose environment service accounts will be given cluster-admin privileges
	PrivilegedRepoWhitelist []string
	// SecretInjections is a map of secret name to value that will be injected into each environment namespace
	SecretInjections map[string]K8sSecret
}

func (*K8sConfig) ProcessGroupBindings

func (kc *K8sConfig) ProcessGroupBindings(gbstr string) error

ProcessGroupBindings takes a comma-separated list of group bindings and populates the GroupBindings field

func (*K8sConfig) ProcessPrivilegedRepos

func (kc *K8sConfig) ProcessPrivilegedRepos(repostr string) error

ProcessPrivilegedRepos takes a comma-separated list of repositories and populates the PrivilegedRepoWhitelist field

func (*K8sConfig) ProcessSecretInjections

func (kc *K8sConfig) ProcessSecretInjections(sf SecretFetcher, injstr string) error

ProcessSecretInjections takes a comma-separated list of injections and uses sf to populate the SecretInjections field

type K8sSecret

type K8sSecret struct {
	Data map[string][]byte `json:"data"`
	Type string            `json:"type"`
}

K8sSecret models a kubernetes secret

type MigrateConfig

type MigrateConfig struct {
	CheckPending  bool
	MetaDataTable string
}

type PGConfig

type PGConfig struct {
	PostgresURI            string
	PostgresMigrationsPath string
	DatadogServiceName     string
	EnableTracing          bool
}

type SecretFetcher

type SecretFetcher interface {
	Get(id string) ([]byte, error)
}

SecretFetcher describes an object that fetches secrets

type SecretsConfig

type SecretsConfig struct {
	Backend pvc.SecretsClientOption
	Mapping string
}

SecretsConfig contains configuration values for retrieving secrets

type ServerConfig

type ServerConfig struct {
	HTTPSPort                  uint
	HTTPSAddr                  string
	DisableTLS                 bool
	TLSCert                    tls.Certificate
	WordnetPath                string
	FuranAddrs                 []string
	APIKeys                    []string
	ReaperIntervalSecs         uint
	EventRateLimitPerSecond    uint
	GlobalEnvironmentLimit     uint
	HostnameTemplate           string
	DatadogServiceName         string
	DebugEndpoints             bool
	DebugEndpointsIPWhitelists []string
	NitroFeatureFlag           bool
	NotificationsDefaultsJSON  string
	OperationTimeoutOverride   time.Duration
	UIBaseURL                  string
	UIPath                     string
	UIBaseRoute                string
	UIBrandingJSON             string
}

type SlackConfig

type SlackConfig struct {
	Username                    string
	IconURL                     string
	Token                       string
	Channel                     string
	MapperRepo                  string
	MapperRepoRef               string
	MapperMapPath               string
	MapperUpdateIntervalSeconds uint
}

type UIBrandingConfig added in v0.7.5

type UIBrandingConfig struct {
	FaviconURL        string            `json:"favicon_url"`
	LogoURL           string            `json:"logo_url"`
	LogoHeight        string            `json:"logo_height"`
	LogoWidth         string            `json:"logo_width"`
	LogoStyle         string            `json:"logo_style"`
	LogoLink          string            `json:"logo_link"`
	LogoAlt           string            `json:"logo_alt"`
	Title             string            `json:"title"`
	TitleStyle        string            `json:"title_style"`
	AdditionalDocURLs map[string]string `json:"additional_doc_urls"`
}

UIBrandingConfig defines optional non-default branding for UI pages

type VaultConfig

type VaultConfig struct {
	Addr        string
	Token       string
	TokenAuth   bool
	K8sAuth     bool
	K8sJWTPath  string
	K8sAuthPath string
	K8sRole     string
	AppID       string
	UserIDPath  string
}

Jump to

Keyboard shortcuts

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