ingressservices

package
v1.84.2 Latest Latest
Warning

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

Go to latest
Published: Jun 9, 2025 License: BSD-3-Clause Imports: 1 Imported by: 0

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

View Source
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

type Configs map[string]Config

Configs contains the desired configuration for ingress proxies firewall. Map keys are Tailscale Service names.

func (*Configs) GetConfig

func (cfgs *Configs) GetConfig(name string) *Config

GetConfig returns the desired configuration for the given Tailscale Service name.

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.

Jump to

Keyboard shortcuts

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