Documentation ¶
Index ¶
- type Backend
- func (b *Backend) AttachContainer(ctx context.Context, appID string, stdin io.Reader, stdout, stderr io.Writer) error
- func (b *Backend) AvailableDomains() domain.AvailableDomainSlice
- func (b *Backend) AvailablePorts() domain.AvailablePortSlice
- func (b *Backend) Dispose(_ context.Context) error
- func (b *Backend) ExecContainer(ctx context.Context, appID string, cmd []string, stdin io.Reader, ...) error
- func (b *Backend) GetContainer(ctx context.Context, appID string) (*domain.Container, error)
- func (b *Backend) ListContainers(ctx context.Context) ([]*domain.Container, error)
- func (b *Backend) ListenContainerEvents() (sub <-chan *domain.ContainerEvent, unsub func())
- func (b *Backend) Start(_ context.Context) error
- func (b *Backend) Synchronize(ctx context.Context, s *domain.DesiredState) error
- type Config
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backend ¶ added in v0.18.0
type Backend struct {
// contains filtered or unexported fields
}
func NewK8SBackend ¶
func NewK8SBackend( restConfig *rest.Config, k8sCSet *kubernetes.Clientset, traefikClient *traefikv1alpha1.TraefikV1alpha1Client, certManagerClient *certmanagerv1.Clientset, config Config, ) (*Backend, error)
func (*Backend) AttachContainer ¶ added in v0.18.0
func (*Backend) AvailableDomains ¶ added in v0.18.0
func (b *Backend) AvailableDomains() domain.AvailableDomainSlice
func (*Backend) AvailablePorts ¶ added in v0.18.0
func (b *Backend) AvailablePorts() domain.AvailablePortSlice
func (*Backend) ExecContainer ¶ added in v0.18.0
func (*Backend) GetContainer ¶ added in v0.18.0
func (*Backend) ListContainers ¶ added in v0.18.0
func (*Backend) ListenContainerEvents ¶ added in v0.18.0
func (b *Backend) ListenContainerEvents() (sub <-chan *domain.ContainerEvent, unsub func())
func (*Backend) Synchronize ¶ added in v0.18.0
type Config ¶
type Config struct { Domains []*domainConf `mapstructure:"domains" yaml:"domains"` Ports []*portConf `mapstructure:"ports" yaml:"ports"` SS struct { Namespace string `mapstructure:"namespace" yaml:"namespace"` Kind string `mapstructure:"kind" yaml:"kind"` Name string `mapstructure:"name" yaml:"name"` Port int `mapstructure:"port" yaml:"port"` Scheme string `mapstructure:"scheme" yaml:"scheme"` } `mapstructure:"ss" yaml:"ss"` Namespace string `mapstructure:"namespace" yaml:"namespace"` Labels []*labelConf `mapstructure:"labels" yaml:"labels"` TLS struct { // cert-manager note: https://doc.traefik.io/traefik/providers/kubernetes-crd/#letsencrypt-support-with-the-custom-resource-definition-provider // needs to enable ingress provider in traefik Type string `mapstructure:"type" yaml:"type"` Traefik struct { CertResolver string `mapstructure:"certResolver" yaml:"certResolver"` Wildcard struct { Domains domain.WildcardDomains `mapstructure:"domains" yaml:"domains"` } `mapstructure:"wildcard" yaml:"wildcard"` } `mapstructure:"traefik" yaml:"traefik"` CertManager struct { Issuer struct { Name string `mapstructure:"name" yaml:"name"` Kind string `mapstructure:"kind" yaml:"kind"` } `mapstructure:"issuer" yaml:"issuer"` Wildcard struct { Domains domain.WildcardDomains `mapstructure:"domains" yaml:"domains"` } `mapstructure:"wildcard" yaml:"wildcard"` } `mapstructure:"certManager" yaml:"certManager"` } `mapstructure:"tls" yaml:"tls"` // ImagePullSecret required if registry is private ImagePullSecret string `mapstructure:"imagePullSecret" yaml:"imagePullSecret"` Scheduling struct { NodeSelector []*nodeSelector `mapstructure:"nodeSelector" yaml:"nodeSelector"` Tolerations []*toleration `mapstructure:"tolerations" yaml:"tolerations"` SpreadConstraints []*spreadConstraint `mapstructure:"spreadConstraints" yaml:"spreadConstraints"` ForceHosts []string `mapstructure:"forceHosts" yaml:"forceHosts"` } `mapstructure:"scheduling" yaml:"scheduling"` Resources struct { Requests struct { CPU string `mapstructure:"cpu" yaml:"cpu"` Memory string `mapstructure:"memory" yaml:"memory"` } `mapstructure:"requests" yaml:"requests"` Limits struct { CPU string `mapstructure:"cpu" yaml:"cpu"` Memory string `mapstructure:"memory" yaml:"memory"` } `mapstructure:"limits" yaml:"limits"` } `mapstructure:"resources" yaml:"resources"` }
Click to show internal directories.
Click to hide internal directories.