Documentation ¶
Index ¶
- Constants
- Variables
- func ApplySubdomain(ctx context.Context, db *pgxpool.Pool, apihost, apitoken string, ...) error
- func CheckForPresence(fqdn string, ip netip.Addr, nameservers ...string) (bool, error)
- func NewDelegationList(ctx context.Context, db *pgxpool.Pool, schema string) (string, error)
- func NewKdAddrList(ctx context.Context, db *pgxpool.Pool, schema string) (string, error)
- func ParseConnEnv(connenv string) (string, string, error)
- func ParseDCNameEnv() (string, string, error)
- func ParseNSEnv(nsenv string) ([]string, error)
- func RandomCGNAT24Net() (netip.Prefix, error)
- func RandomKeydesk() (netip.Addr, error)
- func RandomULA64Net() (netip.Prefix, error)
- func RevokeSubdomain(ctx context.Context, db *pgxpool.Pool, apihost, apitoken string, domain string) error
- func SyncDelegationList(sshconf *ssh.ClientConfig, delegationSyncServer, ident, kdAddrList string) (func(string), error)
- func SyncKdAddrList(sshconf *ssh.ClientConfig, kdAddrSyncServer, ident, kdAddrList string) (func(string), error)
- func VgsCreateBrigade(ctx context.Context, logger *slog.Logger, db *pgxpool.Pool, ...) error
- func VgsCreatePair(ctx context.Context, logger *slog.Logger, db *pgxpool.Pool, ...) (uuid.UUID, netip.Addr, netip.Addr, error)
- func VgsDeleteBrigade(ctx context.Context, logger *slog.Logger, db *pgxpool.Pool, ...) error
- func VgsDeletePair(ctx context.Context, logger *slog.Logger, db *pgxpool.Pool, ...) error
- func VgsOrderCreateBrigade(ctx context.Context, logger *slog.Logger, db *pgxpool.Pool, ...) (uuid.UUID, error)
- func VgsOrderDeleteBrigade(ctx context.Context, logger *slog.Logger, db *pgxpool.Pool, ...) (uuid.UUID, uuid.UUID, netip.Addr, error)
- func WaitForDelegation(fqdn string, ip netip.Addr, ns ...string) (bool, error)
- type VgsPairsResult
- type VpnCfgs
Constants ¶
View Source
const ( DelegationSyncFilename = "domain-generate-%s.csv" DelegationSyncReloadFilename = "domain-generate.reload" )
View Source
const ( DomainCheckPause = 5 * time.Second DomainDelegationWaitTime = 120 * time.Second )
View Source
const ( KdAddrSyncFilename = "vpn-works-%s.csv" KdAddrSyncReloadFilename = "vpn-works-keydesks.reload" )
View Source
const ( BrigadeCgnatPrefix = 24 BrigadeUlaPrefix = 64 )
View Source
const DefaultRandomAttemts = 10000
View Source
const MAX_DNS_RETRIES = 3
View Source
const NoUseSubdomainAPIToken = "-"
Variables ¶
View Source
var ( ErrUnknownIP = errors.New("unknown ip address") ErrNegativeRcode = errors.New("negative rcode") ErrRetriesExceeded = errors.New("retries exceeded") )
View Source
var ( ErrEmptyConnString = errors.New("empty sync connect string") ErrInvalidConnString = errors.New("invalid sync connect string") ErrInvalidServerHost = errors.New("invalid sync server host") ErrInvalidServerPort = errors.New("invalid sync server port") ErrEmptyIdent = errors.New("empty ident") ErrEmptyID = errors.New("empty id") )
View Source
var ErrCheckAttemptExceeded = errors.New("check attempt exceeded")
View Source
var ErrDeleteAttemptsCountExceeded = errors.New("delete attempts count exceeded")
View Source
var ErrEmptyNSString = errors.New("empty ns connect string")
View Source
var ErrNotDelegated = errors.New("not delegated")
View Source
var ErrRandomAttemptsExceeded = errors.New("random attempts exceeded")
Functions ¶
func ApplySubdomain ¶ added in v1.9.0
func CheckForPresence ¶
Check for the presence of a record in the NS-servers
func NewDelegationList ¶
func NewKdAddrList ¶
func ParseDCNameEnv ¶
func ParseNSEnv ¶
func RandomCGNAT24Net ¶ added in v1.9.0
func RandomKeydesk ¶ added in v1.9.0
func RandomULA64Net ¶ added in v1.9.0
func RevokeSubdomain ¶ added in v1.9.1
func SyncDelegationList ¶
func SyncDelegationList(sshconf *ssh.ClientConfig, delegationSyncServer, ident, kdAddrList string) (func(string), error)
func SyncKdAddrList ¶
func SyncKdAddrList(sshconf *ssh.ClientConfig, kdAddrSyncServer, ident, kdAddrList string) (func(string), error)
func VgsCreateBrigade ¶ added in v1.9.1
func VgsCreateBrigade(ctx context.Context, logger *slog.Logger, db *pgxpool.Pool, sqfmt sq.StatementBuilderType, orderID uuid.UUID, dcident string, pairID uuid.UUID, controlIP netip.Addr, endpointIP netip.Addr, brigadeID uuid.UUID, brigadeName string, host, token string, sshkey, sshuser, server string, ns []string, vpnCfgs *VpnCfgs, maxusers int, doNotCreatePhy bool, ) error
func VgsCreatePair ¶ added in v1.9.1
func VgsDeleteBrigade ¶ added in v1.9.1
func VgsDeletePair ¶ added in v1.9.1
func VgsOrderCreateBrigade ¶ added in v1.9.1
func VgsOrderCreateBrigade(ctx context.Context, logger *slog.Logger, db *pgxpool.Pool, sqfmt sq.StatementBuilderType, brigadeID uuid.UUID, brigadeName string, ) (uuid.UUID, error)
VgsOrderCreateBrigade creates an order to create a brigade.
Types ¶
type VgsPairsResult ¶ added in v1.9.1
Click to show internal directories.
Click to hide internal directories.