client

package
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2023 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Overview

Package client contains client code for external APIs

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CompareSubnamesAndAddresses added in v0.6.4

func CompareSubnamesAndAddresses(
	firstSubnames []string, firstAddress string, secondSubnames []string, secondAddress string,
) bool

func GetMemberRecords added in v0.8.0

func GetMemberRecords(
	ctx context.Context, zoneDomainName string, controller ztcontrollers.Controller,
	network zerotier.ControllerNetwork, memberAddresses []string,
	subnameRRsets map[string][]desec.RRset,
	c *ztc.Client,
) (map[string]Member, error)

func GetNetworkID

func GetNetworkID(txtRecords []string) (string, bool)

func GetNetworkIDs

func GetNetworkIDs(subnameRRsets map[string][]desec.RRset) map[string]string

func GetRecordsOfType added in v0.8.0

func GetRecordsOfType(
	subnameRRsets map[string][]desec.RRset, rrsetType string,
) (records map[string][]string, err error)

func IdentifyAddressDomainNames added in v0.8.0

func IdentifyAddressDomainNames(
	subnameRRsets map[string][]desec.RRset,
) (addressDomainNames map[string][]string, err error)

func IdentifyDomainNames added in v0.8.0

func IdentifyDomainNames(
	zoneDomainName string, member zerotier.ControllerNetworkMember,
	addressDomainNames map[string][]string,
) (domainNames []string, subnames []string)

func MakeNetworkIDRecord

func MakeNetworkIDRecord(networkID string) string

func NetworkNamedByDNS added in v0.8.0

func NetworkNamedByDNS(
	networkID, networkName, domainName string, subnameRRsets map[string][]desec.RRset,
) bool

func NewMemberNameRRsets added in v0.8.0

func NewMemberNameRRsets(
	member zerotier.ControllerNetworkMember, memberSubname string,
	dnsTTL int,
) (rrsets []desec.RRset, err error)

func ParseNetworkIDRecord

func ParseNetworkIDRecord(txtRecord string) (string, bool)

func SplitIPAddresses added in v0.8.0

func SplitIPAddresses(rawAddresses []string) (ipv4 []string, ipv6 []string, err error)

Types

type DNSUpdate added in v0.8.0

type DNSUpdate struct {
	Type      string
	Operation string
	Record    string
}

func (DNSUpdate) String added in v0.8.0

func (u DNSUpdate) String() string

type Globals

type Globals struct {
	Config conf.Config
	Cache  clientcache.Cache
	DB     *database.DB

	Sessions        *session.Store
	SessionsBacking *sqlitestore.SqliteStore
	CSRFChecker     *session.CSRFTokenChecker
	Authn           *authn.Client

	ACCancellers *actioncable.Cancellers
	ACSigner     actioncable.Signer
	TSBroker     *turbostreams.Broker

	Desec         *desec.Client
	Zerotier      *zerotier.Client
	ZTControllers *ztcontrollers.Client

	Logger godest.Logger
}

func NewGlobals

func NewGlobals(persistenceEmbeds database.Embeds, l godest.Logger) (g *Globals, err error)

type Member added in v0.8.0

type Member struct {
	ZerotierMember zerotier.ControllerNetworkMember
	NDPAddresses   []string
	DomainNames    []string
	ExpectedRRsets []desec.RRset
	DNSUpdates     map[string][]DNSUpdate
}

func SortNetworkMembers added in v0.8.0

func SortNetworkMembers(members map[string]Member) (addresses []string, sorted []Member)

type StringSet added in v0.8.0

type StringSet map[string]struct{}

func NewStringSet added in v0.8.0

func NewStringSet(strings []string) StringSet

func (StringSet) Contains added in v0.8.0

func (ss StringSet) Contains(set StringSet) bool

func (StringSet) Difference added in v0.8.0

func (ss StringSet) Difference(set StringSet) StringSet

func (StringSet) Equals added in v0.8.0

func (ss StringSet) Equals(set StringSet) bool

type Subdomain

type Subdomain struct {
	Subname       string
	RRsets        []desec.RRset
	IsNetworkName bool
	Controller    *ztcontrollers.Controller
	Network       *zerotier.ControllerNetwork
}

func GetSubdomains

func GetSubdomains(
	ctx context.Context, subnameRRsets map[string][]desec.RRset,
	c *desecc.Client, zc *ztc.Client, zcc *ztcontrollers.Client,
) ([]Subdomain, error)

Jump to

Keyboard shortcuts

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