v1beta1

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the ratelimit.infra.doodle.com v1beta1 API group +kubebuilder:object:generate=true +groupName=ratelimit.infra.doodle.com

Index

Constants

View Source
const (
	ConditionReady       = "Ready"
	ConditionReconciling = "Reconciling"
	ReadyCondition       = "Ready"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "ratelimit.infra.doodle.com", Version: "v1beta1"}

	// 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
)

Functions

This section is empty.

Types

type CrossNamespaceResourceReference added in v0.0.6

type CrossNamespaceResourceReference struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace,omitempty"`
}

func (*CrossNamespaceResourceReference) DeepCopy added in v0.0.6

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

func (*CrossNamespaceResourceReference) DeepCopyInto added in v0.0.6

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

type DeploymentSpec

type DeploymentSpec struct {
	// Number of desired pods. This is a pointer to distinguish between explicit
	// zero and not specified. Defaults to 1.
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`

	// Template describes the pods that will be created.
	// The only allowed template.spec.restartPolicy value is "Always".
	Template corev1.PodTemplateSpec `json:"template"`

	// The deployment strategy to use to replace existing pods with new ones.
	// +optional
	// +patchStrategy=retainKeys
	Strategy appsv1.DeploymentStrategy `json:"strategy,omitempty" patchStrategy:"retainKeys"`

	// Minimum number of seconds for which a newly created pod should be ready
	// without any of its container crashing, for it to be considered available.
	// Defaults to 0 (pod will be considered available as soon as it is ready)
	// +optional
	MinReadySeconds int32 `json:"minReadySeconds,omitempty"`

	// The number of old ReplicaSets to retain to allow rollback.
	// This is a pointer to distinguish between explicit zero and not specified.
	// Defaults to 10.
	// +optional
	RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"`

	// Indicates that the deployment is paused.
	// +optional
	Paused bool `json:"paused,omitempty"`

	// The maximum time in seconds for a deployment to make progress before it
	// is considered to be failed. The deployment controller will continue to
	// process failed deployments and a condition with a ProgressDeadlineExceeded
	// reason will be surfaced in the deployment status. Note that progress will
	// not be estimated during the time a deployment is paused. Defaults to 600s.
	ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty"`
}

func (*DeploymentSpec) DeepCopy

func (in *DeploymentSpec) DeepCopy() *DeploymentSpec

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

func (*DeploymentSpec) DeepCopyInto

func (in *DeploymentSpec) DeepCopyInto(out *DeploymentSpec)

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

type DeploymentTemplate

type DeploymentTemplate struct {
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	ObjectMetadata `json:"metadata,omitempty"`

	// Specification of the desired behavior of the pod.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	// +optional
	Spec DeploymentSpec `json:"spec,omitempty"`
}

func (*DeploymentTemplate) DeepCopy

func (in *DeploymentTemplate) DeepCopy() *DeploymentTemplate

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

func (*DeploymentTemplate) DeepCopyInto

func (in *DeploymentTemplate) DeepCopyInto(out *DeploymentTemplate)

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

type Descriptor

type Descriptor struct {
	Key   string `json:"key"`
	Value string `json:"value,omitempty"`
}

func (*Descriptor) DeepCopy

func (in *Descriptor) DeepCopy() *Descriptor

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

func (*Descriptor) DeepCopyInto

func (in *Descriptor) DeepCopyInto(out *Descriptor)

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

type ObjectMetadata

type ObjectMetadata struct {
	// Map of string keys and values that can be used to organize and categorize
	// (scope and select) objects. May match selectors of replication controllers
	// and services.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations is an unstructured key value map stored with a resource that may be
	// set by external tools to store and retrieve arbitrary metadata. They are not
	// queryable and should be preserved when modifying objects.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*ObjectMetadata) DeepCopy

func (in *ObjectMetadata) DeepCopy() *ObjectMetadata

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

func (*ObjectMetadata) DeepCopyInto

func (in *ObjectMetadata) DeepCopyInto(out *ObjectMetadata)

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

type RateLimitRule

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

	Spec RateLimitRuleSpec `json:"spec,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status

func (*RateLimitRule) DeepCopy

func (in *RateLimitRule) DeepCopy() *RateLimitRule

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

func (*RateLimitRule) DeepCopyInto

func (in *RateLimitRule) DeepCopyInto(out *RateLimitRule)

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

func (*RateLimitRule) DeepCopyObject

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

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

type RateLimitRuleList

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

RateLimitRuleList contains a list of RateLimitRule. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

func (*RateLimitRuleList) DeepCopy

func (in *RateLimitRuleList) DeepCopy() *RateLimitRuleList

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

func (*RateLimitRuleList) DeepCopyInto

func (in *RateLimitRuleList) DeepCopyInto(out *RateLimitRuleList)

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

func (*RateLimitRuleList) DeepCopyObject

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

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

type RateLimitRuleSpec

type RateLimitRuleSpec struct {
	Domain string `json:"domain"`
	// +kubebuilder:validation:Enum=second;minute;hour;day;month;year
	Unit            string                            `json:"unit,omitempty"`
	RequestsPerUnit uint32                            `json:"requestsPerUnit,omitempty"`
	Unlimited       bool                              `json:"unlimited,omitempty"`
	Replaces        []CrossNamespaceResourceReference `json:"replaces,omitempty"`
	Descriptors     []Descriptor                      `json:"descriptors"`
	ShadowMode      bool                              `json:"shadowMode,omitempty"`
	DetailedMetric  bool                              `json:"detailedMetric,omitempty"`
}

RateLimitRuleSpec defines the desired state of RateLimitRule.

func (*RateLimitRuleSpec) DeepCopy

func (in *RateLimitRuleSpec) DeepCopy() *RateLimitRuleSpec

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

func (*RateLimitRuleSpec) DeepCopyInto

func (in *RateLimitRuleSpec) DeepCopyInto(out *RateLimitRuleSpec)

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

type RateLimitService

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

	Spec   RateLimitServiceSpec   `json:"spec,omitempty"`
	Status RateLimitServiceStatus `json:"status,omitempty"`
}

RateLimitService is the Schema for the RateLimitServices API

func RateLimitServiceReady

func RateLimitServiceReady(realm RateLimitService, status metav1.ConditionStatus, reason, message string) RateLimitService

func RateLimitServiceReconciling

func RateLimitServiceReconciling(realm RateLimitService, status metav1.ConditionStatus, reason, message string) RateLimitService

func (*RateLimitService) DeepCopy

func (in *RateLimitService) DeepCopy() *RateLimitService

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

func (*RateLimitService) DeepCopyInto

func (in *RateLimitService) DeepCopyInto(out *RateLimitService)

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

func (*RateLimitService) DeepCopyObject

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

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

func (*RateLimitService) GetConditions

func (in *RateLimitService) GetConditions() []metav1.Condition

func (*RateLimitService) GetStatusConditions

func (in *RateLimitService) GetStatusConditions() *[]metav1.Condition

GetStatusConditions returns a pointer to the Status.Conditions slice

func (*RateLimitService) SetConditions

func (in *RateLimitService) SetConditions(conditions []metav1.Condition)

type RateLimitServiceList

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

RateLimitServiceList contains a list of RateLimitService

func (*RateLimitServiceList) DeepCopy

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

func (*RateLimitServiceList) DeepCopyInto

func (in *RateLimitServiceList) DeepCopyInto(out *RateLimitServiceList)

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

func (*RateLimitServiceList) DeepCopyObject

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

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

type RateLimitServiceSpec

type RateLimitServiceSpec struct {
	DeploymentTemplate *DeploymentTemplate `json:"deploymentTemplate,omitempty"`

	// Suspend reconciliation
	// +optional
	Suspend bool `json:"suspend,omitempty"`

	// DescriptorSelector defines a selector to select ratelimit rules associated with this service
	RuleSelector *metav1.LabelSelector `json:"ruleSelector,omitempty"`

	// NamespaceSelector defines a selector to select namespaces where rules are looked up
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
}

RateLimitServiceSpec defines the desired state of RateLimitService

func (*RateLimitServiceSpec) DeepCopy

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

func (*RateLimitServiceSpec) DeepCopyInto

func (in *RateLimitServiceSpec) DeepCopyInto(out *RateLimitServiceSpec)

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

type RateLimitServiceStatus

type RateLimitServiceStatus struct {
	// Conditions holds the conditions for the RateLimitService.
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`

	// ObservedGeneration is the last generation reconciled by the controller
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// SubResourceCatalog holds discovered references to all sub resources including Descriptors associated with this service
	SubResourceCatalog []ResourceReference `json:"subResourceCatalog,omitempty"`
}

RateLimitServiceStatus defines the observed state of RateLimitService

func (*RateLimitServiceStatus) DeepCopy

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

func (*RateLimitServiceStatus) DeepCopyInto

func (in *RateLimitServiceStatus) DeepCopyInto(out *RateLimitServiceStatus)

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

type ResourceReference

type ResourceReference struct {
	Kind       string `json:"kind,omitempty"`
	Name       string `json:"name,omitempty"`
	Namespace  string `json:"namespace,omitempty"`
	APIVersion string `json:"apiVersion,omitempty"`
}

ResourceReference metadata to lookup another resource

func (*ResourceReference) DeepCopy

func (in *ResourceReference) DeepCopy() *ResourceReference

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

func (*ResourceReference) DeepCopyInto

func (in *ResourceReference) DeepCopyInto(out *ResourceReference)

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