Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the sync v1 API group +kubebuilder:object:generate=true +groupName=sync.konductor.io
Index ¶
- Variables
- type Arrival
- type ArrivalList
- type ArrivalPhase
- type ArrivalSpec
- type ArrivalStatus
- type Barrier
- type BarrierList
- type BarrierPhase
- type BarrierSpec
- type BarrierStatus
- type Gate
- type GateCondition
- type GateConditionStatus
- type GateList
- type GatePhase
- type GateSpec
- type GateStatus
- type Lease
- type LeaseList
- type LeasePhase
- type LeaseRequest
- type LeaseRequestList
- type LeaseRequestPhase
- type LeaseRequestSpec
- type LeaseRequestStatus
- type LeaseSpec
- type LeaseStatus
- type Mutex
- type MutexList
- type MutexPhase
- type MutexSpec
- type MutexStatus
- type Once
- type OnceList
- type OncePhase
- type OnceSpec
- type OnceStatus
- type Permit
- type PermitList
- type PermitPhase
- type PermitSpec
- type PermitStatus
- type RWMutex
- type RWMutexList
- type RWMutexPhase
- type RWMutexSpec
- type RWMutexStatus
- type Semaphore
- type SemaphoreList
- type SemaphorePhase
- type SemaphoreSpec
- type SemaphoreStatus
- type WaitGroup
- type WaitGroupList
- type WaitGroupPhase
- type WaitGroupSpec
- type WaitGroupStatus
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "sync.konductor.io", Version: "v1"} // 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 Arrival ¶
type Arrival struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec ArrivalSpec `json:"spec,omitempty"`
Status ArrivalStatus `json:"status,omitempty"`
}
Arrival is the Schema for the arrivals API
func (*Arrival) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Arrival.
func (*Arrival) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Arrival) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ArrivalList ¶
type ArrivalList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Arrival `json:"items"`
}
ArrivalList contains a list of Arrival
func (*ArrivalList) DeepCopy ¶
func (in *ArrivalList) DeepCopy() *ArrivalList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArrivalList.
func (*ArrivalList) DeepCopyInto ¶
func (in *ArrivalList) DeepCopyInto(out *ArrivalList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArrivalList) DeepCopyObject ¶
func (in *ArrivalList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ArrivalPhase ¶
type ArrivalPhase string
ArrivalPhase represents the phase of an Arrival
const (
ArrivalPhaseRecorded ArrivalPhase = "Recorded"
)
type ArrivalSpec ¶
type ArrivalSpec struct {
// Barrier is the name of the barrier this arrival belongs to
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=63
Barrier string `json:"barrier"`
// Holder is the pod/job that has arrived
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
Holder string `json:"holder"`
}
ArrivalSpec defines the desired state of Arrival
func (*ArrivalSpec) DeepCopy ¶
func (in *ArrivalSpec) DeepCopy() *ArrivalSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArrivalSpec.
func (*ArrivalSpec) DeepCopyInto ¶
func (in *ArrivalSpec) DeepCopyInto(out *ArrivalSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ArrivalStatus ¶
type ArrivalStatus struct {
// Phase represents the current state of the arrival
// +kubebuilder:default=Recorded
Phase ArrivalPhase `json:"phase"`
// ArrivedAt is when the arrival was recorded
// +optional
ArrivedAt *metav1.Time `json:"arrivedAt,omitempty"`
// Conditions represent the latest available observations
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
ArrivalStatus defines the observed state of Arrival
func (*ArrivalStatus) DeepCopy ¶
func (in *ArrivalStatus) DeepCopy() *ArrivalStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArrivalStatus.
func (*ArrivalStatus) DeepCopyInto ¶
func (in *ArrivalStatus) DeepCopyInto(out *ArrivalStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Barrier ¶
type Barrier struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec BarrierSpec `json:"spec,omitempty"`
Status BarrierStatus `json:"status,omitempty"`
}
Barrier is the Schema for the barriers API
func (*Barrier) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Barrier.
func (*Barrier) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Barrier) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BarrierList ¶
type BarrierList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Barrier `json:"items"`
}
BarrierList contains a list of Barrier
func (*BarrierList) DeepCopy ¶
func (in *BarrierList) DeepCopy() *BarrierList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BarrierList.
func (*BarrierList) DeepCopyInto ¶
func (in *BarrierList) DeepCopyInto(out *BarrierList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BarrierList) DeepCopyObject ¶
func (in *BarrierList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BarrierPhase ¶
type BarrierPhase string
BarrierPhase represents the phase of a Barrier
const ( BarrierPhaseWaiting BarrierPhase = "Waiting" BarrierPhaseOpen BarrierPhase = "Open" BarrierPhaseFailed BarrierPhase = "Failed" )
type BarrierSpec ¶
type BarrierSpec struct {
// Expected is the number of arrivals required to open the barrier
// +kubebuilder:validation:Required
// +kubebuilder:validation:Minimum=1
Expected int32 `json:"expected"`
// Timeout is the maximum time to wait for all arrivals
// +optional
Timeout *metav1.Duration `json:"timeout,omitempty"`
// Quorum is the minimum number of arrivals to open (optional)
// +optional
// +kubebuilder:validation:Minimum=1
Quorum *int32 `json:"quorum,omitempty"`
}
BarrierSpec defines the desired state of Barrier +kubebuilder:validation:XValidation:rule="!has(self.quorum) || self.quorum <= self.expected",message="quorum must not exceed expected" +kubebuilder:validation:XValidation:rule="!has(self.timeout) || self.timeout.matches(r'^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$')",message="timeout must be a valid duration (e.g., 30s, 5m, 1h)"
func (*BarrierSpec) DeepCopy ¶
func (in *BarrierSpec) DeepCopy() *BarrierSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BarrierSpec.
func (*BarrierSpec) DeepCopyInto ¶
func (in *BarrierSpec) DeepCopyInto(out *BarrierSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BarrierStatus ¶
type BarrierStatus struct {
// Arrived is the current number of arrivals
Arrived int32 `json:"arrived"`
// Phase represents the current state of the barrier
Phase BarrierPhase `json:"phase"`
// Arrivals tracks which pods have arrived
Arrivals []string `json:"arrivals,omitempty"`
// OpenedAt is when the barrier opened
// +optional
OpenedAt *metav1.Time `json:"openedAt,omitempty"`
// Conditions represent the latest available observations
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
BarrierStatus defines the observed state of Barrier
func (*BarrierStatus) DeepCopy ¶
func (in *BarrierStatus) DeepCopy() *BarrierStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BarrierStatus.
func (*BarrierStatus) DeepCopyInto ¶
func (in *BarrierStatus) DeepCopyInto(out *BarrierStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Gate ¶
type Gate struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GateSpec `json:"spec,omitempty"`
Status GateStatus `json:"status,omitempty"`
}
Gate is the Schema for the gates API
func (*Gate) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gate.
func (*Gate) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Gate) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GateCondition ¶
type GateCondition struct {
// Type of condition (Job, Semaphore, Barrier, Lease)
// +kubebuilder:validation:Required
// +kubebuilder:validation:Enum=Job;Semaphore;Barrier;Lease;Gate;Mutex;Once;WaitGroup
Type string `json:"type"`
// Name of the resource to check
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Name string `json:"name"`
// Namespace of the resource (optional, defaults to gate's namespace)
// +optional
Namespace string `json:"namespace,omitempty"`
// State required for the condition to be met
// For Job: Complete, Failed, or Active
// For Barrier: Open or Closed
// For Lease: Acquired or Available
// For Gate: Open or Closed
// For Mutex: Locked or Unlocked
// For Once: Done or Pending
// For WaitGroup: Zero or NonZero
// +optional
// +kubebuilder:validation:Enum=Complete;Failed;Active;Open;Closed;Acquired;Available;Locked;Unlocked;Done;Pending;Zero;NonZero
State string `json:"state,omitempty"`
// Value for numeric conditions (e.g., semaphore permits)
// +optional
Value *int32 `json:"value,omitempty"`
}
GateCondition defines a condition that must be met
func (*GateCondition) DeepCopy ¶
func (in *GateCondition) DeepCopy() *GateCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateCondition.
func (*GateCondition) DeepCopyInto ¶
func (in *GateCondition) DeepCopyInto(out *GateCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GateConditionStatus ¶
type GateConditionStatus struct {
// Type of condition
Type string `json:"type"`
// Name of the resource
Name string `json:"name"`
// Met indicates if the condition is satisfied
Met bool `json:"met"`
// Message provides details about the condition status
Message string `json:"message,omitempty"`
}
GateConditionStatus tracks the status of a gate condition
func (*GateConditionStatus) DeepCopy ¶
func (in *GateConditionStatus) DeepCopy() *GateConditionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateConditionStatus.
func (*GateConditionStatus) DeepCopyInto ¶
func (in *GateConditionStatus) DeepCopyInto(out *GateConditionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GateList ¶
type GateList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Gate `json:"items"`
}
GateList contains a list of Gate
func (*GateList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateList.
func (*GateList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GateList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GateSpec ¶
type GateSpec struct {
// Conditions that must be met for the gate to open
// +kubebuilder:validation:MinItems=1
Conditions []GateCondition `json:"conditions"`
// Timeout for waiting for conditions
// +optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Format=duration
Timeout *metav1.Duration `json:"timeout,omitempty"`
}
GateSpec defines the desired state of Gate
func (*GateSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateSpec.
func (*GateSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GateStatus ¶
type GateStatus struct {
// Phase represents the current state of the gate
Phase GatePhase `json:"phase"`
// ConditionStatuses tracks the status of each condition
ConditionStatuses []GateConditionStatus `json:"conditionStatuses,omitempty"`
// OpenedAt is when the gate opened
// +optional
OpenedAt *metav1.Time `json:"openedAt,omitempty"`
// Conditions represent the latest available observations
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
GateStatus defines the observed state of Gate
func (*GateStatus) DeepCopy ¶
func (in *GateStatus) DeepCopy() *GateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GateStatus.
func (*GateStatus) DeepCopyInto ¶
func (in *GateStatus) DeepCopyInto(out *GateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Lease ¶
type Lease struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec LeaseSpec `json:"spec,omitempty"`
Status LeaseStatus `json:"status,omitempty"`
}
Lease is the Schema for the leases API
func (*Lease) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Lease.
func (*Lease) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Lease) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LeaseList ¶
type LeaseList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Lease `json:"items"`
}
LeaseList contains a list of Lease
func (*LeaseList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseList.
func (*LeaseList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LeaseList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LeasePhase ¶
type LeasePhase string
LeasePhase represents the phase of a Lease
const ( LeasePhaseAvailable LeasePhase = "Available" LeasePhaseHeld LeasePhase = "Held" LeasePhaseExpired LeasePhase = "Expired" )
type LeaseRequest ¶
type LeaseRequest struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec LeaseRequestSpec `json:"spec"`
Status LeaseRequestStatus `json:"status,omitempty"`
}
LeaseRequest is the Schema for the lease requests API
func (*LeaseRequest) DeepCopy ¶
func (in *LeaseRequest) DeepCopy() *LeaseRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseRequest.
func (*LeaseRequest) DeepCopyInto ¶
func (in *LeaseRequest) DeepCopyInto(out *LeaseRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LeaseRequest) DeepCopyObject ¶
func (in *LeaseRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LeaseRequestList ¶
type LeaseRequestList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []LeaseRequest `json:"items"`
}
LeaseRequestList contains a list of LeaseRequest
func (*LeaseRequestList) DeepCopy ¶
func (in *LeaseRequestList) DeepCopy() *LeaseRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseRequestList.
func (*LeaseRequestList) DeepCopyInto ¶
func (in *LeaseRequestList) DeepCopyInto(out *LeaseRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LeaseRequestList) DeepCopyObject ¶
func (in *LeaseRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LeaseRequestPhase ¶
type LeaseRequestPhase string
LeaseRequestPhase represents the phase of a LeaseRequest
const ( LeaseRequestPhasePending LeaseRequestPhase = "Pending" LeaseRequestPhaseGranted LeaseRequestPhase = "Granted" LeaseRequestPhaseDenied LeaseRequestPhase = "Denied" )
type LeaseRequestSpec ¶
type LeaseRequestSpec struct {
// Lease is the name of the lease being requested
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Lease string `json:"lease"`
// Holder is the pod/job requesting the lease
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Holder string `json:"holder"`
// Priority for lease acquisition (higher wins)
// +optional
// +kubebuilder:validation:Minimum=0
Priority *int32 `json:"priority,omitempty"`
// TTL is the time-to-live for the lease request
// +optional
TTL *metav1.Duration `json:"ttl,omitempty"`
}
LeaseRequestSpec defines the desired state of LeaseRequest +kubebuilder:validation:XValidation:rule="!has(self.ttl) || self.ttl.matches('^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$')",message="ttl must be a valid duration (e.g., 30s, 5m, 1h)"
func (*LeaseRequestSpec) DeepCopy ¶
func (in *LeaseRequestSpec) DeepCopy() *LeaseRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseRequestSpec.
func (*LeaseRequestSpec) DeepCopyInto ¶
func (in *LeaseRequestSpec) DeepCopyInto(out *LeaseRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LeaseRequestStatus ¶
type LeaseRequestStatus struct {
// Phase represents the current state of the request
// +kubebuilder:validation:Enum=Pending;Granted;Denied
Phase LeaseRequestPhase `json:"phase"`
// RequestedAt is when the request was made
// +optional
RequestedAt *metav1.Time `json:"requestedAt,omitempty"`
// Conditions represent the latest available observations
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
LeaseRequestStatus defines the observed state of LeaseRequest
func (*LeaseRequestStatus) DeepCopy ¶
func (in *LeaseRequestStatus) DeepCopy() *LeaseRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseRequestStatus.
func (*LeaseRequestStatus) DeepCopyInto ¶
func (in *LeaseRequestStatus) DeepCopyInto(out *LeaseRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LeaseSpec ¶
type LeaseSpec struct {
// TTL is the time-to-live for the lease
// +optional
TTL *metav1.Duration `json:"ttl,omitempty"`
// Priority for lease acquisition (higher wins)
// +optional
Priority *int32 `json:"priority,omitempty"`
}
LeaseSpec defines the desired state of Lease +kubebuilder:validation:XValidation:rule="!has(self.ttl) || self.ttl.matches('^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$')",message="ttl must be a valid duration (e.g., 30s, 5m, 1h)"
func (*LeaseSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseSpec.
func (*LeaseSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LeaseStatus ¶
type LeaseStatus struct {
// Holder is the current lease holder
// +optional
Holder string `json:"holder,omitempty"`
// AcquiredAt is when the lease was acquired
// +optional
AcquiredAt *metav1.Time `json:"acquiredAt,omitempty"`
// ExpiresAt is when the lease expires
// +optional
ExpiresAt *metav1.Time `json:"expiresAt,omitempty"`
// Phase represents the current state of the lease
Phase LeasePhase `json:"phase"`
// RenewCount tracks the number of times the lease has been renewed
// +optional
RenewCount int32 `json:"renewCount"`
// Conditions represent the latest available observations
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
LeaseStatus defines the observed state of Lease
func (*LeaseStatus) DeepCopy ¶
func (in *LeaseStatus) DeepCopy() *LeaseStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LeaseStatus.
func (*LeaseStatus) DeepCopyInto ¶
func (in *LeaseStatus) DeepCopyInto(out *LeaseStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Mutex ¶ added in v0.2.0
type Mutex struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec MutexSpec `json:"spec,omitempty"`
Status MutexStatus `json:"status,omitempty"`
}
Mutex is the Schema for the mutexes API
func (*Mutex) DeepCopy ¶ added in v0.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Mutex.
func (*Mutex) DeepCopyInto ¶ added in v0.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Mutex) DeepCopyObject ¶ added in v0.2.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MutexList ¶ added in v0.2.0
type MutexList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Mutex `json:"items"`
}
MutexList contains a list of Mutex
func (*MutexList) DeepCopy ¶ added in v0.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutexList.
func (*MutexList) DeepCopyInto ¶ added in v0.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MutexList) DeepCopyObject ¶ added in v0.2.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MutexPhase ¶ added in v0.2.0
type MutexPhase string
MutexPhase represents the phase of a Mutex
const ( MutexPhaseUnlocked MutexPhase = "Unlocked" MutexPhaseLocked MutexPhase = "Locked" )
type MutexSpec ¶ added in v0.2.0
type MutexSpec struct {
// TTL is the optional time-to-live for automatic unlock
// +optional
TTL *metav1.Duration `json:"ttl,omitempty"`
}
MutexSpec defines the desired state of Mutex
func (*MutexSpec) DeepCopy ¶ added in v0.2.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutexSpec.
func (*MutexSpec) DeepCopyInto ¶ added in v0.2.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MutexStatus ¶ added in v0.2.0
type MutexStatus struct {
// Holder is the current lock holder
// +optional
Holder string `json:"holder,omitempty"`
// LockedAt is when the mutex was locked
// +optional
LockedAt *metav1.Time `json:"lockedAt,omitempty"`
// ExpiresAt is when the mutex expires (if TTL is set)
// +optional
ExpiresAt *metav1.Time `json:"expiresAt,omitempty"`
// Phase represents the current state of the mutex
// +kubebuilder:validation:Enum=Unlocked;Locked
Phase MutexPhase `json:"phase"`
// Conditions represent the latest available observations
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
MutexStatus defines the observed state of Mutex
func (*MutexStatus) DeepCopy ¶ added in v0.2.0
func (in *MutexStatus) DeepCopy() *MutexStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MutexStatus.
func (*MutexStatus) DeepCopyInto ¶ added in v0.2.0
func (in *MutexStatus) DeepCopyInto(out *MutexStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Once ¶ added in v0.3.0
type Once struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec OnceSpec `json:"spec,omitempty"`
Status OnceStatus `json:"status,omitempty"`
}
Once is the Schema for the onces API
func (*Once) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Once.
func (*Once) DeepCopyInto ¶ added in v0.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Once) DeepCopyObject ¶ added in v0.3.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OnceList ¶ added in v0.3.0
type OnceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Once `json:"items"`
}
OnceList contains a list of Once
func (*OnceList) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OnceList.
func (*OnceList) DeepCopyInto ¶ added in v0.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OnceList) DeepCopyObject ¶ added in v0.3.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type OnceSpec ¶ added in v0.3.0
type OnceSpec struct {
// TTL is the optional time-to-live for cleanup
// +optional
TTL *metav1.Duration `json:"ttl,omitempty"`
}
OnceSpec defines the desired state of Once
func (*OnceSpec) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OnceSpec.
func (*OnceSpec) DeepCopyInto ¶ added in v0.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OnceStatus ¶ added in v0.3.0
type OnceStatus struct {
// Executed indicates if the action has been executed
Executed bool `json:"executed"`
// Executor is who executed the action
// +optional
Executor string `json:"executor,omitempty"`
// ExecutedAt is when the action was executed
// +optional
ExecutedAt *metav1.Time `json:"executedAt,omitempty"`
// Phase represents the current state
Phase OncePhase `json:"phase"`
// Conditions represent the latest available observations
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
OnceStatus defines the observed state of Once
func (*OnceStatus) DeepCopy ¶ added in v0.3.0
func (in *OnceStatus) DeepCopy() *OnceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OnceStatus.
func (*OnceStatus) DeepCopyInto ¶ added in v0.3.0
func (in *OnceStatus) DeepCopyInto(out *OnceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Permit ¶
type Permit struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec PermitSpec `json:"spec"`
Status PermitStatus `json:"status,omitempty"`
}
Permit is the Schema for the permits API
func (*Permit) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Permit.
func (*Permit) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Permit) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PermitList ¶
type PermitList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Permit `json:"items"`
}
PermitList contains a list of Permit
func (*PermitList) DeepCopy ¶
func (in *PermitList) DeepCopy() *PermitList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PermitList.
func (*PermitList) DeepCopyInto ¶
func (in *PermitList) DeepCopyInto(out *PermitList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PermitList) DeepCopyObject ¶
func (in *PermitList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PermitPhase ¶
type PermitPhase string
PermitPhase represents the phase of a Permit
const ( PermitPhaseGranted PermitPhase = "Granted" PermitPhaseDenied PermitPhase = "Denied" PermitPhaseExpired PermitPhase = "Expired" )
type PermitSpec ¶
type PermitSpec struct {
// Semaphore is the name of the semaphore this permit belongs to
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Semaphore string `json:"semaphore"`
// Holder is the pod/job that owns this permit
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinLength=1
Holder string `json:"holder"`
// TTL is the time-to-live for this permit
// +optional
TTL *metav1.Duration `json:"ttl,omitempty"`
}
PermitSpec defines the desired state of Permit +kubebuilder:validation:XValidation:rule="!has(self.ttl) || self.ttl.matches('^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$')",message="ttl must be a valid duration (e.g., 30s, 5m, 1h)"
func (*PermitSpec) DeepCopy ¶
func (in *PermitSpec) DeepCopy() *PermitSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PermitSpec.
func (*PermitSpec) DeepCopyInto ¶
func (in *PermitSpec) DeepCopyInto(out *PermitSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PermitStatus ¶
type PermitStatus struct {
// Phase represents the current state of the permit
Phase PermitPhase `json:"phase"`
// AcquiredAt is when the permit was acquired
// +optional
AcquiredAt *metav1.Time `json:"acquiredAt,omitempty"`
// ExpiresAt is when the permit expires
// +optional
ExpiresAt *metav1.Time `json:"expiresAt,omitempty"`
// Conditions represent the latest available observations
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
PermitStatus defines the observed state of Permit
func (*PermitStatus) DeepCopy ¶
func (in *PermitStatus) DeepCopy() *PermitStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PermitStatus.
func (*PermitStatus) DeepCopyInto ¶
func (in *PermitStatus) DeepCopyInto(out *PermitStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RWMutex ¶ added in v0.3.0
type RWMutex struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec RWMutexSpec `json:"spec,omitempty"`
Status RWMutexStatus `json:"status,omitempty"`
}
RWMutex is the Schema for the rwmutexes API
func (*RWMutex) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RWMutex.
func (*RWMutex) DeepCopyInto ¶ added in v0.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RWMutex) DeepCopyObject ¶ added in v0.3.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RWMutexList ¶ added in v0.3.0
type RWMutexList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []RWMutex `json:"items"`
}
RWMutexList contains a list of RWMutex
func (*RWMutexList) DeepCopy ¶ added in v0.3.0
func (in *RWMutexList) DeepCopy() *RWMutexList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RWMutexList.
func (*RWMutexList) DeepCopyInto ¶ added in v0.3.0
func (in *RWMutexList) DeepCopyInto(out *RWMutexList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RWMutexList) DeepCopyObject ¶ added in v0.3.0
func (in *RWMutexList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RWMutexPhase ¶ added in v0.3.0
type RWMutexPhase string
RWMutexPhase represents the phase of a RWMutex
const ( RWMutexPhaseUnlocked RWMutexPhase = "Unlocked" RWMutexPhaseReadLocked RWMutexPhase = "ReadLocked" RWMutexPhaseWriteLocked RWMutexPhase = "WriteLocked" )
type RWMutexSpec ¶ added in v0.3.0
type RWMutexSpec struct {
// TTL is the optional time-to-live for automatic unlock
// +optional
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Format=duration
TTL *metav1.Duration `json:"ttl,omitempty"`
}
RWMutexSpec defines the desired state of RWMutex
func (*RWMutexSpec) DeepCopy ¶ added in v0.3.0
func (in *RWMutexSpec) DeepCopy() *RWMutexSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RWMutexSpec.
func (*RWMutexSpec) DeepCopyInto ¶ added in v0.3.0
func (in *RWMutexSpec) DeepCopyInto(out *RWMutexSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RWMutexStatus ¶ added in v0.3.0
type RWMutexStatus struct {
// WriteHolder is the current write lock holder
// +optional
WriteHolder string `json:"writeHolder,omitempty"`
// ReadHolders is the list of current read lock holders
// +optional
ReadHolders []string `json:"readHolders,omitempty"`
// LockedAt is when the lock was acquired
// +optional
LockedAt *metav1.Time `json:"lockedAt,omitempty"`
// ExpiresAt is when the lock expires (if TTL is set)
// +optional
ExpiresAt *metav1.Time `json:"expiresAt,omitempty"`
// Phase represents the current state of the rwmutex
Phase RWMutexPhase `json:"phase"`
// Conditions represent the latest available observations
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
RWMutexStatus defines the observed state of RWMutex
func (*RWMutexStatus) DeepCopy ¶ added in v0.3.0
func (in *RWMutexStatus) DeepCopy() *RWMutexStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RWMutexStatus.
func (*RWMutexStatus) DeepCopyInto ¶ added in v0.3.0
func (in *RWMutexStatus) DeepCopyInto(out *RWMutexStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Semaphore ¶
type Semaphore struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec SemaphoreSpec `json:"spec,omitempty"`
Status SemaphoreStatus `json:"status,omitempty"`
}
Semaphore is the Schema for the semaphores API
func (*Semaphore) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Semaphore.
func (*Semaphore) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Semaphore) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SemaphoreList ¶
type SemaphoreList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Semaphore `json:"items"`
}
SemaphoreList contains a list of Semaphore
func (*SemaphoreList) DeepCopy ¶
func (in *SemaphoreList) DeepCopy() *SemaphoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SemaphoreList.
func (*SemaphoreList) DeepCopyInto ¶
func (in *SemaphoreList) DeepCopyInto(out *SemaphoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SemaphoreList) DeepCopyObject ¶
func (in *SemaphoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SemaphorePhase ¶
type SemaphorePhase string
SemaphorePhase represents the phase of a Semaphore
const ( SemaphorePhaseReady SemaphorePhase = "Ready" SemaphorePhaseFull SemaphorePhase = "Full" )
type SemaphoreSpec ¶
type SemaphoreSpec struct {
// Permits is the maximum number of concurrent permits allowed
// +kubebuilder:validation:Minimum=1
Permits int32 `json:"permits"`
// TTL is the default time-to-live for permits
// +optional
TTL *metav1.Duration `json:"ttl,omitempty"`
}
SemaphoreSpec defines the desired state of Semaphore
func (*SemaphoreSpec) DeepCopy ¶
func (in *SemaphoreSpec) DeepCopy() *SemaphoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SemaphoreSpec.
func (*SemaphoreSpec) DeepCopyInto ¶
func (in *SemaphoreSpec) DeepCopyInto(out *SemaphoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SemaphoreStatus ¶
type SemaphoreStatus struct {
// InUse is the current number of permits in use
// +kubebuilder:validation:Minimum=0
InUse int32 `json:"inUse"`
// Available is the number of available permits
// +kubebuilder:validation:Minimum=0
Available int32 `json:"available"`
// Phase represents the current state of the semaphore
Phase SemaphorePhase `json:"phase"`
// Conditions represent the latest available observations
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
SemaphoreStatus defines the observed state of Semaphore +kubebuilder:validation:XValidation:rule="self.inUse >= 0 && self.available >= 0",message="inUse and available must be non-negative"
func (*SemaphoreStatus) DeepCopy ¶
func (in *SemaphoreStatus) DeepCopy() *SemaphoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SemaphoreStatus.
func (*SemaphoreStatus) DeepCopyInto ¶
func (in *SemaphoreStatus) DeepCopyInto(out *SemaphoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WaitGroup ¶ added in v0.3.0
type WaitGroup struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec WaitGroupSpec `json:"spec,omitempty"`
Status WaitGroupStatus `json:"status,omitempty"`
}
WaitGroup is the Schema for the waitgroups API
func (*WaitGroup) DeepCopy ¶ added in v0.3.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WaitGroup.
func (*WaitGroup) DeepCopyInto ¶ added in v0.3.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WaitGroup) DeepCopyObject ¶ added in v0.3.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WaitGroupList ¶ added in v0.3.0
type WaitGroupList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []WaitGroup `json:"items"`
}
WaitGroupList contains a list of WaitGroup
func (*WaitGroupList) DeepCopy ¶ added in v0.3.0
func (in *WaitGroupList) DeepCopy() *WaitGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WaitGroupList.
func (*WaitGroupList) DeepCopyInto ¶ added in v0.3.0
func (in *WaitGroupList) DeepCopyInto(out *WaitGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WaitGroupList) DeepCopyObject ¶ added in v0.3.0
func (in *WaitGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WaitGroupPhase ¶ added in v0.3.0
type WaitGroupPhase string
WaitGroupPhase represents the phase of a WaitGroup
const ( WaitGroupPhaseWaiting WaitGroupPhase = "Waiting" WaitGroupPhaseDone WaitGroupPhase = "Done" )
type WaitGroupSpec ¶ added in v0.3.0
type WaitGroupSpec struct {
// TTL is the optional time-to-live for cleanup
// +optional
TTL *metav1.Duration `json:"ttl,omitempty"`
}
WaitGroupSpec defines the desired state of WaitGroup +kubebuilder:validation:XValidation:rule="!has(self.ttl) || self.ttl.matches('^([0-9]+(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$')",message="ttl must be a valid duration (e.g., 30s, 5m, 1h)"
func (*WaitGroupSpec) DeepCopy ¶ added in v0.3.0
func (in *WaitGroupSpec) DeepCopy() *WaitGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WaitGroupSpec.
func (*WaitGroupSpec) DeepCopyInto ¶ added in v0.3.0
func (in *WaitGroupSpec) DeepCopyInto(out *WaitGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WaitGroupStatus ¶ added in v0.3.0
type WaitGroupStatus struct {
// Counter is the current count
// +kubebuilder:validation:Minimum=0
Counter int32 `json:"counter"`
// Phase represents the current state
// +kubebuilder:validation:Enum=Waiting;Done
Phase WaitGroupPhase `json:"phase"`
// Conditions represent the latest available observations
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
WaitGroupStatus defines the observed state of WaitGroup
func (*WaitGroupStatus) DeepCopy ¶ added in v0.3.0
func (in *WaitGroupStatus) DeepCopy() *WaitGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WaitGroupStatus.
func (*WaitGroupStatus) DeepCopyInto ¶ added in v0.3.0
func (in *WaitGroupStatus) DeepCopyInto(out *WaitGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.