Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewK8SBackend ¶
func NewK8SBackend( restConfig *rest.Config, k8sCSet *kubernetes.Clientset, traefikClient *traefikv1alpha1.TraefikV1alpha1Client, certManagerClient *certmanagerv1.Clientset, config Config, ) (domain.Backend, error)
Types ¶
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"` } `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.