Documentation ¶
Index ¶
- type Client
- func (c *Client) CheckDNSProvider(ctx context.Context) (Provider, error)
- func (c *Client) ConfigureCoreDNS(ctx context.Context, dnsServiceNamespace, dnsServiceName string, ...) error
- func (c *Client) ConfigureKubeDNS(ctx context.Context, dnsServiceNamespace, dnsServiceName string, ...) error
- func (c *Client) RestoreCoreDNS(ctx context.Context) error
- func (c *Client) RestoreKubeDNS(ctx context.Context) error
- type Provider
- type Server
- type ShadowServiceResolver
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client holds the client for interacting with the k8s DNS system.
func NewClient ¶
func NewClient(logger logrus.FieldLogger, kubeClient kubernetes.Interface) *Client
NewClient returns an initialized DNSClient object.
func (*Client) CheckDNSProvider ¶
CheckDNSProvider checks that the DNS provider deployed in the cluster is supported and returns it.
func (*Client) ConfigureCoreDNS ¶
func (c *Client) ConfigureCoreDNS(ctx context.Context, dnsServiceNamespace, dnsServiceName string, dnsServicePort int32) error
ConfigureCoreDNS patches the CoreDNS configuration for Traefik Mesh.
func (*Client) ConfigureKubeDNS ¶
func (c *Client) ConfigureKubeDNS(ctx context.Context, dnsServiceNamespace, dnsServiceName string, dnsServicePort int32) error
ConfigureKubeDNS patches the KubeDNS configuration for Traefik Mesh.
func (*Client) RestoreCoreDNS ¶
RestoreCoreDNS restores the CoreDNS configuration to pre-install state.
type Server ¶
Server is a DNS server forwarding A requests to the configured resolver.
func NewServer ¶
func NewServer(port int32, resolver *ShadowServiceResolver, logger logrus.FieldLogger) *Server
NewServer creates and returns a new DNS server.
type ShadowServiceResolver ¶
type ShadowServiceResolver struct {
// contains filtered or unexported fields
}
ShadowServiceResolver is a DNS resolver implementation which resolves the shadow service ClusterIP corresponding to a subdomain. The subdomain must be of form: name.namespace.domain where name and namespace match the shadowed service metadata and domain the configured domain.
func NewShadowServiceResolver ¶
func NewShadowServiceResolver(domain, namespace string, serviceLister listers.ServiceLister) *ShadowServiceResolver
NewShadowServiceResolver creates and returns a new resolver.
func (*ShadowServiceResolver) Domain ¶
func (r *ShadowServiceResolver) Domain() string
Domain returns the configured domain.
func (*ShadowServiceResolver) LookupFQDN ¶
func (r *ShadowServiceResolver) LookupFQDN(fqdn string) (net.IP, error)
LookupFQDN returns the ClusterIP of the Shadow Service corresponding to the given FQDN.