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
- Variables
- type CrossNamespaceResourceReference
- type DeploymentSpec
- type DeploymentTemplate
- type Descriptor
- type ObjectMetadata
- type RateLimitRule
- type RateLimitRuleList
- type RateLimitRuleSpec
- type RateLimitService
- func (in *RateLimitService) DeepCopy() *RateLimitService
- func (in *RateLimitService) DeepCopyInto(out *RateLimitService)
- func (in *RateLimitService) DeepCopyObject() runtime.Object
- func (in *RateLimitService) GetConditions() []metav1.Condition
- func (in *RateLimitService) GetStatusConditions() *[]metav1.Condition
- func (in *RateLimitService) SetConditions(conditions []metav1.Condition)
- type RateLimitServiceList
- type RateLimitServiceSpec
- type RateLimitServiceStatus
- type ResourceReference
Constants ¶
const ( ConditionReady = "Ready" ConditionReconciling = "Reconciling" ReadyCondition = "Ready" )
Variables ¶
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
func (in *CrossNamespaceResourceReference) DeepCopy() *CrossNamespaceResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossNamespaceResourceReference.
func (*CrossNamespaceResourceReference) DeepCopyInto ¶ added in v0.0.6
func (in *CrossNamespaceResourceReference) DeepCopyInto(out *CrossNamespaceResourceReference)
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 ¶
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 ¶
func (in *RateLimitServiceList) DeepCopy() *RateLimitServiceList
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 ¶
func (in *RateLimitServiceSpec) DeepCopy() *RateLimitServiceSpec
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 ¶
func (in *RateLimitServiceStatus) DeepCopy() *RateLimitServiceStatus
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.