Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the flux v1alpha1 API group +kubebuilder:object:generate=true +groupName=flux.gitops.pro
Index ¶
- Constants
- Variables
- type GatesStatus
- type HealthCheck
- type KustomizationAutoDeployer
- func (in *KustomizationAutoDeployer) DeepCopy() *KustomizationAutoDeployer
- func (in *KustomizationAutoDeployer) DeepCopyInto(out *KustomizationAutoDeployer)
- func (in *KustomizationAutoDeployer) DeepCopyObject() runtime.Object
- func (in *KustomizationAutoDeployer) SetConditions(conditions []metav1.Condition)
- type KustomizationAutoDeployerList
- type KustomizationAutoDeployerSpec
- type KustomizationAutoDeployerStatus
- type KustomizationGate
- type ScheduledCheck
Constants ¶
const ( // GatesClosedReason is set when no commits will be applied because // the gates are currently closed. GatesClosedReason string = "GatesClosed" // FailedToLoadKustomizationReason indicates that the referenced // Kustomization could not be loaded. FailedToLoadKustomizationReason string = "FailedToLoadKustomization" // GitRepositoryNotPopulatedReason indicates that the GitRepository // associated with the Kustomization has not updated successfully. GitRepositoryNotPopulatedReason string = "GitRepositoryNotLoaded" // RevisionsErrorReason is set when we couldn't list the revisions in the // upstream repository. RevisionsErrorReason string = "RevisionsError" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "flux.gitops.pro", 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 )
Functions ¶
This section is empty.
Types ¶
type GatesStatus ¶
GatesStatus contains a per-Gate, per check state of the configured gates in the auto deployer.
func (GatesStatus) DeepCopy ¶
func (in GatesStatus) DeepCopy() GatesStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatesStatus.
func (GatesStatus) DeepCopyInto ¶
func (in GatesStatus) DeepCopyInto(out *GatesStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HealthCheck ¶
type HealthCheck struct {
// URL is a generic catch-all, query the configured URL and if returns
// anything other than a 200 response, the check fails.
// +required
URL string `json:"url"`
// Interval at which to check the URL for updates.
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
// +required
Interval metav1.Duration `json:"interval"`
}
HealthCheck is a Gate that fetches a URL and is open if the requests are successful.
func (*HealthCheck) DeepCopy ¶
func (in *HealthCheck) DeepCopy() *HealthCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HealthCheck.
func (*HealthCheck) DeepCopyInto ¶
func (in *HealthCheck) DeepCopyInto(out *HealthCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KustomizationAutoDeployer ¶
type KustomizationAutoDeployer struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec KustomizationAutoDeployerSpec `json:"spec,omitempty"`
Status KustomizationAutoDeployerStatus `json:"status,omitempty"`
}
KustomizationAutoDeployer is the Schema for the kustomizationautodeployers API
func (*KustomizationAutoDeployer) DeepCopy ¶
func (in *KustomizationAutoDeployer) DeepCopy() *KustomizationAutoDeployer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizationAutoDeployer.
func (*KustomizationAutoDeployer) DeepCopyInto ¶
func (in *KustomizationAutoDeployer) DeepCopyInto(out *KustomizationAutoDeployer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KustomizationAutoDeployer) DeepCopyObject ¶
func (in *KustomizationAutoDeployer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*KustomizationAutoDeployer) SetConditions ¶
func (in *KustomizationAutoDeployer) SetConditions(conditions []metav1.Condition)
SetConditions sets the status conditions on the object.
type KustomizationAutoDeployerList ¶
type KustomizationAutoDeployerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []KustomizationAutoDeployer `json:"items"`
}
KustomizationAutoDeployerList contains a list of KustomizationAutoDeployer
func (*KustomizationAutoDeployerList) DeepCopy ¶
func (in *KustomizationAutoDeployerList) DeepCopy() *KustomizationAutoDeployerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizationAutoDeployerList.
func (*KustomizationAutoDeployerList) DeepCopyInto ¶
func (in *KustomizationAutoDeployerList) DeepCopyInto(out *KustomizationAutoDeployerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KustomizationAutoDeployerList) DeepCopyObject ¶
func (in *KustomizationAutoDeployerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type KustomizationAutoDeployerSpec ¶
type KustomizationAutoDeployerSpec struct {
// The Kustomization resource to track and wait for new commits to be
// available.
//
// This will access the GitRepository that is used by the Kustomization.
// +required
KustomizationRef meta.LocalObjectReference `json:"kustomizationRef"`
// Interval at which to check the GitRepository for updates.
// +kubebuilder:validation:Type=string
// +kubebuilder:validation:Pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"
// +required
Interval metav1.Duration `json:"interval"`
// CloneDepth limits the number of commits to get from the GitRepository.
//
// This is an optimisation for fetching commits.
//
// +kubebuilder:default=100
// +kubebuilder:validation:Minimum:=5
// +kubebuilder:validation:Maximum:=100
CommitLimit int `json:"commitLimit,omitempty"`
// Gates are the checks applied before advancing the commit in the
// GitRepository for the referenced Kustomization.
// +optional
Gates []KustomizationGate `json:"gates,omitempty"`
}
KustomizationAutoDeployerSpec defines the desired state of KustomizationAutoDeployer
func (*KustomizationAutoDeployerSpec) DeepCopy ¶
func (in *KustomizationAutoDeployerSpec) DeepCopy() *KustomizationAutoDeployerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizationAutoDeployerSpec.
func (*KustomizationAutoDeployerSpec) DeepCopyInto ¶
func (in *KustomizationAutoDeployerSpec) DeepCopyInto(out *KustomizationAutoDeployerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KustomizationAutoDeployerStatus ¶
type KustomizationAutoDeployerStatus struct {
// LatestCommit is the latest commit processed by the Kustomization.
// +optional
LatestCommit string `json:"latestCommit,omitempty"`
// ObservedGeneration reflects the generation of the most recently observed
// KustomizationAutoDeployer.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Conditions holds the conditions for the KustomizationAutoDeployer.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// Gates contains the state of the configured gates.
Gates GatesStatus `json:"gates,omitempty"`
}
KustomizationAutoDeployerStatus defines the observed state of KustomizationAutoDeployer
func (*KustomizationAutoDeployerStatus) DeepCopy ¶
func (in *KustomizationAutoDeployerStatus) DeepCopy() *KustomizationAutoDeployerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizationAutoDeployerStatus.
func (*KustomizationAutoDeployerStatus) DeepCopyInto ¶
func (in *KustomizationAutoDeployerStatus) DeepCopyInto(out *KustomizationAutoDeployerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KustomizationGate ¶
type KustomizationGate struct {
// Name is a string used to identify the gate.
// +required
Name string `json:"name"`
// HealthCheck is a generic URL checker.
// +optional
HealthCheck *HealthCheck `json:"healthCheck,omitempty"`
// ScheduledCheck is a time-based gate.
// +optional
Scheduled *ScheduledCheck `json:"scheduled,omitempty"`
}
KustomizationGate describes a gate to be checked before updating to the latest commit.
func (*KustomizationGate) DeepCopy ¶
func (in *KustomizationGate) DeepCopy() *KustomizationGate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizationGate.
func (*KustomizationGate) DeepCopyInto ¶
func (in *KustomizationGate) DeepCopyInto(out *KustomizationGate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScheduledCheck ¶
type ScheduledCheck struct {
// TODO: These need validation!
// hh:mm for the time to "open" the gate at.
// +required
Open string `json:"open"`
// hh:mm for the time to "close" the gate at.
// +required
Close string `json:"close"`
}
ScheduledCheck is a Gate that is open if the current time is between the open and close times.
func (*ScheduledCheck) DeepCopy ¶
func (in *ScheduledCheck) DeepCopy() *ScheduledCheck
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduledCheck.
func (*ScheduledCheck) DeepCopyInto ¶
func (in *ScheduledCheck) DeepCopyInto(out *ScheduledCheck)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.