app

package
v0.0.0-...-9ffa3d9 Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2022 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AcmeConfig

type AcmeConfig struct {
	Server url.URL      `validate:"required"`
	Email  mail.Address `validate:"required"`
}

func (*AcmeConfig) UnmarshalYAML

func (c *AcmeConfig) UnmarshalYAML(value *yaml.Node) error

type AzureBlobStateConfig

type AzureBlobStateConfig struct {
	Url url.URL `validate:"required"`
}

func (*AzureBlobStateConfig) UnmarshalYAML

func (c *AzureBlobStateConfig) UnmarshalYAML(value *yaml.Node) error

type AzureKeyVaultStateConfig

type AzureKeyVaultStateConfig struct {
	Url             url.URL `validate:"required"`
	KeyName         string  `validate:"required,dns_rfc1035_label"`
	EmailSecretName string  `validate:"required,dns_rfc1035_label"`
}

func (*AzureKeyVaultStateConfig) UnmarshalYAML

func (c *AzureKeyVaultStateConfig) UnmarshalYAML(value *yaml.Node) error

type Certificate

type Certificate struct {
	Metadata  CertificateMetadata  `validate:"required"`
	Source    CertificateSource    `validate:"required"`
	Validator string               `validate:"required"`
	Installer CertificateInstaller `validate:"required"`
	Policy    *CertificatePolicy
}

type CertificateInstaller

type CertificateInstaller struct {
	Type     string `validate:"required"`
	Location string `validate:"required"`
}

type CertificateMetadata

type CertificateMetadata struct {
	Name    string   `validate:"required"`
	Domains []string `validate:"required,dive,required"`
}

type CertificatePolicy

type CertificatePolicy struct {
	RenewBefore time.Duration `validate:"required"`
}

func (*CertificatePolicy) UnmarshalYAML

func (c *CertificatePolicy) UnmarshalYAML(value *yaml.Node) error

type CertificateSource

type CertificateSource struct {
	Type     string `validate:"required"`
	Location string `validate:"required"`
}

type Config

type Config struct {
	Acme         AcmeConfig        `validate:"required"`
	State        StateConfig       `validate:"required"`
	GlobalPolicy CertificatePolicy `validate:"required"`
	Validators   []Validator       `validate:"required,dive,required"`
	Certs        []Certificate     `validate:"required,dive,required"`
}

func Load

func Load(path string) (*Config, error)

type LocalStateConfig

type LocalStateConfig struct {
	Directory string `validate:"required,file"`
}

type SqlStateConfig

type SqlStateConfig struct {
	Driver           string `validate:"required"`
	ConnectionString string `validate:"required"`
}

type StateConfig

type StateConfig struct {
	Local         *LocalStateConfig
	Sql           *SqlStateConfig
	AzureBlob     *AzureBlobStateConfig
	AzureKeyVault *AzureKeyVaultStateConfig
}

type Validator

type Validator struct {
	Name   string `validate:"required"`
	Dns01  string `validate:"required"`
	Http01 int    `validate:"required,max=65535"`
}

Jump to

Keyboard shortcuts

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