Documentation
¶
Overview ¶
Package ingressservices contains shared types for exposing Kubernetes Services to tailnet. These are split into a separate package for consumption of non-Kubernetes shared libraries and binaries. Be mindful of not increasing dependency size for those consumers when adding anything new here.
Index ¶
Constants ¶
const IngressConfigKey = "ingress-config.json"
IngressConfigKey is the key at which both the desired ingress firewall configuration is stored in the ingress proxies' ConfigMap and at which the recorded firewall configuration status is stored in the proxies' state Secrets.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { IPv4Mapping *Mapping `json:"IPv4Mapping,omitempty"` IPv6Mapping *Mapping `json:"IPv6Mapping,omitempty"` }
Config is an ingress service configuration.
type Configs ¶
Configs contains the desired configuration for ingress proxies firewall. Map keys are Tailscale Service names.
type Mapping ¶
type Mapping struct { TailscaleServiceIP netip.Addr `json:"TailscaleServiceIP"` ClusterIP netip.Addr `json:"ClusterIP"` }
Mapping describes a rule that forwards traffic from Tailscale Service IP to a Kubernetes Service IP.
type Status ¶
type Status struct { Configs Configs `json:"configs,omitempty"` PodIPv4 string `json:"podIPv4,omitempty"` PodIPv6 string `json:"podIPv6,omitempty"` }
Status contains the recorded firewall configuration status for a specific ingress proxy Pod. Pod IPs are used to identify the ingress proxy Pod.