config

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2025 License: BSD-3-Clause Imports: 11 Imported by: 0

Documentation

Overview

Package config provides configuration resolution from GatewayClassConfig CRD resources.

The Resolver reads GatewayClass parametersRef, fetches the referenced GatewayClassConfig, and resolves all secrets to provide a complete ResolvedConfig for controllers.

Package config provides configuration resolution from GatewayClassConfig resources.

Index

Constants

View Source
const (
	// ParametersRefGroup is the API group for GatewayClassConfig.
	ParametersRefGroup = "cf.k8s.lex.la"
	// ParametersRefKind is the kind for GatewayClassConfig.
	ParametersRefKind = "GatewayClassConfig"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ResolvedConfig

type ResolvedConfig struct {
	// Cloudflare API credentials
	APIToken  string
	AccountID string

	// Tunnel configuration
	TunnelID    string
	TunnelToken string

	// Cloudflared deployment settings
	CloudflaredEnabled   bool
	CloudflaredReplicas  int32
	CloudflaredNamespace string
	CloudflaredProtocol  string

	// AWG sidecar settings
	AWGSecretName      string
	AWGInterfacePrefix string

	// Reference to the source config for watch purposes
	ConfigName string
}

ResolvedConfig contains all configuration resolved from GatewayClassConfig and Secrets.

type Resolver

type Resolver struct {
	// contains filtered or unexported fields
}

Resolver resolves GatewayClassConfig from GatewayClass parametersRef.

func NewResolver

func NewResolver(c client.Client, defaultNamespace string) *Resolver

NewResolver creates a new config Resolver.

func (*Resolver) CreateCloudflareClient

func (r *Resolver) CreateCloudflareClient(resolved *ResolvedConfig) *cloudflare.Client

CreateCloudflareClient creates a Cloudflare API client from resolved config.

func (*Resolver) GetConfigForGatewayClass

func (r *Resolver) GetConfigForGatewayClass(
	ctx context.Context,
	gatewayClass *gatewayv1.GatewayClass,
) (*v1alpha1.GatewayClassConfig, error)

func (*Resolver) ResolveAccountID

func (r *Resolver) ResolveAccountID(ctx context.Context, cfClient *cloudflare.Client, resolved *ResolvedConfig) (string, error)

func (*Resolver) ResolveFromGatewayClass

func (r *Resolver) ResolveFromGatewayClass(
	ctx context.Context,
	gatewayClass *gatewayv1.GatewayClass,
) (*ResolvedConfig, error)

func (*Resolver) ResolveFromGatewayClassName

func (r *Resolver) ResolveFromGatewayClassName(
	ctx context.Context,
	gatewayClassName string,
) (*ResolvedConfig, error)

ResolveFromGatewayClassName resolves configuration by GatewayClass name.

Jump to

Keyboard shortcuts

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