kubelego

package
v0.0.0-...-bac4b8f Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const AcmeHttpChallengePath = "/.well-known/acme-challenge"
View Source
const AcmeHttpSelfTest = "/.well-known/acme-challenge/_selftest"
View Source
const AcmePrivateKey = k8sApi.TLSPrivateKeyKey
View Source
const AcmeRegistration = "acme-registration.json"
View Source
const AcmeRegistrationUrl = "acme-registration-url"
View Source
const AnnotationIngressChallengeEndpoints = "kubernetes.io/tls-acme-challenge-endpoints"
View Source
const AnnotationIngressChallengeEndpointsHash = "kubernetes.io/tls-acme-challenge-endpoints-hash"
View Source
const AnnotationIngressClass = "kubernetes.io/ingress.class"
View Source
const AnnotationIngressProvider = "kubernetes.io/ingress.provider"
View Source
const AnnotationKubeLegoManaged = "kubernetes.io/kube-lego-managed"
View Source
const AnnotationSslRedirect = "ingress.kubernetes.io/ssl-redirect"
View Source
const AnnotationWhitelistSourceRange = "ingress.kubernetes.io/whitelist-source-range"
View Source
const DefaultRsaKeySize = 2048
View Source
const TLSCaKey = "ca.crt"
View Source
const TLSCertKey = k8sApi.TLSCertKey
View Source
const TLSPrivateKeyKey = k8sApi.TLSPrivateKeyKey

Variables

View Source
var AnnotationEnabled = "kubernetes.io/tls-acme"
View Source
var LegoServiceSelector = "kube-lego"
View Source
var SupportedIngressClasses = []string{"nginx", "gce"}
View Source
var SupportedIngressProviders = []string{"nginx", "gce"}

Functions

This section is empty.

Types

type Acme

type Acme interface {
	ObtainCertificate(domains []string) (map[string][]byte, error)
}

type Ingress

type Ingress interface {
	Object() *k8sExtensions.Ingress
	KubeLego() KubeLego
	Log() *logrus.Entry
	Save() error
	Delete() error
	IngressClass() string
	IngressProvider() string
	Tls() []Tls
	Ignore() bool
}

type IngressProvider

type IngressProvider interface {
	Log() *logrus.Entry
	Process(Ingress) error
	Reset() error
	Finalize() error
}

type KubeLego

type KubeLego interface {
	KubeClient() *kubernetes.Clientset
	Log() *logrus.Entry
	AcmeClient() Acme
	LegoHTTPPort() intstr.IntOrString
	LegoEmail() string
	LegoURL() string
	LegoNamespace() string
	LegoWatchNamespace() string
	LegoIngressNameNginx() string
	LegoServiceNameNginx() string
	LegoServiceNameGce() string
	LegoDefaultIngressClass() string
	LegoDefaultIngressProvider() string
	LegoSupportedIngressClass() []string
	LegoSupportedIngressProvider() []string
	LegoCheckInterval() time.Duration
	LegoMinimumValidity() time.Duration
	ExponentialBackoffMaxElapsedTime() time.Duration
	ExponentialBackoffInitialInterval() time.Duration
	ExponentialBackoffMultiplier() float64
	LegoPodIP() net.IP
	LegoRsaKeySize() int
	IngressProvider(string) (IngressProvider, error)
	Version() string
	AcmeUser() (map[string][]byte, error)
	SaveAcmeUser(map[string][]byte) error
}

type Secret

type Secret interface {
	Object() *k8sApi.Secret
	KubeLego() KubeLego
	Exists() bool
	Save() error
	TlsDomains() ([]string, error)
	TlsDomainsInclude(domains []string) bool
	TlsExpireTime() (time.Time, error)
}

type Service

type Service interface {
	Object() *k8sApi.Service
	SetKubeLegoSpec()
	SetEndpoints([]string) error
	Save() error
	Delete() error
}

type Tls

type Tls interface {
	Hosts() []string
	SecretMetadata() *k8sApi.ObjectMeta
	IngressMetadata() *k8sApi.ObjectMeta
	Process() error
}

Jump to

Keyboard shortcuts

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