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
- type ResolvedConfig
- type Resolver
- func (r *Resolver) CreateCloudflareClient(resolved *ResolvedConfig) *cloudflare.Client
- func (r *Resolver) GetConfigForGatewayClass(ctx context.Context, gatewayClass *gatewayv1.GatewayClass) (*v1alpha1.GatewayClassConfig, error)
- func (r *Resolver) ResolveAccountID(ctx context.Context, cfClient *cloudflare.Client, resolved *ResolvedConfig) (string, error)
- func (r *Resolver) ResolveFromGatewayClass(ctx context.Context, gatewayClass *gatewayv1.GatewayClass) (*ResolvedConfig, error)
- func (r *Resolver) ResolveFromGatewayClassName(ctx context.Context, gatewayClassName string) (*ResolvedConfig, error)
Constants ¶
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 ¶
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 (*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.