v1alpha1

package
v1.5.4 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=pdok.nl

+kubebuilder:object:generate=true +groupName=volume.pdok.nl

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "pdok.nl", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme

	TypeMeta = metav1.TypeMeta{
		Kind:       "OGCAPI",
		APIVersion: GroupVersion.String(),
	}
)

Functions

func ValidateHorizontalPodAutoscalerPatch added in v1.4.4

func ValidateHorizontalPodAutoscalerPatch(patch HorizontalPodAutoscalerPatch, allErrs *field.ErrorList)

Types

type BlobDownloadOptions added in v1.5.3

type BlobDownloadOptions struct {
	// +optional
	// +kubebuilder:default=4194304
	BlockSize int `json:"blockSize,omitempty"`

	// +optional
	// +kubebuilder:default=5
	BlobConcurrency int `json:"blobConcurrency,omitempty"`
}

+kubebuilder:object:generate=true

func (*BlobDownloadOptions) DeepCopy added in v1.5.3

func (in *BlobDownloadOptions) DeepCopy() *BlobDownloadOptions

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlobDownloadOptions.

func (*BlobDownloadOptions) DeepCopyInto added in v1.5.3

func (in *BlobDownloadOptions) DeepCopyInto(out *BlobDownloadOptions)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HorizontalPodAutoscalerPatch added in v1.4.4

type HorizontalPodAutoscalerPatch struct {
	MinReplicas *int32                                         `json:"minReplicas,omitempty"`
	MaxReplicas *int32                                         `json:"maxReplicas,omitempty"`
	Metrics     []autoscalingv2.MetricSpec                     `json:"metrics,omitempty"`
	Behavior    *autoscalingv2.HorizontalPodAutoscalerBehavior `json:"behavior,omitempty"`
}

HorizontalPodAutoscalerPatch - copy of autoscalingv2.HorizontalPodAutoscalerSpec without ScaleTargetRef This way we don't have to specify the scaleTargetRef field in the CRD.

func (*HorizontalPodAutoscalerPatch) DeepCopy added in v1.4.4

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HorizontalPodAutoscalerPatch.

func (*HorizontalPodAutoscalerPatch) DeepCopyInto added in v1.4.4

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OGCAPI

type OGCAPI struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   OGCAPISpec                         `json:"spec,omitempty"`
	Status smoothoperatormodel.OperatorStatus `json:"status,omitempty"`

	// +optional
	VolumeOperatorSpec VolumeOperatorSpec `json:"volumeOperatorSpec,omitempty"`
}

OGCAPI is the Schema for the ogcapis API +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:categories=pdok +kubebuilder:printcolumn:name="ReadyPods",type=integer,JSONPath=`.status.podSummary[0].ready` +kubebuilder:printcolumn:name="DesiredPods",type=integer,JSONPath=`.status.podSummary[0].total` +kubebuilder:printcolumn:name="ReconcileStatus",type=string,JSONPath=`.status.conditions[?(@.type == "Reconciled")].reason`

func (*OGCAPI) DeepCopy

func (in *OGCAPI) DeepCopy() *OGCAPI

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OGCAPI.

func (*OGCAPI) DeepCopyInto

func (in *OGCAPI) DeepCopyInto(out *OGCAPI)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OGCAPI) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*OGCAPI) HorizontalPodAutoscalerPatch added in v1.4.4

func (ogcapi *OGCAPI) HorizontalPodAutoscalerPatch() *HorizontalPodAutoscalerPatch

func (*OGCAPI) OperatorStatus added in v1.1.0

func (ogcapi *OGCAPI) OperatorStatus() *smoothoperatormodel.OperatorStatus

func (*OGCAPI) SetupWebhookWithManager added in v0.6.0

func (ogcapi *OGCAPI) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager will setup the manager to manage the webhooks

type OGCAPICustomValidator added in v1.0.0

type OGCAPICustomValidator struct {
	Client client.Client
}

OGCAPICustomValidator struct is responsible for validating the OGCAPI resource when it is created, updated, or deleted.

NOTE: The +kubebuilder:object:generate=false marker prevents controller-gen from generating DeepCopy methods, as this struct is used only for temporary operations and does not need to be deeply copied. +kubebuilder:object:generate=false

func (*OGCAPICustomValidator) ValidateCreate added in v1.0.0

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*OGCAPICustomValidator) ValidateDelete added in v1.0.0

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*OGCAPICustomValidator) ValidateUpdate added in v1.0.0

func (v *OGCAPICustomValidator) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type the 'old' Object is passed as an argument, so it can be used in the validation

type OGCAPIList

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

OGCAPIList contains a list of OGCAPI +kubebuilder:object:root=true

func (*OGCAPIList) DeepCopy

func (in *OGCAPIList) DeepCopy() *OGCAPIList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OGCAPIList.

func (*OGCAPIList) DeepCopyInto

func (in *OGCAPIList) DeepCopyInto(out *OGCAPIList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*OGCAPIList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type OGCAPISpec

type OGCAPISpec struct {
	Service gokoalaconfig.Config `json:"service"`
	//+kubebuilder:validation:Type=object
	//+kubebuilder:validation:Schemaless
	//+kubebuilder:pruning:PreserveUnknownFields
	// Optional strategic merge patch for the pod in the deployment. E.g. to patch the resources or add extra env vars.
	PodSpecPatch *corev1.PodSpec `json:"podSpecPatch,omitempty"`

	// Optional specification for the HorizontalAutoscaler
	HorizontalPodAutoscalerPatch *HorizontalPodAutoscalerPatch `json:"horizontalPodAutoscalerPatch,omitempty"`

	// Optional list of URLs where the service can be reached
	// By default only the spec.service.baseUrl is used
	IngressRouteURLs smoothoperatormodel.IngressRouteURLs `json:"ingressRouteUrls,omitempty"`
}

OGCAPISpec defines the desired state of OGCAPI +kubebuilder:pruning:PreserveUnknownFields ^^ unknown fields are allowed (but ignored and not maintained when marshalling) for backwards compatibility

func (*OGCAPISpec) DeepCopy

func (in *OGCAPISpec) DeepCopy() *OGCAPISpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OGCAPISpec.

func (*OGCAPISpec) DeepCopyInto

func (in *OGCAPISpec) DeepCopyInto(out *OGCAPISpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VolumeOperatorSpec added in v1.5.3

type VolumeOperatorSpec struct {
	// The prefix to use for the blob storage container (the location of the data)
	// +kubebuilder:validation:Required
	BlobPrefix string `json:"blobPrefix"`

	// The storage capacity to request for the volumes created by the volume operator, min: 1Gi
	// +kubebuilder:default:="1Gi"
	StorageCapacity string `json:"storageCapacity,omitempty"`

	// The storage class to use for the volumes created by the volume operator, defaults to zrs-managed-premium
	// +kubebuilder:default:="zrs-managed-premium"
	StorageClass string `json:"storageClass,omitempty"`

	// +kubebuilder:validation:Optional
	BlobDownloadOptions BlobDownloadOptions `json:"blobDownloadOptions,omitempty"`
}

VolumeOperatorSpec defines the way the volumes are managed

func (*VolumeOperatorSpec) DeepCopy added in v1.5.3

func (in *VolumeOperatorSpec) DeepCopy() *VolumeOperatorSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeOperatorSpec.

func (*VolumeOperatorSpec) DeepCopyInto added in v1.5.3

func (in *VolumeOperatorSpec) DeepCopyInto(out *VolumeOperatorSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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