v1alpha1

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2022 License: Apache-2.0 Imports: 10 Imported by: 1

Documentation

Overview

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

Index

Constants

View Source
const (
	ApplicationSetReasonErrorOccurred                    = "ErrorOccurred"
	ApplicationSetReasonApplicationSetUpToDate           = "ApplicationSetUpToDate"
	ApplicationSetReasonParametersGenerated              = "ParametersGenerated"
	ApplicationSetReasonApplicationGenerated             = "ApplicationGeneratedSuccessfully"
	ApplicationSetReasonUpdateApplicationError           = "UpdateApplicationError"
	ApplicationSetReasonApplicationParamsGenerationError = "ApplicationGenerationFromParamsError"
	ApplicationSetReasonRenderTemplateParamsError        = "RenderTemplateParamsError"
	ApplicationSetReasonCreateApplicationError           = "CreateApplicationError"
	ApplicationSetReasonDeleteApplicationError           = "DeleteApplicationError"
	ApplicationSetReasonRefreshApplicationError          = "RefreshApplicationError"
	ApplicationSetReasonApplicationValidationError       = "ApplicationValidationError"
)

Variables

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

Functions

This section is empty.

Types

type ApplicationSet

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

	Spec   ApplicationSetSpec   `json:"spec"`
	Status ApplicationSetStatus `json:"status,omitempty"`
}

ApplicationSet is a set of Application resources +kubebuilder:object:root=true +kubebuilder:resource:path=applicationsets,shortName=appset;appsets +kubebuilder:subresource:status

func (*ApplicationSet) DeepCopy

func (in *ApplicationSet) DeepCopy() *ApplicationSet

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

func (*ApplicationSet) DeepCopyInto

func (in *ApplicationSet) DeepCopyInto(out *ApplicationSet)

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

func (*ApplicationSet) DeepCopyObject

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

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

func (*ApplicationSet) RefreshRequired

func (a *ApplicationSet) RefreshRequired() bool

RefreshRequired checks if the ApplicationSet needs to be refreshed

type ApplicationSetCondition

type ApplicationSetCondition struct {
	// Type is an applicationset condition type
	Type ApplicationSetConditionType `json:"type" protobuf:"bytes,1,opt,name=type"`
	// Message contains human-readable message indicating details about condition
	Message string `json:"message" protobuf:"bytes,2,opt,name=message"`
	// LastTransitionTime is the time the condition was last observed
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// True/False/Unknown
	Status ApplicationSetConditionStatus `json:"status" protobuf:"bytes,4,opt,name=status"`
	//Single word camelcase representing the reason for the status eg ErrorOccurred
	Reason string `json:"reason" protobuf:"bytes,5,opt,name=reason"`
}

ApplicationSetCondition contains details about an applicationset condition, which is usally an error or warning

func (*ApplicationSetCondition) DeepCopy

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

func (*ApplicationSetCondition) DeepCopyInto

func (in *ApplicationSetCondition) DeepCopyInto(out *ApplicationSetCondition)

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

type ApplicationSetConditionStatus

type ApplicationSetConditionStatus string

SyncStatusCode is a type which represents possible comparison results

const (
	// ApplicationSetConditionStatusTrue indicates that a application has been successfully established
	ApplicationSetConditionStatusTrue ApplicationSetConditionStatus = "True"
	// ApplicationSetConditionStatusFalse indicates that a application attempt has failed
	ApplicationSetConditionStatusFalse ApplicationSetConditionStatus = "False"
	// ApplicationSetConditionStatusUnknown indicates that the application condition status could not be reliably determined
	ApplicationSetConditionStatusUnknown ApplicationSetConditionStatus = "Unknown"
)

Application Condition Status

type ApplicationSetConditionType

type ApplicationSetConditionType string

ApplicationSetConditionType represents type of application condition. Type name has following convention: prefix "Error" means error condition prefix "Warning" means warning condition prefix "Info" means informational condition

const (
	ApplicationSetConditionErrorOccurred       ApplicationSetConditionType = "ErrorOccurred"
	ApplicationSetConditionParametersGenerated ApplicationSetConditionType = "ParametersGenerated"
	ApplicationSetConditionResourcesUpToDate   ApplicationSetConditionType = "ResourcesUpToDate"
)

ErrorOccurred / ParametersGenerated / TemplateRendered / ResourcesUpToDate

type ApplicationSetGenerator

type ApplicationSetGenerator struct {
	List                    *ListGenerator        `json:"list,omitempty"`
	Clusters                *ClusterGenerator     `json:"clusters,omitempty"`
	Git                     *GitGenerator         `json:"git,omitempty"`
	SCMProvider             *SCMProviderGenerator `json:"scmProvider,omitempty"`
	ClusterDecisionResource *DuckTypeGenerator    `json:"clusterDecisionResource,omitempty"`
	PullRequest             *PullRequestGenerator `json:"pullRequest,omitempty"`
	Matrix                  *MatrixGenerator      `json:"matrix,omitempty"`
	Merge                   *MergeGenerator       `json:"merge,omitempty"`
}

ApplicationSetGenerator represents a generator at the top level of an ApplicationSet.

func (*ApplicationSetGenerator) DeepCopy

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

func (*ApplicationSetGenerator) DeepCopyInto

func (in *ApplicationSetGenerator) DeepCopyInto(out *ApplicationSetGenerator)

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

type ApplicationSetList

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

ApplicationSetList contains a list of ApplicationSet +kubebuilder:object:root=true

func (*ApplicationSetList) DeepCopy

func (in *ApplicationSetList) DeepCopy() *ApplicationSetList

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

func (*ApplicationSetList) DeepCopyInto

func (in *ApplicationSetList) DeepCopyInto(out *ApplicationSetList)

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

func (*ApplicationSetList) DeepCopyObject

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

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

type ApplicationSetNestedGenerator

type ApplicationSetNestedGenerator struct {
	List                    *ListGenerator        `json:"list,omitempty"`
	Clusters                *ClusterGenerator     `json:"clusters,omitempty"`
	Git                     *GitGenerator         `json:"git,omitempty"`
	SCMProvider             *SCMProviderGenerator `json:"scmProvider,omitempty"`
	ClusterDecisionResource *DuckTypeGenerator    `json:"clusterDecisionResource,omitempty"`
	PullRequest             *PullRequestGenerator `json:"pullRequest,omitempty"`

	// Matrix should have the form of NestedMatrixGenerator
	Matrix *apiextensionsv1.JSON `json:"matrix,omitempty"`

	// Merge should have the form of NestedMergeGenerator
	Merge *apiextensionsv1.JSON `json:"merge,omitempty"`
}

ApplicationSetNestedGenerator represents a generator nested within a combination-type generator (MatrixGenerator or MergeGenerator).

func (*ApplicationSetNestedGenerator) DeepCopy

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

func (*ApplicationSetNestedGenerator) DeepCopyInto

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

type ApplicationSetNestedGenerators

type ApplicationSetNestedGenerators []ApplicationSetNestedGenerator

func (ApplicationSetNestedGenerators) DeepCopy

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

func (ApplicationSetNestedGenerators) DeepCopyInto

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

type ApplicationSetReasonType

type ApplicationSetReasonType string

type ApplicationSetSpec

type ApplicationSetSpec struct {
	Generators []ApplicationSetGenerator `json:"generators"`
	Template   ApplicationSetTemplate    `json:"template"`
	SyncPolicy *ApplicationSetSyncPolicy `json:"syncPolicy,omitempty"`
}

ApplicationSetSpec represents a class of application set state.

func (*ApplicationSetSpec) DeepCopy

func (in *ApplicationSetSpec) DeepCopy() *ApplicationSetSpec

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

func (*ApplicationSetSpec) DeepCopyInto

func (in *ApplicationSetSpec) DeepCopyInto(out *ApplicationSetSpec)

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

type ApplicationSetStatus

type ApplicationSetStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Conditions []ApplicationSetCondition `json:"conditions,omitempty"`
}

ApplicationSetStatus defines the observed state of ApplicationSet

func (*ApplicationSetStatus) DeepCopy

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

func (*ApplicationSetStatus) DeepCopyInto

func (in *ApplicationSetStatus) DeepCopyInto(out *ApplicationSetStatus)

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

func (*ApplicationSetStatus) SetConditions

func (status *ApplicationSetStatus) SetConditions(conditions []ApplicationSetCondition, evaluatedTypes map[ApplicationSetConditionType]bool)

SetConditions updates the applicationset status conditions for a subset of evaluated types. If the applicationset has a pre-existing condition of a type that is not in the evaluated list, it will be preserved. If the applicationset has a pre-existing condition of a type, status, reason that is in the evaluated list, but not in the incoming conditions list, it will be removed.

type ApplicationSetSyncPolicy

type ApplicationSetSyncPolicy struct {
	// PreserveResourcesOnDeletion will preserve resources on deletion. If PreserveResourcesOnDeletion is set to true, these Applications will not be deleted.
	PreserveResourcesOnDeletion bool `json:"preserveResourcesOnDeletion,omitempty"`
}

ApplicationSetSyncPolicy configures how generated Applications will relate to their ApplicationSet.

func (*ApplicationSetSyncPolicy) DeepCopy

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

func (*ApplicationSetSyncPolicy) DeepCopyInto

func (in *ApplicationSetSyncPolicy) DeepCopyInto(out *ApplicationSetSyncPolicy)

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

type ApplicationSetTemplate

type ApplicationSetTemplate struct {
	ApplicationSetTemplateMeta `json:"metadata"`
	Spec                       v1alpha1.ApplicationSpec `json:"spec"`
}

ApplicationSetTemplate represents argocd ApplicationSpec

func (*ApplicationSetTemplate) DeepCopy

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

func (*ApplicationSetTemplate) DeepCopyInto

func (in *ApplicationSetTemplate) DeepCopyInto(out *ApplicationSetTemplate)

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

type ApplicationSetTemplateMeta

type ApplicationSetTemplateMeta struct {
	Name        string            `json:"name,omitempty"`
	Namespace   string            `json:"namespace,omitempty"`
	Labels      map[string]string `json:"labels,omitempty"`
	Annotations map[string]string `json:"annotations,omitempty"`
	Finalizers  []string          `json:"finalizers,omitempty"`
}

ApplicationSetTemplateMeta represents the Argo CD application fields that may be used for Applications generated from the ApplicationSet (based on metav1.ObjectMeta)

func (*ApplicationSetTemplateMeta) DeepCopy

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

func (*ApplicationSetTemplateMeta) DeepCopyInto

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

type ApplicationSetTerminalGenerator

type ApplicationSetTerminalGenerator struct {
	List                    *ListGenerator        `json:"list,omitempty"`
	Clusters                *ClusterGenerator     `json:"clusters,omitempty"`
	Git                     *GitGenerator         `json:"git,omitempty"`
	SCMProvider             *SCMProviderGenerator `json:"scmProvider,omitempty"`
	ClusterDecisionResource *DuckTypeGenerator    `json:"clusterDecisionResource,omitempty"`
	PullRequest             *PullRequestGenerator `json:"pullRequest,omitempty"`
}

ApplicationSetTerminalGenerator represents a generator nested within a nested generator (for example, a list within a merge within a matrix). A generator at this level may not be a combination-type generator (MatrixGenerator or MergeGenerator). ApplicationSet enforces this nesting depth limit because CRDs do not support recursive types. https://github.com/kubernetes-sigs/controller-tools/issues/477

func (*ApplicationSetTerminalGenerator) DeepCopy

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

func (*ApplicationSetTerminalGenerator) DeepCopyInto

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

type ApplicationSetTerminalGenerators

type ApplicationSetTerminalGenerators []ApplicationSetTerminalGenerator

func (ApplicationSetTerminalGenerators) DeepCopy

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

func (ApplicationSetTerminalGenerators) DeepCopyInto

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

type ClusterGenerator

type ClusterGenerator struct {
	// Selector defines a label selector to match against all clusters registered with ArgoCD.
	// Clusters today are stored as Kubernetes Secrets, thus the Secret labels will be used
	// for matching the selector.
	Selector metav1.LabelSelector   `json:"selector,omitempty"`
	Template ApplicationSetTemplate `json:"template,omitempty"`

	// Values contains key/value pairs which are passed directly as parameters to the template
	Values map[string]string `json:"values,omitempty"`
}

ClusterGenerator defines a generator to match against clusters registered with ArgoCD.

func (*ClusterGenerator) DeepCopy

func (in *ClusterGenerator) DeepCopy() *ClusterGenerator

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

func (*ClusterGenerator) DeepCopyInto

func (in *ClusterGenerator) DeepCopyInto(out *ClusterGenerator)

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

type DuckTypeGenerator

type DuckTypeGenerator struct {
	// ConfigMapRef is a ConfigMap with the duck type definitions needed to retrieve the data
	//              this includes apiVersion(group/version), kind, matchKey and validation settings
	// Name is the resource name of the kind, group and version, defined in the ConfigMapRef
	// RequeueAfterSeconds is how long before the duckType will be rechecked for a change
	ConfigMapRef        string               `json:"configMapRef"`
	Name                string               `json:"name,omitempty"`
	RequeueAfterSeconds *int64               `json:"requeueAfterSeconds,omitempty"`
	LabelSelector       metav1.LabelSelector `json:"labelSelector,omitempty"`

	Template ApplicationSetTemplate `json:"template,omitempty"`
	// Values contains key/value pairs which are passed directly as parameters to the template
	Values map[string]string `json:"values,omitempty"`
}

DuckType defines a generator to match against clusters registered with ArgoCD.

func (*DuckTypeGenerator) DeepCopy

func (in *DuckTypeGenerator) DeepCopy() *DuckTypeGenerator

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

func (*DuckTypeGenerator) DeepCopyInto

func (in *DuckTypeGenerator) DeepCopyInto(out *DuckTypeGenerator)

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

type GitDirectoryGeneratorItem

type GitDirectoryGeneratorItem struct {
	Path    string `json:"path"`
	Exclude bool   `json:"exclude,omitempty"`
}

func (*GitDirectoryGeneratorItem) DeepCopy

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

func (*GitDirectoryGeneratorItem) DeepCopyInto

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

type GitFileGeneratorItem

type GitFileGeneratorItem struct {
	Path string `json:"path"`
}

func (*GitFileGeneratorItem) DeepCopy

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

func (*GitFileGeneratorItem) DeepCopyInto

func (in *GitFileGeneratorItem) DeepCopyInto(out *GitFileGeneratorItem)

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

type GitGenerator

type GitGenerator struct {
	RepoURL             string                      `json:"repoURL"`
	Directories         []GitDirectoryGeneratorItem `json:"directories,omitempty"`
	Files               []GitFileGeneratorItem      `json:"files,omitempty"`
	Revision            string                      `json:"revision"`
	RequeueAfterSeconds *int64                      `json:"requeueAfterSeconds,omitempty"`
	Template            ApplicationSetTemplate      `json:"template,omitempty"`
}

func (*GitGenerator) DeepCopy

func (in *GitGenerator) DeepCopy() *GitGenerator

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

func (*GitGenerator) DeepCopyInto

func (in *GitGenerator) DeepCopyInto(out *GitGenerator)

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

type ListGenerator

type ListGenerator struct {
	Elements []apiextensionsv1.JSON `json:"elements"`
	Template ApplicationSetTemplate `json:"template,omitempty"`
}

ListGenerator include items info

func (*ListGenerator) DeepCopy

func (in *ListGenerator) DeepCopy() *ListGenerator

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

func (*ListGenerator) DeepCopyInto

func (in *ListGenerator) DeepCopyInto(out *ListGenerator)

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

type MatrixGenerator

type MatrixGenerator struct {
	Generators []ApplicationSetNestedGenerator `json:"generators"`
	Template   ApplicationSetTemplate          `json:"template,omitempty"`
}

MatrixGenerator generates the cartesian product of two sets of parameters. The parameters are defined by two nested generators.

func (*MatrixGenerator) DeepCopy

func (in *MatrixGenerator) DeepCopy() *MatrixGenerator

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

func (*MatrixGenerator) DeepCopyInto

func (in *MatrixGenerator) DeepCopyInto(out *MatrixGenerator)

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

type MergeGenerator

type MergeGenerator struct {
	Generators []ApplicationSetNestedGenerator `json:"generators"`
	MergeKeys  []string                        `json:"mergeKeys"`
	Template   ApplicationSetTemplate          `json:"template,omitempty"`
}

MergeGenerator merges the output of two or more generators. Where the values for all specified merge keys are equal between two sets of generated parameters, the parameter sets will be merged with the parameters from the latter generator taking precedence. Parameter sets with merge keys not present in the base generator's params will be ignored. For example, if the first generator produced [{a: '1', b: '2'}, {c: '1', d: '1'}] and the second generator produced [{'a': 'override'}], the united parameters for merge keys = ['a'] would be [{a: 'override', b: '1'}, {c: '1', d: '1'}].

MergeGenerator supports template overriding. If a MergeGenerator is one of multiple top-level generators, its template will be merged with the top-level generator before the parameters are applied.

func (*MergeGenerator) DeepCopy

func (in *MergeGenerator) DeepCopy() *MergeGenerator

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

func (*MergeGenerator) DeepCopyInto

func (in *MergeGenerator) DeepCopyInto(out *MergeGenerator)

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

type NestedMatrixGenerator

type NestedMatrixGenerator struct {
	Generators ApplicationSetTerminalGenerators `json:"generators"`
}

NestedMatrixGenerator is a MatrixGenerator nested under another combination-type generator (MatrixGenerator or MergeGenerator). NestedMatrixGenerator does not have an override template, because template overriding has no meaning within the constituent generators of combination-type generators.

NOTE: Nested matrix generator is not included directly in the CRD struct, instead it is included as a generic 'apiextensionsv1.JSON' object, and then marshalled into a NestedMatrixGenerator when processed.

func ToNestedMatrixGenerator

func ToNestedMatrixGenerator(j *apiextensionsv1.JSON) (*NestedMatrixGenerator, error)

ToNestedMatrixGenerator converts a JSON struct (from the K8s resource) to corresponding NestedMatrixGenerator object.

func (*NestedMatrixGenerator) DeepCopy

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

func (*NestedMatrixGenerator) DeepCopyInto

func (in *NestedMatrixGenerator) DeepCopyInto(out *NestedMatrixGenerator)

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

func (NestedMatrixGenerator) ToMatrixGenerator

func (g NestedMatrixGenerator) ToMatrixGenerator() *MatrixGenerator

ToMatrixGenerator converts a NestedMatrixGenerator to a MatrixGenerator. This conversion is for convenience, allowing a NestedMatrixGenerator to be used where a MatrixGenerator is expected (of course, the converted generator will have no override template).

type NestedMergeGenerator

type NestedMergeGenerator struct {
	Generators ApplicationSetTerminalGenerators `json:"generators"`
	MergeKeys  []string                         `json:"mergeKeys"`
}

NestedMergeGenerator is a MergeGenerator nested under another combination-type generator (MatrixGenerator or MergeGenerator). NestedMergeGenerator does not have an override template, because template overriding has no meaning within the constituent generators of combination-type generators.

NOTE: Nested merge generator is not included directly in the CRD struct, instead it is included as a generic 'apiextensionsv1.JSON' object, and then marshalled into a NestedMergeGenerator when processed.

func ToNestedMergeGenerator

func ToNestedMergeGenerator(j *apiextensionsv1.JSON) (*NestedMergeGenerator, error)

ToNestedMergeGenerator converts a JSON struct (from the K8s resource) to corresponding NestedMergeGenerator object.

func (*NestedMergeGenerator) DeepCopy

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

func (*NestedMergeGenerator) DeepCopyInto

func (in *NestedMergeGenerator) DeepCopyInto(out *NestedMergeGenerator)

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

func (NestedMergeGenerator) ToMergeGenerator

func (g NestedMergeGenerator) ToMergeGenerator() *MergeGenerator

ToMergeGenerator converts a NestedMergeGenerator to a MergeGenerator. This conversion is for convenience, allowing a NestedMergeGenerator to be used where a MergeGenerator is expected (of course, the converted generator will have no override template).

type PullRequestGenerator

type PullRequestGenerator struct {
	// Which provider to use and config for it.
	Github *PullRequestGeneratorGithub `json:"github,omitempty"`
	// Standard parameters.
	RequeueAfterSeconds *int64                 `json:"requeueAfterSeconds,omitempty"`
	Template            ApplicationSetTemplate `json:"template,omitempty"`
}

PullRequestGenerator defines a generator that scrapes a PullRequest API to find candidate pull requests.

func (*PullRequestGenerator) DeepCopy

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

func (*PullRequestGenerator) DeepCopyInto

func (in *PullRequestGenerator) DeepCopyInto(out *PullRequestGenerator)

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

type PullRequestGeneratorGithub

type PullRequestGeneratorGithub struct {
	// GitHub org or user to scan. Required.
	Owner string `json:"owner"`
	// GitHub repo name to scan. Required.
	Repo string `json:"repo"`
	// The GitHub API URL to talk to. If blank, use https://api.github.com/.
	API string `json:"api,omitempty"`
	// Authentication token reference.
	TokenRef *SecretRef `json:"tokenRef,omitempty"`
	// Labels is used to filter the PRs that you want to target
	Labels []string `json:"labels,omitempty"`
}

PullRequestGenerator defines a connection info specific to GitHub.

func (*PullRequestGeneratorGithub) DeepCopy

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

func (*PullRequestGeneratorGithub) DeepCopyInto

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

type SCMProviderGenerator

type SCMProviderGenerator struct {
	// Which provider to use and config for it.
	Github *SCMProviderGeneratorGithub `json:"github,omitempty"`
	Gitlab *SCMProviderGeneratorGitlab `json:"gitlab,omitempty"`
	// Filters for which repos should be considered.
	Filters []SCMProviderGeneratorFilter `json:"filters,omitempty"`
	// Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers
	// necessarily support all protocols.
	CloneProtocol string `json:"cloneProtocol,omitempty"`
	// Standard parameters.
	RequeueAfterSeconds *int64                 `json:"requeueAfterSeconds,omitempty"`
	Template            ApplicationSetTemplate `json:"template,omitempty"`
}

SCMProviderGenerator defines a generator that scrapes a SCMaaS API to find candidate repos.

func (*SCMProviderGenerator) DeepCopy

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

func (*SCMProviderGenerator) DeepCopyInto

func (in *SCMProviderGenerator) DeepCopyInto(out *SCMProviderGenerator)

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

type SCMProviderGeneratorFilter

type SCMProviderGeneratorFilter struct {
	// A regex for repo names.
	RepositoryMatch *string `json:"repositoryMatch,omitempty"`
	// An array of paths, all of which must exist.
	PathsExist []string `json:"pathsExist,omitempty"`
	// A regex which must match at least one label.
	LabelMatch *string `json:"labelMatch,omitempty"`
	// A regex which must match the branch name.
	BranchMatch *string `json:"branchMatch,omitempty"`
}

SCMProviderGeneratorFilter is a single repository filter. If multiple filter types are set on a single struct, they will be AND'd together. All filters must pass for a repo to be included.

func (*SCMProviderGeneratorFilter) DeepCopy

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

func (*SCMProviderGeneratorFilter) DeepCopyInto

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

type SCMProviderGeneratorGithub

type SCMProviderGeneratorGithub struct {
	// GitHub org to scan. Required.
	Organization string `json:"organization"`
	// The GitHub API URL to talk to. If blank, use https://api.github.com/.
	API string `json:"api,omitempty"`
	// Authentication token reference.
	TokenRef *SecretRef `json:"tokenRef,omitempty"`
	// Scan all branches instead of just the default branch.
	AllBranches bool `json:"allBranches,omitempty"`
}

SCMProviderGeneratorGithub defines a connection info specific to GitHub.

func (*SCMProviderGeneratorGithub) DeepCopy

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

func (*SCMProviderGeneratorGithub) DeepCopyInto

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

type SCMProviderGeneratorGitlab

type SCMProviderGeneratorGitlab struct {
	// Gitlab group to scan. Required.  You can use either the project id (recommended) or the full namespaced path.
	Group string `json:"group"`
	// Recurse through subgroups (true) or scan only the base group (false).  Defaults to "false"
	IncludeSubgroups bool `json:"includeSubgroups,omitempty"`
	// The Gitlab API URL to talk to.
	API string `json:"api,omitempty"`
	// Authentication token reference.
	TokenRef *SecretRef `json:"tokenRef,omitempty"`
	// Scan all branches instead of just the default branch.
	AllBranches bool `json:"allBranches,omitempty"`
}

SCMProviderGeneratorGitlab defines a connection info specific to Gitlab.

func (*SCMProviderGeneratorGitlab) DeepCopy

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

func (*SCMProviderGeneratorGitlab) DeepCopyInto

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

type SecretRef

type SecretRef struct {
	SecretName string `json:"secretName"`
	Key        string `json:"key"`
}

Utility struct for a reference to a secret key.

func (*SecretRef) DeepCopy

func (in *SecretRef) DeepCopy() *SecretRef

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

func (*SecretRef) DeepCopyInto

func (in *SecretRef) DeepCopyInto(out *SecretRef)

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