kubernetai

package
v0.0.0-...-6304267 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2024 License: Apache-2.0 Imports: 11 Imported by: 1

Documentation

Overview

Package kubernetai implements a plugin which can embed a number of kubernetes plugins in the same dns server.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Name

func Name() string

Name is the name of the plugin.

Types

type Kubernetai

type Kubernetai struct {
	Zones      []string
	Kubernetes []embeddedKubernetesPluginInterface
	// contains filtered or unexported fields
}

Kubernetai handles multiple Kubernetes

func New

func New(zones []string) (Kubernetai, *kubernetes.Kubernetes)

New creates a Kubernetai containing one Kubernetes with zones

func Parse

func Parse(c *caddy.Controller) (*Kubernetai, error)

Parse parses multiple kubernetes into a kubernetai

func (Kubernetai) AutoPath

func (k8i Kubernetai) AutoPath(state request.Request) []string

AutoPath routes AutoPath requests to the authoritative kubernetes.

func (Kubernetai) Health

func (k8i Kubernetai) Health() bool

Health implements the health.Healther interface.

func (Kubernetai) Name

func (Kubernetai) Name() string

Name implements the Handler interface.

func (Kubernetai) ServeDNS

func (k8i Kubernetai) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (rcode int, err error)

ServeDNS routes requests to the authoritative kubernetes. It implements the plugin.Handler interface.

func (Kubernetai) Transfer

func (k8i Kubernetai) Transfer(zone string, serial uint32) (retCh <-chan []dns.RR, err error)

Transfer supports the transfer plugin, implementing the Transferer interface, by calling Transfer on each of the embedded plugins. It will return a channel to the FIRST kubernetai stanza that reports that it is authoritative for the requested zone.

Jump to

Keyboard shortcuts

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