v1alpha1

package
v0.0.9 Latest Latest
Warning

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

Go to latest
Published: Aug 17, 2020 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the source v1alpha1 API group +kubebuilder:object:generate=true +groupName=source.toolkit.fluxcd.io

Index

Constants

View Source
const (
	// InitializingReason represents the fact that a given source is being initialized.
	InitializingReason string = "Initializing"

	// URLInvalidReason represents the fact that a given source has an invalid URL.
	URLInvalidReason string = "URLInvalid"

	// StorageOperationFailedReason signals a failure caused by a storage operation.
	StorageOperationFailedReason string = "StorageOperationFailed"

	// AuthenticationFailedReason represents the fact that a given secret does not
	// have the required fields or the provided credentials do not match.
	AuthenticationFailedReason string = "AuthenticationFailed"

	// VerificationFailedReason represents the fact that the cryptographic provenance
	// verification for the source failed.
	VerificationFailedReason string = "VerificationFailed"

	// ProgressingReason represents the fact that a source reconciliation
	// is underway.
	ProgressingReason string = "Progressing"
)
View Source
const (
	GitRepositoryKind    = "GitRepository"
	GitRepositoryTimeout = time.Second * 20
)
View Source
const (
	// GitOperationSucceedReason represents the fact that the git clone, pull
	// and checkout operations succeeded.
	GitOperationSucceedReason string = "GitOperationSucceed"

	// GitOperationFailedReason represents the fact that the git clone, pull or
	// checkout operations failed.
	GitOperationFailedReason string = "GitOperationFailed"
)
View Source
const (
	// ChartPullFailedReason represents the fact that the pull of the
	// Helm chart failed.
	ChartPullFailedReason string = "ChartPullFailed"

	// ChartPulLSucceededReason represents the fact that the pull of
	// the Helm chart succeeded.
	ChartPullSucceededReason string = "ChartPullSucceeded"
)
View Source
const (
	HelmRepositoryKind    = "HelmRepository"
	HelmRepositoryTimeout = time.Second * 60
)
View Source
const (
	// IndexationFailedReason represents the fact that the indexation
	// of the given Helm repository failed.
	IndexationFailedReason string = "IndexationFailed"

	// IndexationSucceededReason represents the fact that the indexation
	// of the given Helm repository succeeded.
	IndexationSucceededReason string = "IndexationSucceed"
)
View Source
const HelmChartKind = "HelmChart"
View Source
const (
	// ReadyCondition represents the fact that a given source is in ready state.
	ReadyCondition string = "Ready"
)
View Source
const (
	// ReconcileAtAnnotation is the annotation used for triggering a
	// reconciliation outside of the defined schedule.
	ReconcileAtAnnotation string = "fluxcd.io/reconcileAt"
)
View Source
const SourceFinalizer = "finalizers.fluxcd.io"

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "source.toolkit.fluxcd.io", 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

func ArtifactPath

func ArtifactPath(kind, namespace, name, filename string) string

ArtifactPath returns the artifact path in the form of <source-kind>/<source-namespace>/<source-name>/<artifact-filename>

func GitRepositoryReadyMessage

func GitRepositoryReadyMessage(repository GitRepository) string

ReadyMessage returns the message of the SourceCondition of type Ready with status true if present, or an empty string.

func HelmChartReadyMessage

func HelmChartReadyMessage(chart HelmChart) string

HelmChartReadyMessage returns the message of the SourceCondition of type Ready with status true if present, or an empty string.

func HelmRepositoryReadyMessage

func HelmRepositoryReadyMessage(repository HelmRepository) string

HelmRepositoryReadyMessage returns the message of the SourceCondition of type Ready with status true if present, or an empty string.

Types

type Artifact

type Artifact struct {
	// Path is the local file path of this artifact.
	// +required
	Path string `json:"path"`

	// URL is the HTTP address of this artifact.
	// +required
	URL string `json:"url"`

	// Revision is a human readable identifier traceable in the origin source system.
	// It can be a commit sha, git tag, a helm index timestamp,
	// a helm chart version, a checksum, etc.
	// +optional
	Revision string `json:"revision"`

	// LastUpdateTime is the timestamp corresponding to the last
	// update of this artifact.
	// +required
	LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
}

Artifact represents the output of a source synchronisation

func (*Artifact) DeepCopy

func (in *Artifact) DeepCopy() *Artifact

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

func (*Artifact) DeepCopyInto

func (in *Artifact) DeepCopyInto(out *Artifact)

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

type GitRepository

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

	Spec   GitRepositorySpec   `json:"spec,omitempty"`
	Status GitRepositoryStatus `json:"status,omitempty"`
}

GitRepository is the Schema for the gitrepositories API

func GitRepositoryNotReady

func GitRepositoryNotReady(repository GitRepository, reason, message string) GitRepository

GitRepositoryNotReady resets the conditions of the GitRepository to SourceCondition of type Ready with status false and the given reason and message. It returns the modified GitRepository.

func GitRepositoryProgressing

func GitRepositoryProgressing(repository GitRepository) GitRepository

GitRepositoryProgressing resets the conditions of the GitRepository to SourceCondition of type Ready with status unknown and progressing reason and message. It returns the modified GitRepository.

func GitRepositoryReady

func GitRepositoryReady(repository GitRepository, artifact Artifact, url, reason, message string) GitRepository

GitRepositoryReady sets the given artifact and url on the GitRepository and resets the conditions to SourceCondition of type Ready with status true and the given reason and message. It returns the modified GitRepository.

func (*GitRepository) DeepCopy

func (in *GitRepository) DeepCopy() *GitRepository

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

func (*GitRepository) DeepCopyInto

func (in *GitRepository) DeepCopyInto(out *GitRepository)

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

func (*GitRepository) DeepCopyObject

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

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

func (*GitRepository) GetArtifact

func (in *GitRepository) GetArtifact() *Artifact

GetArtifact returns the latest artifact from the source if present in the status sub-resource.

func (*GitRepository) GetInterval

func (in *GitRepository) GetInterval() metav1.Duration

GetInterval returns the interval at which the source is updated.

func (*GitRepository) GetTimeout

func (in *GitRepository) GetTimeout() time.Duration

GetTimeout returns the configured timeout or the default.

type GitRepositoryList

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

GitRepositoryList contains a list of GitRepository +kubebuilder:object:root=true

func (*GitRepositoryList) DeepCopy

func (in *GitRepositoryList) DeepCopy() *GitRepositoryList

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

func (*GitRepositoryList) DeepCopyInto

func (in *GitRepositoryList) DeepCopyInto(out *GitRepositoryList)

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

func (*GitRepositoryList) DeepCopyObject

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

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

type GitRepositoryRef

type GitRepositoryRef struct {
	// The git branch to checkout, defaults to master.
	// +optional
	Branch string `json:"branch,omitempty"`

	// The git tag to checkout, takes precedence over branch.
	// +optional
	Tag string `json:"tag,omitempty"`

	// The git tag semver expression, takes precedence over tag.
	// +optional
	SemVer string `json:"semver,omitempty"`

	// The git commit sha to checkout, if specified tag filters will be ignored.
	// +optional
	Commit string `json:"commit,omitempty"`
}

GitRepositoryRef defines the git ref used for pull and checkout operations.

func (*GitRepositoryRef) DeepCopy

func (in *GitRepositoryRef) DeepCopy() *GitRepositoryRef

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

func (*GitRepositoryRef) DeepCopyInto

func (in *GitRepositoryRef) DeepCopyInto(out *GitRepositoryRef)

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

type GitRepositorySpec

type GitRepositorySpec struct {
	// The repository URL, can be a HTTP or SSH address.
	// +kubebuilder:validation:Pattern="^(http|https|ssh)://"
	// +required
	URL string `json:"url"`

	// The secret name containing the Git credentials.
	// For HTTPS repositories the secret must contain username and password
	// fields.
	// For SSH repositories the secret must contain identity, identity.pub and
	// known_hosts fields.
	// +optional
	SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`

	// The interval at which to check for repository updates.
	// +required
	Interval metav1.Duration `json:"interval"`

	// The timeout for remote git operations like cloning, default to 20s.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// The git reference to checkout and monitor for changes, defaults to
	// master branch.
	// +optional
	Reference *GitRepositoryRef `json:"ref,omitempty"`

	// Verify OpenPGP signature for the commit that HEAD points to.
	// +optional
	Verification *GitRepositoryVerification `json:"verify,omitempty"`

	// Ignore overrides the set of excluded patterns in the .sourceignore
	// format (which is the same as .gitignore). If not provided, a default will
	// be used, consult the documentation for your version to find out what those
	// are.
	// +optional
	Ignore *string `json:"ignore,omitempty"`
}

GitRepositorySpec defines the desired state of a Git repository.

func (*GitRepositorySpec) DeepCopy

func (in *GitRepositorySpec) DeepCopy() *GitRepositorySpec

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

func (*GitRepositorySpec) DeepCopyInto

func (in *GitRepositorySpec) DeepCopyInto(out *GitRepositorySpec)

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

type GitRepositoryStatus

type GitRepositoryStatus struct {
	// +optional
	Conditions []SourceCondition `json:"conditions,omitempty"`

	// URL is the download link for the artifact output of the last repository
	// sync.
	// +optional
	URL string `json:"url,omitempty"`

	// Artifact represents the output of the last successful repository sync.
	// +optional
	Artifact *Artifact `json:"artifact,omitempty"`
}

GitRepositoryStatus defines the observed state of a Git repository.

func (*GitRepositoryStatus) DeepCopy

func (in *GitRepositoryStatus) DeepCopy() *GitRepositoryStatus

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

func (*GitRepositoryStatus) DeepCopyInto

func (in *GitRepositoryStatus) DeepCopyInto(out *GitRepositoryStatus)

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

type GitRepositoryVerification

type GitRepositoryVerification struct {
	// Mode describes what git object should be verified, currently ('head').
	// +kubebuilder:validation:Enum=head
	Mode string `json:"mode"`

	// The secret name containing the public keys of all trusted git authors.
	SecretRef corev1.LocalObjectReference `json:"secretRef,omitempty"`
}

GitRepositoryVerification defines the OpenPGP signature verification process.

func (*GitRepositoryVerification) DeepCopy

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

func (*GitRepositoryVerification) DeepCopyInto

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

type HelmChart

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

	Spec   HelmChartSpec   `json:"spec,omitempty"`
	Status HelmChartStatus `json:"status,omitempty"`
}

HelmChart is the Schema for the helmcharts API

func HelmChartNotReady

func HelmChartNotReady(chart HelmChart, reason, message string) HelmChart

HelmChartNotReady resets the conditions of the HelmChart to SourceCondition of type Ready with status false and the given reason and message. It returns the modified HelmChart.

func HelmChartProgressing

func HelmChartProgressing(chart HelmChart) HelmChart

HelmChartProgressing resets the conditions of the HelmChart to SourceCondition of type Ready with status unknown and progressing reason and message. It returns the modified HelmChart.

func HelmChartReady

func HelmChartReady(chart HelmChart, artifact Artifact, url, reason, message string) HelmChart

HelmChartReady sets the given artifact and url on the HelmChart and resets the conditions to SourceCondition of type Ready with status true and the given reason and message. It returns the modified HelmChart.

func (*HelmChart) DeepCopy

func (in *HelmChart) DeepCopy() *HelmChart

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

func (*HelmChart) DeepCopyInto

func (in *HelmChart) DeepCopyInto(out *HelmChart)

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

func (*HelmChart) DeepCopyObject

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

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

func (*HelmChart) GetArtifact

func (in *HelmChart) GetArtifact() *Artifact

GetArtifact returns the latest artifact from the source if present in the status sub-resource.

func (*HelmChart) GetInterval

func (in *HelmChart) GetInterval() metav1.Duration

GetInterval returns the interval at which the source is updated.

type HelmChartList

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

HelmChartList contains a list of HelmChart

func (*HelmChartList) DeepCopy

func (in *HelmChartList) DeepCopy() *HelmChartList

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

func (*HelmChartList) DeepCopyInto

func (in *HelmChartList) DeepCopyInto(out *HelmChartList)

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

func (*HelmChartList) DeepCopyObject

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

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

type HelmChartSpec

type HelmChartSpec struct {
	// The name of the Helm chart, as made available by the referenced
	// Helm repository.
	// +required
	Name string `json:"name"`

	// The chart version semver expression, defaults to latest when
	// omitted.
	// +optional
	Version string `json:"version,omitempty"`

	// The name of the HelmRepository the chart is available at.
	// +required
	HelmRepositoryRef corev1.LocalObjectReference `json:"helmRepositoryRef"`

	// The interval at which to check the Helm repository for updates.
	// +required
	Interval metav1.Duration `json:"interval"`
}

HelmChartSpec defines the desired state of a Helm chart.

func (*HelmChartSpec) DeepCopy

func (in *HelmChartSpec) DeepCopy() *HelmChartSpec

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

func (*HelmChartSpec) DeepCopyInto

func (in *HelmChartSpec) DeepCopyInto(out *HelmChartSpec)

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

type HelmChartStatus

type HelmChartStatus struct {
	// +optional
	Conditions []SourceCondition `json:"conditions,omitempty"`

	// URL is the download link for the last chart pulled.
	// +optional
	URL string `json:"url,omitempty"`

	// Artifact represents the output of the last successful chart sync.
	// +optional
	Artifact *Artifact `json:"artifact,omitempty"`
}

HelmChartStatus defines the observed state of the HelmChart.

func (*HelmChartStatus) DeepCopy

func (in *HelmChartStatus) DeepCopy() *HelmChartStatus

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

func (*HelmChartStatus) DeepCopyInto

func (in *HelmChartStatus) DeepCopyInto(out *HelmChartStatus)

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

type HelmRepository

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

	Spec   HelmRepositorySpec   `json:"spec,omitempty"`
	Status HelmRepositoryStatus `json:"status,omitempty"`
}

HelmRepository is the Schema for the helmrepositories API

func HelmRepositoryNotReady

func HelmRepositoryNotReady(repository HelmRepository, reason, message string) HelmRepository

HelmRepositoryNotReady resets the conditions of the HelmRepository to SourceCondition of type Ready with status false and the given reason and message. It returns the modified HelmRepository.

func HelmRepositoryProgressing

func HelmRepositoryProgressing(repository HelmRepository) HelmRepository

HelmRepositoryProgressing resets the conditions of the HelmRepository to SourceCondition of type Ready with status unknown and progressing reason and message. It returns the modified HelmRepository.

func HelmRepositoryReady

func HelmRepositoryReady(repository HelmRepository, artifact Artifact, url, reason, message string) HelmRepository

HelmRepositoryReady sets the given artifact and url on the HelmRepository and resets the conditions to SourceCondition of type Ready with status true and the given reason and message. It returns the modified HelmRepository.

func (*HelmRepository) DeepCopy

func (in *HelmRepository) DeepCopy() *HelmRepository

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

func (*HelmRepository) DeepCopyInto

func (in *HelmRepository) DeepCopyInto(out *HelmRepository)

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

func (*HelmRepository) DeepCopyObject

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

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

func (*HelmRepository) GetArtifact

func (in *HelmRepository) GetArtifact() *Artifact

GetArtifact returns the latest artifact from the source if present in the status sub-resource.

func (*HelmRepository) GetInterval

func (in *HelmRepository) GetInterval() metav1.Duration

GetInterval returns the interval at which the source is updated.

func (*HelmRepository) GetTimeout added in v0.0.8

func (in *HelmRepository) GetTimeout() time.Duration

GetTimeout returns the configured timeout or the default.

type HelmRepositoryList

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

HelmRepositoryList contains a list of HelmRepository +kubebuilder:object:root=true

func (*HelmRepositoryList) DeepCopy

func (in *HelmRepositoryList) DeepCopy() *HelmRepositoryList

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

func (*HelmRepositoryList) DeepCopyInto

func (in *HelmRepositoryList) DeepCopyInto(out *HelmRepositoryList)

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

func (*HelmRepositoryList) DeepCopyObject

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

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

type HelmRepositorySpec

type HelmRepositorySpec struct {
	// The Helm repository URL, a valid URL contains at least a
	// protocol and host.
	// +required
	URL string `json:"url"`

	// The name of the secret containing authentication credentials
	// for the Helm repository.
	// For HTTP/S basic auth the secret must contain username and password
	// fields.
	// For TLS the secret must contain caFile, keyFile and caCert fields.
	// +optional
	SecretRef *corev1.LocalObjectReference `json:"secretRef,omitempty"`

	// The interval at which to check the upstream for updates.
	// +required
	Interval metav1.Duration `json:"interval"`

	// The timeout of index downloading, defaults to 60s.
	// +optional
	Timeout *metav1.Duration `json:"timeout,omitempty"`
}

HelmRepositorySpec defines the reference to a Helm repository.

func (*HelmRepositorySpec) DeepCopy

func (in *HelmRepositorySpec) DeepCopy() *HelmRepositorySpec

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

func (*HelmRepositorySpec) DeepCopyInto

func (in *HelmRepositorySpec) DeepCopyInto(out *HelmRepositorySpec)

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

type HelmRepositoryStatus

type HelmRepositoryStatus struct {
	// +optional
	Conditions []SourceCondition `json:"conditions,omitempty"`

	// URL is the download link for the last index fetched.
	// +optional
	URL string `json:"url,omitempty"`

	// Artifact represents the output of the last successful repository sync.
	// +optional
	Artifact *Artifact `json:"artifact,omitempty"`
}

HelmRepositoryStatus defines the observed state of the HelmRepository.

func (*HelmRepositoryStatus) DeepCopy

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

func (*HelmRepositoryStatus) DeepCopyInto

func (in *HelmRepositoryStatus) DeepCopyInto(out *HelmRepositoryStatus)

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

type Source

type Source interface {
	// GetArtifact returns the latest artifact from the source
	// if present in the status sub-resource.
	GetArtifact() *Artifact
	// GetInterval returns the interval at which the source is updated.
	GetInterval() metav1.Duration
}

Source interface must be supported by all API types. +k8s:deepcopy-gen=false

type SourceCondition

type SourceCondition struct {
	// Type of the condition, currently ('Ready').
	// +required
	Type string `json:"type"`

	// Status of the condition, one of ('True', 'False', 'Unknown').
	// +required
	Status corev1.ConditionStatus `json:"status"`

	// LastTransitionTime is the timestamp corresponding to the last status
	// change of this condition.
	// +required
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	// Reason is a brief machine readable explanation for the condition's last
	// transition.
	// +required
	Reason string `json:"reason,omitempty"`

	// Message is a human readable description of the details of the last
	// transition, complementing reason.
	// +optional
	Message string `json:"message,omitempty"`
}

SourceCondition contains condition information for a source.

func (*SourceCondition) DeepCopy

func (in *SourceCondition) DeepCopy() *SourceCondition

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

func (*SourceCondition) DeepCopyInto

func (in *SourceCondition) DeepCopyInto(out *SourceCondition)

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