v1alpha1

package
v0.11.1 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2025 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the promoter v1alpha1 API group +kubebuilder:object:generate=true +groupName=promoter.argoproj.io

Index

Constants

View Source
const ChangeTransferPolicyLabel = "promoter.argoproj.io/change-transfer-policy"

ChangeTransferPolicyLabel the change transfer policy which the proposed commit is associated with.

View Source
const CommitStatusLabel = "promoter.argoproj.io/commit-status"

CommitStatusLabel is the label used to identify commit statuses, this is used to look up commit statuses configured in the PromotionStrategy CR

View Source
const CommitStatusPreviousEnvironmentStatusesAnnotation = "promoter.argoproj.io/previous-environment-statuses"

CommitStatusPreviousEnvironmentStatusesAnnotation is the label used to identify commit statuses that make up the aggregated active commit status

View Source
const EnvironmentLabel = "promoter.argoproj.io/environment"

EnvironmentLabel the environment branch for the proposed commit

View Source
const PreviousEnvProposedCommitPrefixNameLabel = "promoter-previous-env-"

PreviousEnvProposedCommitPrefixNameLabel is the prefix name for copied proposed commits

View Source
const PreviousEnvironmentCommitStatusKey = "promoter-previous-environment"

PreviousEnvironmentCommitStatusKey the commit status key name used to indicate the previous environment health

View Source
const PromotionStrategyLabel = "promoter.argoproj.io/promotion-strategy"

PromotionStrategyLabel the promotion strategy which the proposed commit is associated with

View Source
const ReconcileAtAnnotation = "promoter.argoproj.io/reconcile-at"

ReconcileAtAnnotation is the annotation used to indicate when the webhook triggered a reconcile

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "promoter.argoproj.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
)
View Source
var ClusterScmProviderKind = reflect.TypeOf(ClusterScmProvider{}).Name()

ClusterScmProviderKind is the kind of the ClusterScmProvider resource.

View Source
var ScmProviderKind = reflect.TypeOf(ScmProvider{}).Name()

ScmProviderKind is the kind of the ScmProvider resource.

Functions

This section is empty.

Types

type ApplicationsSelected

type ApplicationsSelected struct {
	// Namespace is the namespace of the Argo CD application.
	Namespace string `json:"namespace"`
	// Name is the name of the Argo CD application.
	Name string `json:"name"`
	// Phase is the current phase of the commit status.
	Phase CommitStatusPhase `json:"phase"`
	// Sha is the commit SHA that this status is associated with.
	Sha string `json:"sha"`
	// LastTransitionTime is the last time the phase transitioned.
	// +kubebuilder:validation:Optional
	LastTransitionTime *metav1.Time `json:"lastTransitionTime"`
	// Environment is the syncSource.targetBranch of the Argo CD application (in effect, its environment).
	Environment string `json:"environment,omitempty"`
	// ClusterName is the name of the cluster that the application manifest is deployed to.
	ClusterName string `json:"clusterName"`
}

ApplicationsSelected represents the Argo CD applications that are selected by the commit status.

func (*ApplicationsSelected) DeepCopy

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

func (*ApplicationsSelected) DeepCopyInto

func (in *ApplicationsSelected) DeepCopyInto(out *ApplicationsSelected)

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

type ArgoCDCommitStatus

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

	Spec   ArgoCDCommitStatusSpec   `json:"spec,omitempty"`
	Status ArgoCDCommitStatusStatus `json:"status,omitempty"`
}

ArgoCDCommitStatus is the Schema for the argocdcommitstatuses API.

func (*ArgoCDCommitStatus) DeepCopy

func (in *ArgoCDCommitStatus) DeepCopy() *ArgoCDCommitStatus

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

func (*ArgoCDCommitStatus) DeepCopyInto

func (in *ArgoCDCommitStatus) DeepCopyInto(out *ArgoCDCommitStatus)

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

func (*ArgoCDCommitStatus) DeepCopyObject

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

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

func (*ArgoCDCommitStatus) GetConditions added in v0.8.0

func (cs *ArgoCDCommitStatus) GetConditions() *[]metav1.Condition

GetConditions returns the conditions of the ArgoCDCommitStatus.

type ArgoCDCommitStatusList

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

ArgoCDCommitStatusList contains a list of ArgoCDCommitStatus.

func (*ArgoCDCommitStatusList) DeepCopy

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

func (*ArgoCDCommitStatusList) DeepCopyInto

func (in *ArgoCDCommitStatusList) DeepCopyInto(out *ArgoCDCommitStatusList)

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

func (*ArgoCDCommitStatusList) DeepCopyObject

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

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

type ArgoCDCommitStatusSpec

type ArgoCDCommitStatusSpec struct {
	// PromotionStrategyRef is a reference to the promotion strategy that this commit status applies to.
	// +kubebuilder:validation:Required
	PromotionStrategyRef ObjectReference `json:"promotionStrategyRef,omitempty"`

	// ApplicationSelector is a label selector that selects the Argo CD applications to which this commit status applies.
	// +kubebuilder:validation:Required
	ApplicationSelector *metav1.LabelSelector `json:"applicationSelector,omitempty"`

	// URL generates the URL to use in the CommitStatus, for example a link to the Argo CD UI.
	// +kubebuilder:validation:Optional
	URL URLConfig `json:"url,omitempty"`
}

ArgoCDCommitStatusSpec defines the desired state of ArgoCDCommitStatus.

func (*ArgoCDCommitStatusSpec) DeepCopy

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

func (*ArgoCDCommitStatusSpec) DeepCopyInto

func (in *ArgoCDCommitStatusSpec) DeepCopyInto(out *ArgoCDCommitStatusSpec)

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

type ArgoCDCommitStatusStatus

type ArgoCDCommitStatusStatus struct {
	// ApplicationsSelected represents the Argo CD applications that are selected by the commit status.
	// This field is sorted by environment (same order as the referenced PromotionStrategy), then namespace, then name.
	ApplicationsSelected []ApplicationsSelected `json:"applicationsSelected,omitempty"`

	// Conditions Represents the observations of the current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

ArgoCDCommitStatusStatus defines the observed state of ArgoCDCommitStatus.

func (*ArgoCDCommitStatusStatus) DeepCopy

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

func (*ArgoCDCommitStatusStatus) DeepCopyInto

func (in *ArgoCDCommitStatusStatus) DeepCopyInto(out *ArgoCDCommitStatusStatus)

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

type ChangeRequestPolicyCommitStatusPhase

type ChangeRequestPolicyCommitStatusPhase struct {
	// Key staging hydrated branch
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength:=1
	// +kubebuilder:validation:MaxLength:=63
	// +kubebuilder:validation:Pattern:=([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]
	Key string `json:"key"`

	// Phase what phase is the status in
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum:=pending;success;failure
	Phase string `json:"phase"`

	// Url is the URL of the commit status
	Url string `json:"url,omitempty"`
}

ChangeRequestPolicyCommitStatusPhase defines the phase of a commit status in a ChangeTransferPolicy.

func (*ChangeRequestPolicyCommitStatusPhase) DeepCopy

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

func (*ChangeRequestPolicyCommitStatusPhase) DeepCopyInto

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

type ChangeTransferPolicy

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

	Spec   ChangeTransferPolicySpec   `json:"spec,omitempty"`
	Status ChangeTransferPolicyStatus `json:"status,omitempty"`
}

ChangeTransferPolicy is the Schema for the changetransferpolicies API +kubebuilder:printcolumn:name="Active Dry Sha",type=string,JSONPath=`.status.active.dry.sha` +kubebuilder:printcolumn:name="Proposed Dry Sha",type=string,JSONPath=`.status.proposed.dry.sha`

func (*ChangeTransferPolicy) DeepCopy

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

func (*ChangeTransferPolicy) DeepCopyInto

func (in *ChangeTransferPolicy) DeepCopyInto(out *ChangeTransferPolicy)

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

func (*ChangeTransferPolicy) DeepCopyObject

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

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

func (*ChangeTransferPolicy) GetConditions added in v0.8.0

func (ps *ChangeTransferPolicy) GetConditions() *[]metav1.Condition

GetConditions returns the conditions of the ChangeTransferPolicy

type ChangeTransferPolicyList

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

ChangeTransferPolicyList contains a list of ChangeTransferPolicy

func (*ChangeTransferPolicyList) DeepCopy

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

func (*ChangeTransferPolicyList) DeepCopyInto

func (in *ChangeTransferPolicyList) DeepCopyInto(out *ChangeTransferPolicyList)

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

func (*ChangeTransferPolicyList) DeepCopyObject

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

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

type ChangeTransferPolicySpec

type ChangeTransferPolicySpec struct {

	// RepositoryReference what repository to open the PR on.
	// +kubebuilder:validation:Required
	RepositoryReference ObjectReference `json:"gitRepositoryRef"`

	// ProposedBranch staging hydrated branch
	// +kubebuilder:validation:Required
	ProposedBranch string `json:"proposedBranch"`

	// ActiveBranch staging hydrated branch
	// +kubebuilder:validation:Required
	ActiveBranch string `json:"activeBranch"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=true
	AutoMerge *bool `json:"autoMerge,omitempty"`

	// ActiveCommitStatuses lists the statuses to be monitored on the active branch
	// +kubebuilder:validation:Optional
	// +listType:=map
	// +listMapKey=key
	ActiveCommitStatuses []CommitStatusSelector `json:"activeCommitStatuses"`

	// ProposedCommitStatuses lists the statuses to be monitored on the proposed branch
	// +kubebuilder:validation:Optional
	// +listType:=map
	// +listMapKey=key
	ProposedCommitStatuses []CommitStatusSelector `json:"proposedCommitStatuses"`
}

ChangeTransferPolicySpec defines the desired state of ChangeTransferPolicy

func (*ChangeTransferPolicySpec) DeepCopy

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

func (*ChangeTransferPolicySpec) DeepCopyInto

func (in *ChangeTransferPolicySpec) DeepCopyInto(out *ChangeTransferPolicySpec)

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

type ChangeTransferPolicyStatus

type ChangeTransferPolicyStatus struct {
	// Proposed is the state of the proposed branch.
	Proposed CommitBranchState `json:"proposed,omitempty"`
	// Active is the state of the active branch.
	Active CommitBranchState `json:"active,omitempty"`
	// PullRequest is the state of the pull request that was created for this ChangeTransferPolicy.
	PullRequest *PullRequestCommonStatus `json:"pullRequest,omitempty"`

	// History defines the history of promoted changes done by the ChangeTransferPolicy. You can think of
	// it as a list of PRs merged by GitOps Promoter. It will not include changes that were manually merged.
	// The history length is hard-coded to be at most 5 entries. This may change in the future.
	// History is constructed on a best-effort basis and should be used for informational purposes only.
	// History is in reverse chronological order (newest is first).
	History []History `json:"history,omitempty"`

	// Conditions Represents the observations of the current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

ChangeTransferPolicyStatus defines the observed state of ChangeTransferPolicy

func (*ChangeTransferPolicyStatus) DeepCopy

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

func (*ChangeTransferPolicyStatus) DeepCopyInto

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

type ClusterScmProvider added in v0.4.0

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

	Spec   ScmProviderSpec   `json:"spec,omitempty"`
	Status ScmProviderStatus `json:"status,omitempty"`
}

ClusterScmProvider is the Schema for the clusterscmproviders API.

func (*ClusterScmProvider) DeepCopy added in v0.4.0

func (in *ClusterScmProvider) DeepCopy() *ClusterScmProvider

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

func (*ClusterScmProvider) DeepCopyInto added in v0.4.0

func (in *ClusterScmProvider) DeepCopyInto(out *ClusterScmProvider)

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

func (*ClusterScmProvider) DeepCopyObject added in v0.4.0

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

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

func (*ClusterScmProvider) GetSpec added in v0.4.0

func (s *ClusterScmProvider) GetSpec() *ScmProviderSpec

GetSpec returns the ScmProviderSpec for the cluster-scoped SCM provider.

type ClusterScmProviderList added in v0.4.0

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

ClusterScmProviderList contains a list of ClusterScmProvider.

func (*ClusterScmProviderList) DeepCopy added in v0.4.0

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

func (*ClusterScmProviderList) DeepCopyInto added in v0.4.0

func (in *ClusterScmProviderList) DeepCopyInto(out *ClusterScmProviderList)

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

func (*ClusterScmProviderList) DeepCopyObject added in v0.4.0

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

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

type CommitBranchState

type CommitBranchState struct {
	// Dry is the dry state of the branch, which is the commit that is being proposed.
	Dry CommitShaState `json:"dry,omitempty"`
	// Hydrated is the hydrated state of the branch, which is the commit that is currently being worked on.
	Hydrated CommitShaState `json:"hydrated,omitempty"`
	// CommitStatuses is a list of commit statuses that are being monitored for this branch.
	// +kubebuilder:validation:Optional
	// +listType:=map
	// +listMapKey=key
	CommitStatuses []ChangeRequestPolicyCommitStatusPhase `json:"commitStatuses,omitempty"`
}

CommitBranchState defines the state of a branch in a ChangeTransferPolicy.

func (*CommitBranchState) DeepCopy

func (in *CommitBranchState) DeepCopy() *CommitBranchState

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

func (*CommitBranchState) DeepCopyInto

func (in *CommitBranchState) DeepCopyInto(out *CommitBranchState)

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

func (*CommitBranchState) DryShaShort

func (b *CommitBranchState) DryShaShort() string

DryShaShort returns the first 7 characters of the dry SHA, or the full SHA if it is shorter than 7 characters.

type CommitBranchStateHistoryProposed added in v0.11.1

type CommitBranchStateHistoryProposed struct {
	// Hydrated is the hydrated state of the branch, which is the commit that is currently being worked on.
	Hydrated CommitShaState `json:"hydrated,omitempty"`
	// CommitStatuses is a list of commit statuses that were being monitored for this branch.
	// This contains the state frozen at the moment the PR was merged.
	CommitStatuses []ChangeRequestPolicyCommitStatusPhase `json:"commitStatuses,omitempty"`
}

CommitBranchStateHistoryProposed is identical to CommitBranchState minus the Dry state. In the context of History, the Dry state is not relevant as the proposed dry side at merge becomes the Active.

func (*CommitBranchStateHistoryProposed) DeepCopy added in v0.11.1

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

func (*CommitBranchStateHistoryProposed) DeepCopyInto added in v0.11.1

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

type CommitConfiguration added in v0.11.1

type CommitConfiguration struct {
	// Message is the commit message that will be written for the commit that's made when merging the PR.
	Message string `json:"message"`
}

CommitConfiguration defines the commit configuration for how we will merge/squash/etc the pull request.

func (*CommitConfiguration) DeepCopy added in v0.11.1

func (in *CommitConfiguration) DeepCopy() *CommitConfiguration

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

func (*CommitConfiguration) DeepCopyInto added in v0.11.1

func (in *CommitConfiguration) DeepCopyInto(out *CommitConfiguration)

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

type CommitMetadata added in v0.6.0

type CommitMetadata struct {
	// Author is the author of the commit.
	Author string `json:"author,omitempty"`
	// Date is the date of the commit, formatted as by `git show -s --format=%aI`.
	Date *metav1.Time `json:"date,omitempty"`
	// Subject is the subject line of the commit message, i.e. `git show --format=%s`.
	Subject string `json:"subject,omitempty"`
	// Body is the body of the commit message, excluding the subject line, i.e. `git show --format=%b`.
	Body string `json:"body,omitempty"`
	// Sha is the commit hash.
	Sha string `json:"sha,omitempty"`
	// RepoURL is the URL of the repository where the commit is located.
	RepoURL string `json:"repoURL,omitempty"`
}

CommitMetadata contains metadata about a commit that is related in some way to another commit.

func (*CommitMetadata) DeepCopy added in v0.6.0

func (in *CommitMetadata) DeepCopy() *CommitMetadata

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

func (*CommitMetadata) DeepCopyInto added in v0.6.0

func (in *CommitMetadata) DeepCopyInto(out *CommitMetadata)

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

type CommitShaState

type CommitShaState struct {
	// Sha is the SHA of the commit in the branch
	Sha string `json:"sha,omitempty"`
	// CommitTime is the time the commit was made
	CommitTime metav1.Time `json:"commitTime,omitempty"`
	// RepoURL is the URL of the repository where the commit is located
	RepoURL string `json:"repoURL,omitempty"`
	// Author is the author of the commit
	Author string `json:"author,omitempty"`
	// Subject is the subject line of the commit message
	Subject string `json:"subject,omitempty"`
	// Body is the body of the commit message without the subject line
	Body string `json:"body,omitempty"`
	// References are the references to other commits, that went into the hydration of the branch
	References []RevisionReference `json:"references,omitempty"`
}

CommitShaState defines the state of a commit in a branch.

func (*CommitShaState) DeepCopy

func (in *CommitShaState) DeepCopy() *CommitShaState

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

func (*CommitShaState) DeepCopyInto

func (in *CommitShaState) DeepCopyInto(out *CommitShaState)

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

type CommitStatus

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

	Spec   CommitStatusSpec   `json:"spec,omitempty"`
	Status CommitStatusStatus `json:"status,omitempty"`
}

CommitStatus is the Schema for the commitstatuses API +kubebuilder:printcolumn:name="Sha",type=string,JSONPath=`.status.sha` +kubebuilder:printcolumn:name="Phase",type=string,JSONPath=`.status.phase`

func (*CommitStatus) DeepCopy

func (in *CommitStatus) DeepCopy() *CommitStatus

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

func (*CommitStatus) DeepCopyInto

func (in *CommitStatus) DeepCopyInto(out *CommitStatus)

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

func (*CommitStatus) DeepCopyObject

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

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

func (*CommitStatus) GetConditions added in v0.8.0

func (cs *CommitStatus) GetConditions() *[]metav1.Condition

GetConditions returns the conditions of the CommitStatus

type CommitStatusList

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

CommitStatusList contains a list of CommitStatus

func (*CommitStatusList) DeepCopy

func (in *CommitStatusList) DeepCopy() *CommitStatusList

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

func (*CommitStatusList) DeepCopyInto

func (in *CommitStatusList) DeepCopyInto(out *CommitStatusList)

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

func (*CommitStatusList) DeepCopyObject

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

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

type CommitStatusPhase

type CommitStatusPhase string

CommitStatusPhase represents the phase of a commit status.

const (
	// CommitPhaseFailure indicates that the commit status has failed.
	CommitPhaseFailure CommitStatusPhase = "failure"
	// CommitPhaseSuccess indicates that the commit status has been successfully completed.
	CommitPhaseSuccess CommitStatusPhase = "success"
	// CommitPhasePending indicates that the commit status is still being processed or has not yet been set.
	CommitPhasePending CommitStatusPhase = "pending"
)

type CommitStatusSelector

type CommitStatusSelector struct {
	// +required
	// +kubebuilder:validation:MinLength:=1
	// +kubebuilder:validation:MaxLength:=63
	// +kubebuilder:validation:Pattern:=([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]
	Key string `json:"key"`
}

CommitStatusSelector is used to select commit statuses by their key.

func (*CommitStatusSelector) DeepCopy

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

func (*CommitStatusSelector) DeepCopyInto

func (in *CommitStatusSelector) DeepCopyInto(out *CommitStatusSelector)

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

type CommitStatusSpec

type CommitStatusSpec struct {

	// +kubebuilder:validation:Required
	RepositoryReference ObjectReference `json:"gitRepositoryRef"`

	// +kubebuilder:validation:Required
	Sha string `json:"sha"`

	// +kubebuilder:validation:Required
	Name string `json:"name"`

	Description string `json:"description"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default:=pending
	// +kubebuilder:validation:Enum:=pending;success;failure
	Phase CommitStatusPhase `json:"phase"` // pending, success, failure

	// Url is a URL that the user can follow to see more details about the status
	// +kubebuilder:validation:Pattern="^https?://.*$"
	// +kubebuilder:validation:Optional
	Url string `json:"url,omitempty"`
}

CommitStatusSpec defines the desired state of CommitStatus

func (*CommitStatusSpec) DeepCopy

func (in *CommitStatusSpec) DeepCopy() *CommitStatusSpec

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

func (*CommitStatusSpec) DeepCopyInto

func (in *CommitStatusSpec) DeepCopyInto(out *CommitStatusSpec)

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

type CommitStatusStatus

type CommitStatusStatus struct {

	// Id is the unique identifier of the commit status, set by the SCM
	Id  string `json:"id"`
	Sha string `json:"sha"`
	// +kubebuilder:default:=pending
	// +kubebuilder:validation:Enum:=pending;success;failure;
	// +kubebuilder:validation:Optional
	Phase CommitStatusPhase `json:"phase,omitempty"`

	// Conditions Represents the observations of the current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

CommitStatusStatus defines the observed state of CommitStatus

func (*CommitStatusStatus) DeepCopy

func (in *CommitStatusStatus) DeepCopy() *CommitStatusStatus

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

func (*CommitStatusStatus) DeepCopyInto

func (in *CommitStatusStatus) DeepCopyInto(out *CommitStatusStatus)

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

type ControllerConfiguration added in v0.2.0

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

	Spec   ControllerConfigurationSpec   `json:"spec,omitempty"`
	Status ControllerConfigurationStatus `json:"status,omitempty"`
}

ControllerConfiguration is the Schema for the controllerconfigurations API.

func (*ControllerConfiguration) DeepCopy added in v0.2.0

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

func (*ControllerConfiguration) DeepCopyInto added in v0.2.0

func (in *ControllerConfiguration) DeepCopyInto(out *ControllerConfiguration)

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

func (*ControllerConfiguration) DeepCopyObject added in v0.2.0

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

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

type ControllerConfigurationList added in v0.2.0

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

ControllerConfigurationList contains a list of ControllerConfiguration.

func (*ControllerConfigurationList) DeepCopy added in v0.2.0

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

func (*ControllerConfigurationList) DeepCopyInto added in v0.2.0

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

func (*ControllerConfigurationList) DeepCopyObject added in v0.2.0

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

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

type ControllerConfigurationSpec added in v0.2.0

type ControllerConfigurationSpec struct {

	// +required
	PullRequest PullRequestConfiguration `json:"pullRequest,omitempty"`

	// How frequently to requeue promotion strategy resources for auto reconciliation. Default: "5m".
	// Format is go's time.Duration, e.g. "5m" for 5 minutes.
	// +required
	PromotionStrategyRequeueDuration metav1.Duration `json:"promotionStrategyRequeueDuration,omitempty"`

	// How frequently to requeue proposed commit resources for auto reconciliation. Default: "5m".
	// Format is go's time.Duration, e.g. "5m" for 5 minutes.
	// +required
	ChangeTransferPolicyRequeueDuration metav1.Duration `json:"changeTransferPolicyRequeueDuration,omitempty"`

	// How frequently to requeue commit status resources for auto reconciliation. Default: "15s".
	// Format is go's time.Duration, e.g. "5m" for 5 minutes.
	// +required
	ArgoCDCommitStatusRequeueDuration metav1.Duration `json:"argocdCommitStatusRequeueDuration,omitempty"`

	// How frequently to requeue pull request resources for auto reconciliation. Default: "5m".
	// Format is go's time.Duration, e.g. "5m" for 5 minutes.
	// +required
	PullRequestRequeueDuration metav1.Duration `json:"pullRequestRequeueDuration,omitempty"`
}

ControllerConfigurationSpec defines the desired state of ControllerConfiguration.

func (*ControllerConfigurationSpec) DeepCopy added in v0.2.0

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

func (*ControllerConfigurationSpec) DeepCopyInto added in v0.2.0

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

type ControllerConfigurationStatus added in v0.2.0

type ControllerConfigurationStatus struct {
}

ControllerConfigurationStatus defines the observed state of ControllerConfiguration.

func (*ControllerConfigurationStatus) DeepCopy added in v0.2.0

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

func (*ControllerConfigurationStatus) DeepCopyInto added in v0.2.0

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

type Environment

type Environment struct {
	// Branch is the name of the active branch for the environment.
	// +kubebuilder:validation:Required
	Branch string `json:"branch"`
	// AutoMerge determines whether the dry commit should be automatically merged into the next branch in the sequence.
	// If false, the dry commit will be proposed but not merged.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=true
	AutoMerge *bool `json:"autoMerge,omitempty"`
	// ActiveCommitStatuses are commit statuses describing an actively running dry commit. If an active commit status
	// is failing for an environment, subsequent environments will not deploy the failing commit.
	//
	// The commit statuses specified in this field apply to this environment only. You can also specify commit statuses
	// for all environments in the `spec.activeCommitStatuses` field.
	// +kubebuilder:validation:Optional
	// +listType:=map
	// +listMapKey=key
	ActiveCommitStatuses []CommitStatusSelector `json:"activeCommitStatuses"`
	// ProposedCommitStatuses are commit statuses describing a proposed dry commit, i.e. one that is not yet running
	// in a live environment. If a proposed commit status is failing for a given environment, the dry commit will not
	// be promoted to that environment.
	//
	// The commit statuses specified in this field apply to this environment only. You can also specify commit statuses
	// for all environments in the `spec.proposedCommitStatuses` field.
	// +kubebuilder:validation:Optional
	// +listType:=map
	// +listMapKey=key
	ProposedCommitStatuses []CommitStatusSelector `json:"proposedCommitStatuses"`
}

Environment defines a single environment in the promotion sequence.

func (*Environment) DeepCopy

func (in *Environment) DeepCopy() *Environment

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

func (*Environment) DeepCopyInto

func (in *Environment) DeepCopyInto(out *Environment)

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

func (*Environment) GetAutoMerge

func (e *Environment) GetAutoMerge() bool

GetAutoMerge returns the value of the AutoMerge field, defaulting to true if the field is nil.

type EnvironmentStatus

type EnvironmentStatus struct {
	// Branch is the name of the active branch for the environment.
	Branch string `json:"branch"`
	// Proposed is the state of the proposed branch for the environment.
	Proposed CommitBranchState `json:"proposed"`
	// Active is the state of the active branch for the environment.
	Active CommitBranchState `json:"active"`

	// PullRequest is the state of the pull request that was created for this environment.
	PullRequest *PullRequestCommonStatus `json:"pullRequest,omitempty"`

	// LastHealthyDryShas is a list of dry commits that were observed to be healthy in the environment.
	// +kubebuilder:validation:Optional
	LastHealthyDryShas []HealthyDryShas `json:"lastHealthyDryShas"`

	// History defines the history of promoted changes done by the PromotionStrategy for each environment.
	// You can think of it as a list of PRs merged by GitOps Promoter. It will not include changes that were
	// manually merged. The history length is hard-coded to be at most 5 entries. This may change in the future.
	// History is constructed on a best-effort basis and should be used for informational purposes only.
	// History is in reverse chronological order (newest is first).
	History []History `json:"history,omitempty"`
}

EnvironmentStatus defines the observed state of an environment in a PromotionStrategy.

func (*EnvironmentStatus) DeepCopy

func (in *EnvironmentStatus) DeepCopy() *EnvironmentStatus

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

func (*EnvironmentStatus) DeepCopyInto

func (in *EnvironmentStatus) DeepCopyInto(out *EnvironmentStatus)

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

type Fake

type Fake struct {
	// Domain is the domain of the fake SCM provider. This is used for testing purposes.
	Domain string `json:"domain,omitempty"`
}

Fake is a placeholder for a fake SCM provider, used for testing purposes.

func (*Fake) DeepCopy

func (in *Fake) DeepCopy() *Fake

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

func (*Fake) DeepCopyInto

func (in *Fake) DeepCopyInto(out *Fake)

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

type FakeRepo added in v0.1.0

type FakeRepo struct {
	// Owner is the owner of the repository.
	// +kubebuilder:validation:Required
	Owner string `json:"owner"`
	// Name is the name of the repository.
	// +kubebuilder:validation:Required
	Name string `json:"name"`
}

FakeRepo is a placeholder for a repository in the fake SCM provider, used for testing purposes.

func (*FakeRepo) DeepCopy added in v0.1.0

func (in *FakeRepo) DeepCopy() *FakeRepo

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

func (*FakeRepo) DeepCopyInto added in v0.1.0

func (in *FakeRepo) DeepCopyInto(out *FakeRepo)

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

type Forgejo added in v0.6.0

type Forgejo struct {
	// Domain is the Forgejo domain, such as "codeberg.org" or "forgejo.mycompany.com".
	// There is no default domain since Forgejo is not a service like Gitlab or Github.
	// +kubebuilder:validation:Required
	Domain string `json:"domain"`
}

Forgejo is a Forgejo SCM provider configuration. It is used to configure the Forgejo settings.

func (*Forgejo) DeepCopy added in v0.6.0

func (in *Forgejo) DeepCopy() *Forgejo

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

func (*Forgejo) DeepCopyInto added in v0.6.0

func (in *Forgejo) DeepCopyInto(out *Forgejo)

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

type ForgejoRepo added in v0.6.0

type ForgejoRepo struct {
	// Owner is the owner of the repository.
	// +kubebuilder:validation:Required
	Owner string `json:"owner"`
	// Name is the name of the repository.
	// +kubebuilder:validation:Required
	Name string `json:"name"`
}

ForgejoRepo is a repository in Forgejo, identified by its owner and name.

func (*ForgejoRepo) DeepCopy added in v0.6.0

func (in *ForgejoRepo) DeepCopy() *ForgejoRepo

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

func (*ForgejoRepo) DeepCopyInto added in v0.6.0

func (in *ForgejoRepo) DeepCopyInto(out *ForgejoRepo)

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

type GenericScmProvider added in v0.4.0

type GenericScmProvider interface {
	runtime.Object
	metav1.Object
	GetSpec() *ScmProviderSpec
}

GenericScmProvider is a common interface for interacting with either cluster-scoped ClusterScmProvider or namespaced ScmProviders.

type GitHub

type GitHub struct {
	// Domain is the GitHub domain, such as "github.mycompany.com". If using the default GitHub domain, leave this field
	// empty.
	// +kubebuilder:validation:XValidation:rule=`self != "github.com"`, message="Instead of setting the domain to github.com, leave the field blank"
	Domain string `json:"domain,omitempty"`
	// AppID is the GitHub App ID.
	// +kubebuilder:validation:Required
	AppID int64 `json:"appID"`
	// InstallationID is the GitHub App Installation ID.
	// +kubebuilder:validation:Required
	InstallationID int64 `json:"installationID"`
}

GitHub is a GitHub SCM provider configuration. It is used to configure the GitHub settings.

func (*GitHub) DeepCopy

func (in *GitHub) DeepCopy() *GitHub

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

func (*GitHub) DeepCopyInto

func (in *GitHub) DeepCopyInto(out *GitHub)

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

type GitHubRepo added in v0.1.0

type GitHubRepo struct {

	// Owner is the owner of the repository, which can be a user or an organization.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=39
	// +kubebuilder:validation:Pattern=^[a-zA-Z0-9][a-zA-Z0-9\-]*$
	Owner string `json:"owner"`
	// Name is the name of the repository.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=100
	// +kubebuilder:validation:Pattern=^[a-zA-Z0-9_\-\.]+$
	Name string `json:"name"`
}

GitHubRepo is a repository in GitHub, identified by its owner and name.

func (*GitHubRepo) DeepCopy added in v0.1.0

func (in *GitHubRepo) DeepCopy() *GitHubRepo

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

func (*GitHubRepo) DeepCopyInto added in v0.1.0

func (in *GitHubRepo) DeepCopyInto(out *GitHubRepo)

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

type GitLab added in v0.1.0

type GitLab struct {
	// Domain is the GitLab domain, such as "gitlab.mycompany.com". If using the default GitLab domain, leave this field
	// empty.
	Domain string `json:"domain,omitempty"`
}

GitLab is a GitLab SCM provider configuration. It is used to configure the GitLab settings.

func (*GitLab) DeepCopy added in v0.1.0

func (in *GitLab) DeepCopy() *GitLab

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

func (*GitLab) DeepCopyInto added in v0.1.0

func (in *GitLab) DeepCopyInto(out *GitLab)

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

type GitLabRepo added in v0.1.0

type GitLabRepo struct {
	// Namespace is the user, group or group with subgroup (e.g. group/subgroup).
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=^[a-zA-Z0-9_\-\/.]+$
	Namespace string `json:"namespace"`
	// Name is the project slug of the repository.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Pattern=^[a-zA-Z0-9_\-\/.]+$
	Name string `json:"name"`
	// ProjectID is the ID of the project in GitLab.
	// +kubebuilder:validation:Required
	ProjectID int `json:"projectId"`
}

GitLabRepo is a repository in GitLab, identified by its namespace, name, and project ID.

func (*GitLabRepo) DeepCopy added in v0.1.0

func (in *GitLabRepo) DeepCopy() *GitLabRepo

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

func (*GitLabRepo) DeepCopyInto added in v0.1.0

func (in *GitLabRepo) DeepCopyInto(out *GitLabRepo)

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 (*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.

type GitRepositoryList

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

GitRepositoryList contains a list of GitRepository

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 GitRepositorySpec

type GitRepositorySpec struct {
	GitHub  *GitHubRepo  `json:"github,omitempty"`
	GitLab  *GitLabRepo  `json:"gitlab,omitempty"`
	Forgejo *ForgejoRepo `json:"forgejo,omitempty"`
	Fake    *FakeRepo    `json:"fake,omitempty"`
	// +kubebuilder:validation:Required
	ScmProviderRef ScmProviderObjectReference `json:"scmProviderRef"`
}

GitRepositorySpec defines the desired state of GitRepository

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 {
}

GitRepositoryStatus defines the observed state of GitRepository

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 HealthyDryShas

type HealthyDryShas struct {
	// Sha is the commit SHA of the dry commit that was observed to be healthy.
	Sha string `json:"sha"`
	// Time is the time when the proposed commit for the given dry SHA was merged into the active branch.
	Time metav1.Time `json:"time"`
}

HealthyDryShas is a list of dry commits that were observed to be healthy in the environment.

func (*HealthyDryShas) DeepCopy

func (in *HealthyDryShas) DeepCopy() *HealthyDryShas

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

func (*HealthyDryShas) DeepCopyInto

func (in *HealthyDryShas) DeepCopyInto(out *HealthyDryShas)

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

type History added in v0.11.1

type History struct {
	// Proposed is the state of the proposed branch at the time the PR was merged.
	Proposed CommitBranchStateHistoryProposed `json:"proposed,omitempty"`
	// Active is the state of the active branch at the time the PR was merged.
	Active CommitBranchState `json:"active,omitempty"`
	// PullRequest is the state of the pull request that was created for this ChangeTransferPolicy.
	PullRequest *PullRequestCommonStatus `json:"pullRequest,omitempty"`
}

History describes a particular change that was promoted by the ChangeTransferPolicy.

func (*History) DeepCopy added in v0.11.1

func (in *History) DeepCopy() *History

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

func (*History) DeepCopyInto added in v0.11.1

func (in *History) DeepCopyInto(out *History)

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

type ObjectReference

type ObjectReference struct {
	// Name is the name of the object to refer to.
	// +kubebuilder:validation:Required
	Name string `json:"name"`
}

ObjectReference is a reference to an object by name. It is used to refer to objects in the same namespace.

func (*ObjectReference) DeepCopy

func (in *ObjectReference) DeepCopy() *ObjectReference

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

func (*ObjectReference) DeepCopyInto

func (in *ObjectReference) DeepCopyInto(out *ObjectReference)

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

type PromotionStrategy

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

	Spec   PromotionStrategySpec   `json:"spec,omitempty"`
	Status PromotionStrategyStatus `json:"status,omitempty"`
}

PromotionStrategy is the Schema for the promotionstrategies API +kubebuilder:printcolumn:name="Active Dry Sha",type=string,JSONPath=`.status.active.dry.sha` +kubebuilder:printcolumn:name="Proposed Dry Sha",type=string,JSONPath=`.status.proposed.dry.sha`

func (*PromotionStrategy) DeepCopy

func (in *PromotionStrategy) DeepCopy() *PromotionStrategy

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

func (*PromotionStrategy) DeepCopyInto

func (in *PromotionStrategy) DeepCopyInto(out *PromotionStrategy)

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

func (*PromotionStrategy) DeepCopyObject

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

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

func (*PromotionStrategy) GetConditions added in v0.8.0

func (ps *PromotionStrategy) GetConditions() *[]metav1.Condition

GetConditions returns the conditions of the PromotionStrategy.

type PromotionStrategyList

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

PromotionStrategyList contains a list of PromotionStrategy

func (*PromotionStrategyList) DeepCopy

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

func (*PromotionStrategyList) DeepCopyInto

func (in *PromotionStrategyList) DeepCopyInto(out *PromotionStrategyList)

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

func (*PromotionStrategyList) DeepCopyObject

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

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

type PromotionStrategySpec

type PromotionStrategySpec struct {

	// RepositoryReference indicates what repository to promote commits in.
	// +kubebuilder:validation:Required
	RepositoryReference ObjectReference `json:"gitRepositoryRef"`

	// ActiveCommitStatuses are commit statuses describing an actively running dry commit. If an active commit status
	// is failing for an environment, subsequent environments will not deploy the failing commit.
	//
	// The commit statuses specified in this field apply to all environments in the promotion sequence. You can also
	// specify commit statuses for individual environments in the `environments` field.
	// +kubebuilder:validation:Optional
	// +listType:=map
	// +listMapKey=key
	ActiveCommitStatuses []CommitStatusSelector `json:"activeCommitStatuses"`

	// ProposedCommitStatuses are commit statuses describing a proposed dry commit, i.e. one that is not yet running
	// in a live environment. If a proposed commit status is failing for a given environment, the dry commit will not
	// be promoted to that environment.
	//
	// The commit statuses specified in this field apply to all environments in the promotion sequence. You can also
	// specify commit statuses for individual environments in the `environments` field.
	// +kubebuilder:validation:Optional
	// +listType:=map
	// +listMapKey=key
	ProposedCommitStatuses []CommitStatusSelector `json:"proposedCommitStatuses"`

	// Environments is the sequence of environments that a dry commit will be promoted through.
	// +kubebuilder:validation:MinItems:=1
	// +listType:=map
	// +listMapKey=branch
	Environments []Environment `json:"environments"`
}

PromotionStrategySpec defines the desired state of PromotionStrategy

func (*PromotionStrategySpec) DeepCopy

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

func (*PromotionStrategySpec) DeepCopyInto

func (in *PromotionStrategySpec) DeepCopyInto(out *PromotionStrategySpec)

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

type PromotionStrategyStatus

type PromotionStrategyStatus struct {
	// Environments holds the status of each environment in the promotion sequence.
	// +listType:=map
	// +listMapKey=branch
	Environments []EnvironmentStatus `json:"environments"`

	// Conditions Represents the observations of the current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

PromotionStrategyStatus defines the observed state of PromotionStrategy

func (*PromotionStrategyStatus) DeepCopy

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

func (*PromotionStrategyStatus) DeepCopyInto

func (in *PromotionStrategyStatus) DeepCopyInto(out *PromotionStrategyStatus)

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

type PullRequest

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

	Spec   PullRequestSpec   `json:"spec,omitempty"`
	Status PullRequestStatus `json:"status,omitempty"`
}

PullRequest is the Schema for the pullrequests API +kubebuilder:printcolumn:name="ID",type=string,JSONPath=`.status.id` +kubebuilder:printcolumn:name="State",type=string,JSONPath=`.status.state`

func (*PullRequest) DeepCopy

func (in *PullRequest) DeepCopy() *PullRequest

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

func (*PullRequest) DeepCopyInto

func (in *PullRequest) DeepCopyInto(out *PullRequest)

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

func (*PullRequest) DeepCopyObject

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

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

func (*PullRequest) GetConditions added in v0.8.0

func (ps *PullRequest) GetConditions() *[]metav1.Condition

GetConditions returns the conditions of the PullRequest.

type PullRequestCommonStatus added in v0.10.0

type PullRequestCommonStatus struct {
	// ID is the unique identifier of the pull request, set by the SCM.
	ID string `json:"id,omitempty"`
	// State is the state of the pull request.
	// +kubebuilder:validation:Enum=closed;merged;open
	State PullRequestState `json:"state,omitempty"`
	// PRCreationTime is the time when the pull request was created.
	PRCreationTime metav1.Time `json:"prCreationTime,omitempty"`
	// Url is the URL of the pull request.
	Url string `json:"url,omitempty"`
}

PullRequestCommonStatus defines the common status fields for a pull request.

func (*PullRequestCommonStatus) DeepCopy added in v0.10.0

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

func (*PullRequestCommonStatus) DeepCopyInto added in v0.10.0

func (in *PullRequestCommonStatus) DeepCopyInto(out *PullRequestCommonStatus)

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

type PullRequestConfiguration added in v0.1.0

type PullRequestConfiguration struct {
	// Template is the template used to generate pull requests.
	// +required
	Template PullRequestTemplate `json:"template,omitempty"`
}

PullRequestConfiguration defines the configuration for pull requests.

func (*PullRequestConfiguration) DeepCopy added in v0.1.0

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

func (*PullRequestConfiguration) DeepCopyInto added in v0.1.0

func (in *PullRequestConfiguration) DeepCopyInto(out *PullRequestConfiguration)

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

type PullRequestList

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

PullRequestList contains a list of PullRequest

func (*PullRequestList) DeepCopy

func (in *PullRequestList) DeepCopy() *PullRequestList

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

func (*PullRequestList) DeepCopyInto

func (in *PullRequestList) DeepCopyInto(out *PullRequestList)

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

func (*PullRequestList) DeepCopyObject

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

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

type PullRequestSpec

type PullRequestSpec struct {

	// RepositoryReference indicates what repository to open the PR on.
	// +kubebuilder:validation:Required
	RepositoryReference ObjectReference `json:"gitRepositoryRef"`
	// Title is the title of the pull request.
	// +kubebuilder:validation:Required
	Title string `json:"title"`
	// TargetBranch is the head the git reference we are merging from Head ---> Base
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +kubebuilder:validation:Required
	TargetBranch string `json:"targetBranch"`
	// SourceBranch is the base the git reference that we are merging into Head ---> Base
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable"
	// +kubebuilder:validation:Required
	SourceBranch string `json:"sourceBranch"`
	// Description is the description body of the pull/merge request
	Description string `json:"description,omitempty"`
	// Commit contains configuration for how we will merge/squash/etc the pull request.
	Commit CommitConfiguration `json:"commit,omitempty"`
	// State of the merge request closed/merged/open
	// +kubebuilder:default:=open
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=closed;merged;open
	State PullRequestState `json:"state"`
}

PullRequestSpec defines the desired state of PullRequest

func (*PullRequestSpec) DeepCopy

func (in *PullRequestSpec) DeepCopy() *PullRequestSpec

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

func (*PullRequestSpec) DeepCopyInto

func (in *PullRequestSpec) DeepCopyInto(out *PullRequestSpec)

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

type PullRequestState

type PullRequestState string

PullRequestState represents the state of a pull request.

const (
	// PullRequestClosed indicates that the pull request is closed.
	PullRequestClosed PullRequestState = "closed"
	// PullRequestOpen indicates that the pull request is open.
	PullRequestOpen PullRequestState = "open"
	// PullRequestMerged indicates that the pull request has been merged.
	PullRequestMerged PullRequestState = "merged"
)

type PullRequestStatus

type PullRequestStatus struct {

	// ID the id of the pull request
	ID string `json:"id,omitempty"`
	// State of the merge request closed/merged/open
	// +kubebuilder:validation:Enum="";closed;merged;open
	State PullRequestState `json:"state,omitempty"`
	// PRCreationTime the time the PR was created
	PRCreationTime metav1.Time `json:"prCreationTime,omitempty"`
	// Url is the URL of the pull request.
	Url string `json:"url,omitempty"`

	// Conditions Represents the observations of the current state.
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

PullRequestStatus defines the observed state of PullRequest

func (*PullRequestStatus) DeepCopy

func (in *PullRequestStatus) DeepCopy() *PullRequestStatus

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

func (*PullRequestStatus) DeepCopyInto

func (in *PullRequestStatus) DeepCopyInto(out *PullRequestStatus)

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

type PullRequestTemplate added in v0.1.0

type PullRequestTemplate struct {
	// Title used to generate the title of the pull request.
	// Uses Go template syntax and Sprig functions are available.
	// +required
	Title string `json:"title,omitempty"`
	// Description used to generate the description of the pull request.
	// Uses Go template syntax and Sprig functions are available.
	// +required
	Description string `json:"description,omitempty"`
}

PullRequestTemplate defines the template for pull requests.

func (*PullRequestTemplate) DeepCopy added in v0.1.0

func (in *PullRequestTemplate) DeepCopy() *PullRequestTemplate

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

func (*PullRequestTemplate) DeepCopyInto added in v0.1.0

func (in *PullRequestTemplate) DeepCopyInto(out *PullRequestTemplate)

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

type RevertCommit

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

	Spec   RevertCommitSpec   `json:"spec,omitempty"`
	Status RevertCommitStatus `json:"status,omitempty"`
}

RevertCommit is the Schema for the revertcommits API

func (*RevertCommit) DeepCopy

func (in *RevertCommit) DeepCopy() *RevertCommit

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

func (*RevertCommit) DeepCopyInto

func (in *RevertCommit) DeepCopyInto(out *RevertCommit)

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

func (*RevertCommit) DeepCopyObject

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

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

type RevertCommitList

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

RevertCommitList contains a list of RevertCommit

func (*RevertCommitList) DeepCopy

func (in *RevertCommitList) DeepCopy() *RevertCommitList

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

func (*RevertCommitList) DeepCopyInto

func (in *RevertCommitList) DeepCopyInto(out *RevertCommitList)

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

func (*RevertCommitList) DeepCopyObject

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

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

type RevertCommitSpec

type RevertCommitSpec struct {

	// Foo is an example field of RevertCommit. Edit revertcommit_types.go to remove/update
	Foo string `json:"foo,omitempty"`
}

RevertCommitSpec defines the desired state of RevertCommit

func (*RevertCommitSpec) DeepCopy

func (in *RevertCommitSpec) DeepCopy() *RevertCommitSpec

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

func (*RevertCommitSpec) DeepCopyInto

func (in *RevertCommitSpec) DeepCopyInto(out *RevertCommitSpec)

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

type RevertCommitStatus

type RevertCommitStatus struct {
}

RevertCommitStatus defines the observed state of RevertCommit

func (*RevertCommitStatus) DeepCopy

func (in *RevertCommitStatus) DeepCopy() *RevertCommitStatus

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

func (*RevertCommitStatus) DeepCopyInto

func (in *RevertCommitStatus) DeepCopyInto(out *RevertCommitStatus)

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

type RevisionReference added in v0.6.0

type RevisionReference struct {
	// Commit contains metadata about the commit that is related in some way to another commit.
	Commit *CommitMetadata `json:"commit,omitempty"`
}

RevisionReference contains a reference to a some information that is related in some way to another commit. For now, it supports only references to a commit. In the future, it may support other types of references.

func (*RevisionReference) DeepCopy added in v0.6.0

func (in *RevisionReference) DeepCopy() *RevisionReference

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

func (*RevisionReference) DeepCopyInto added in v0.6.0

func (in *RevisionReference) DeepCopyInto(out *RevisionReference)

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

type ScmProvider

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

	Spec   ScmProviderSpec   `json:"spec,omitempty"`
	Status ScmProviderStatus `json:"status,omitempty"`
}

ScmProvider is the Schema for the scmproviders API

func (*ScmProvider) DeepCopy

func (in *ScmProvider) DeepCopy() *ScmProvider

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

func (*ScmProvider) DeepCopyInto

func (in *ScmProvider) DeepCopyInto(out *ScmProvider)

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

func (*ScmProvider) DeepCopyObject

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

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

func (*ScmProvider) GetSpec added in v0.4.0

func (s *ScmProvider) GetSpec() *ScmProviderSpec

GetSpec returns the ScmProviderSpec for the ScmProvider.

type ScmProviderList

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

ScmProviderList contains a list of ScmProvider

func (*ScmProviderList) DeepCopy

func (in *ScmProviderList) DeepCopy() *ScmProviderList

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

func (*ScmProviderList) DeepCopyInto

func (in *ScmProviderList) DeepCopyInto(out *ScmProviderList)

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

func (*ScmProviderList) DeepCopyObject

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

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

type ScmProviderObjectReference added in v0.4.0

type ScmProviderObjectReference struct {
	// Kind is the type of resource being referenced
	// +kubebuilder:validation:Required
	// +kubebuilder:default:=ScmProvider
	// +kubebuilder:validation:Enum:=ScmProvider;ClusterScmProvider
	Kind string `json:"kind"`
	// Name is the name of the resource being referenced
	// +kubebuilder:validation:Required
	Name string `json:"name"`
}

ScmProviderObjectReference is a reference to a SCM provider object.

func (*ScmProviderObjectReference) DeepCopy added in v0.4.0

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

func (*ScmProviderObjectReference) DeepCopyInto added in v0.4.0

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

type ScmProviderSpec

type ScmProviderSpec struct {

	// SecretRef contains the credentials required to auth to a specific provider
	SecretRef *v1.LocalObjectReference `json:"secretRef,omitempty"`

	// GitHub required configuration for GitHub as the SCM provider
	GitHub *GitHub `json:"github,omitempty"`

	// GitLab required configuration for GitLab as the SCM provider
	GitLab *GitLab `json:"gitlab,omitempty"`

	// Forgejo required configuration for Forgejo as the SCM provider
	Forgejo *Forgejo `json:"forgejo,omitempty"`

	// Fake required configuration for Fake as the SCM provider
	Fake *Fake `json:"fake,omitempty"`
}

ScmProviderSpec defines the desired state of ScmProvider

func (*ScmProviderSpec) DeepCopy

func (in *ScmProviderSpec) DeepCopy() *ScmProviderSpec

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

func (*ScmProviderSpec) DeepCopyInto

func (in *ScmProviderSpec) DeepCopyInto(out *ScmProviderSpec)

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

type ScmProviderStatus

type ScmProviderStatus struct {
}

ScmProviderStatus defines the observed state of ScmProvider

func (*ScmProviderStatus) DeepCopy

func (in *ScmProviderStatus) DeepCopy() *ScmProviderStatus

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

func (*ScmProviderStatus) DeepCopyInto

func (in *ScmProviderStatus) DeepCopyInto(out *ScmProviderStatus)

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

type URLConfig added in v0.11.1

type URLConfig struct {
	// Template is a go text template and receives .Environment and .ArgoCDCommitStatus variables. A function called urlQueryEscape
	// is available to escape url query parameters. The template can be configured with options to control the behavior
	// during execution if a variable is not present.
	//
	// Example:
	//
	//   {{- $baseURL := "https://dev.argocd.local" -}}
	//   {{- if eq .Environment "environment/development" -}}
	//   {{- $baseURL = "https://dev.argocd.local" -}}
	//   {{- else if eq .Environment "environment/staging" -}}
	//   {{- $baseURL = "https://staging.argocd.local" -}}
	//   {{- else if eq .Environment "environment/production" -}}
	//   {{- $baseURL = "https://prod.argocd.local" -}}
	//   {{- end -}}
	//   {{- $labels := "" -}}
	//   {{- range $key, $value := .ArgoCDCommitStatus.Spec.ApplicationSelector.MatchLabels -}}
	//   {{- $labels = printf "%s%s=%s," $labels $key $value -}}
	//   {{- end -}}
	//   {{ printf "%s/applications?labels=%s" $baseURL (urlQueryEscape $labels) }}
	//
	// +kubebuilder:validation:Optional
	Template string `json:"template,omitempty"`

	// Options sets options for the template. Options are described by
	// strings, either a simple string or "key=value". There can be at
	// most one equals sign in an option string. If the option string
	// is unrecognized or otherwise invalid, Option panics.
	//
	// Known options:
	//
	// missingkey: Control the behavior during execution if a map is
	// indexed with a key that is not present in the map.
	//
	//	"missingkey=default" or "missingkey=invalid"
	//		The default behavior: Do nothing and continue execution.
	//		If printed, the result of the index operation is the string
	//		"<no value>".
	//	"missingkey=zero"
	//		The operation returns the zero value for the map type's element.
	//	"missingkey=error"
	//		Execution stops immediately with an error.
	//
	// +kubebuilder:validation:Optional
	Options []string `json:"options,omitempty"`
}

URLConfig is a template that can be rendered using the Go template engine.

func (*URLConfig) DeepCopy added in v0.11.1

func (in *URLConfig) DeepCopy() *URLConfig

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

func (*URLConfig) DeepCopyInto added in v0.11.1

func (in *URLConfig) DeepCopyInto(out *URLConfig)

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