config

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2024 License: MPL-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Port int    `hcl:"port,optional"`
	Bind string `hcl:"bind,optional"`

	LogLevel string    `hcl:"log_level,optional"`
	Tls      *ProxyTLS `hcl:"tls,block"`

	Nomad      *NomadServer `hcl:"nomad,block"`
	Validators []Validator  `hcl:"validator,block"`
	Mutators   []Mutator    `hcl:"mutator,block"`
}

func DefaultConfig

func DefaultConfig() *Config

func LoadConfig

func LoadConfig(name string) (*Config, error)

type Mutator

type Mutator struct {
	Type    string   `hcl:"type,label"`
	Name    string   `hcl:"name,label"`
	OpaRule *OpaRule `hcl:"opa_rule,block"`
	Webhook *Webhook `hcl:"webhook,block"`
}

type NomadServer

type NomadServer struct {
	Address string          `hcl:"address"`
	TLS     *NomadServerTLS `hcl:"tls,block"`
}

type NomadServerTLS

type NomadServerTLS struct {
	CaFile             string `hcl:"ca_file"`
	CertFile           string `hcl:"cert_file"`
	KeyFile            string `hcl:"key_file"`
	InsecureSkipVerify bool   `hcl:"insecure_skip_verify,optional"`
}

type NotationVerifierConfig added in v0.5.0

type NotationVerifierConfig struct {
	TrustPolicyFile     string `hcl:"trust_policy_file"`
	TrustStoreDir       string `hcl:"trust_store_dir"`
	RepoPlainHTTP       bool   `hcl:"repo_plain_http,optional"`
	MaxSigAttempts      int    `hcl:"max_sig_attempts,optional"`
	CredentialStoreFile string `hcl:"credential_store_file,optional"`
}

type OpaRule

type OpaRule struct {
	Query    string                  `hcl:"query"`
	Filename string                  `hcl:"filename"`
	Notation *NotationVerifierConfig `hcl:"notation,block"`
}

type ProxyTLS added in v0.0.3

type ProxyTLS struct {
	CertFile     string `hcl:"cert_file"`
	KeyFile      string `hcl:"key_file"`
	CaFile       string `hcl:"ca_file"`
	NoClientCert bool   `hcl:"no_client_cert,optional"`
}

type Validator

type Validator struct {
	Type    string   `hcl:"type,label"`
	Name    string   `hcl:"name,label"`
	OpaRule *OpaRule `hcl:"opa_rule,block"`
	Webhook *Webhook `hcl:"webhook,block"`

	Notation *NotationVerifierConfig `hcl:"notation,block"`
}

type Webhook added in v0.0.3

type Webhook struct {
	Endpoint string `hcl:"endpoint"`
	Method   string `hcl:"method"`
}

Jump to

Keyboard shortcuts

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