config

package
v0.0.0-...-90cfb48 Latest Latest
Warning

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

Go to latest
Published: May 1, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ENV_PORT                       = "PORT"
	ENV_CONSUL_HOST                = "CONSUL_HOST"
	ENV_CONSUL_KEY                 = "CONSUL_KEY"
	ENV_VAULT_SCHEME               = "VAULT_SCHEME"
	ENV_VAULT_HOST                 = "VAULT_HOST"
	ENV_VAULT_TOKEN                = "VAULT_TOKEN"
	ENV_VAULT_MOUNT_PATH           = "VAULT_MOUNT_PATH"
	ENV_VAULT_AUTH_PUBLIC_KEY_PATH = "VAULT_AUTH_PUBLIC_KEY_PATH"
	ENV_VAULT_CRT_PUBLIC_KEY_PATH  = "VAULT_CRT_PUBLIC_KEY_PATH"
	ENV_VAULT_CRT_PRIVATE_KEY_PATH = "VAULT_CRT_PRIVATE_KEY_PATH"
	ENV_GENERATE_KEYS              = "GENERATE_KEYS"
	ENV_VAULT_TOKENS_STORE         = "VAULT_TOKENS_STORE"
)

Variables

This section is empty.

Functions

func NewVaultClient

func NewVaultClient(env *VaultConfig) (*vault.Client, error)

func VaultAuthPublicKey

func VaultAuthPublicKey(vc *vault.Client, env *VaultConfig) ([]byte, error)

Types

type Config

type Config struct {
	Hosts []Host `yaml:"hosts"`
}

func ReadConsulConfig

func ReadConsulConfig(env *ConsulConfig) (*Config, error)

type ConsulConfig

type ConsulConfig struct {
	Host string `yaml:"host"`
	Key  string `yaml:"key"`
}

type Endpoint

type Endpoint struct {
	Pattern         string   `yaml:"pattern"`
	Methods         []string `yaml:"methods"`
	MwToken         bool     `mapstructure:"mw_token"`
	Authentication  bool     `yaml:"authentication"`
	Roles           []int    `yaml:"roles"`
	HeadersRequired []string `yaml:"headers_required"`
}

type EnvConfig

type EnvConfig struct {
	Vault        VaultConfig  `yaml:"vault"`
	Consul       ConsulConfig `yaml:"consul"`
	Port         string       `yaml:"port"`
	GenerateKeys bool         `yaml:"generate_keys"`
}

func ReadEnv

func ReadEnv() (*EnvConfig, error)

type Host

type Host struct {
	Hostname  string     `yaml:"hostname"`
	Prefix    string     `yaml:"prefix"`
	Endpoints []Endpoint `yaml:"endpoints"`
}

type VaultAuth

type VaultAuth struct {
	PublicKeyPath string `yaml:"public_key_path"`
}

type VaultConfig

type VaultConfig struct {
	Scheme      string        `yaml:"scheme"`
	Host        string        `yaml:"host"`
	Token       string        `yaml:"token"`
	MountPath   string        `yaml:"mount_path"`
	Auth        VaultAuth     `yaml:"auth"`
	CrtStore    VaultCrtStore `yaml:"crt_store"`
	TokensStore string        `yaml:"tokens_store"`
}

type VaultCrtStore

type VaultCrtStore struct {
	PublicKeyPath  string `yaml:"public_key_path"`
	PrivateKeyPath string `yaml:"private_key_path"`
}

Jump to

Keyboard shortcuts

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