v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains the Cloudflare-specific API types for the tunnel controller.

+groupName=cloudflare.jan0ski.net

Index

Constants

This section is empty.

Variables

View Source
var (
	GroupVersion  = schema.GroupVersion{Group: "cloudflare.jan0ski.net", Version: "v1alpha1"}
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type CloudflareAccessPolicy

type CloudflareAccessPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              CloudflareAccessPolicySpec   `json:"spec"`
	Status            CloudflareAccessPolicyStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:categories=cloudflare

CloudflareAccessPolicy is a Direct Attached Policy (per GEP-713) that configures Cloudflare Access JWT enforcement on targeted Gateway API resources. It uses the Policy Attachment pattern with targetRefs to specify which Gateway, HTTPRoute, or Service resources should have Access enforcement.

func (*CloudflareAccessPolicy) DeepCopy

func (*CloudflareAccessPolicy) DeepCopyInto

func (in *CloudflareAccessPolicy) DeepCopyInto(out *CloudflareAccessPolicy)

func (*CloudflareAccessPolicy) DeepCopyObject

func (in *CloudflareAccessPolicy) DeepCopyObject() runtime.Object

type CloudflareAccessPolicyList

type CloudflareAccessPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []CloudflareAccessPolicy `json:"items"`
}

+kubebuilder:object:root=true

func (*CloudflareAccessPolicyList) DeepCopy

func (*CloudflareAccessPolicyList) DeepCopyInto

func (*CloudflareAccessPolicyList) DeepCopyObject

func (in *CloudflareAccessPolicyList) DeepCopyObject() runtime.Object

type CloudflareAccessPolicySpec

type CloudflareAccessPolicySpec struct {
	// TargetRefs identifies the Gateway API resources this policy applies to.
	// Supported kinds: Gateway, HTTPRoute, GRPCRoute, Service.
	//
	// When targeting a Gateway, all routes attached to it get Access enforcement.
	// When targeting a route, only that route's ingress rules get Access enforcement.
	//
	// +listType=map
	// +listMapKey=group
	// +listMapKey=kind
	// +listMapKey=name
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=16
	TargetRefs []gwapiv1.LocalPolicyTargetReference `json:"targetRefs"`

	// TeamName is the Cloudflare organization team name for JWT validation.
	TeamName string `json:"teamName"`
	// Required enforces Access JWT validation on all requests.
	Required bool `json:"required,omitempty"`
	// AudTag is the audience tags to verify against Access JWT aud claim.
	AudTag []string `json:"audTag,omitempty"`
}

func (*CloudflareAccessPolicySpec) DeepCopyInto

type CloudflareAccessPolicyStatus

type CloudflareAccessPolicyStatus struct {
	// Conditions describe the current state of the policy.
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

func (*CloudflareAccessPolicyStatus) DeepCopyInto

Jump to

Keyboard shortcuts

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