v1alpha1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Oct 17, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the flux v1alpha1 API group +kubebuilder:object:generate=true +groupName=flux.gitops.pro

Index

Constants

View Source
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

View Source
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

type GatesStatus map[string]map[string]bool

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

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

func (*KustomizationAutoDeployer) DeepCopyInto

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

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

func (*KustomizationAutoDeployerList) DeepCopyInto

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

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

func (*KustomizationAutoDeployerSpec) DeepCopyInto

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

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

func (*KustomizationAutoDeployerStatus) DeepCopyInto

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.

Jump to

Keyboard shortcuts

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