Documentation ¶
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- func UnmarshalToUnstructured(resource string) (*unstructured.Unstructured, error)
- type AWSAuthConfig
- type AppProject
- func (p *AppProject) AddGroupToRole(roleName, group string) (bool, error)
- func (in *AppProject) DeepCopy() *AppProject
- func (in *AppProject) DeepCopyInto(out *AppProject)
- func (in *AppProject) DeepCopyObject() runtime.Object
- func (p *AppProject) GetJWTToken(roleName string, issuedAt int64, id string) (*JWTToken, int, error)
- func (p *AppProject) GetJWTTokenFromSpec(roleName string, issuedAt int64, id string) (*JWTToken, int, error)
- func (p *AppProject) GetRoleByName(name string) (*ProjectRole, int, error)
- func (proj AppProject) IsGroupKindPermitted(gk schema.GroupKind, namespaced bool) bool
- func (proj *AppProject) NormalizeJWTTokens() bool
- func (p *AppProject) NormalizePolicies()
- func (proj *AppProject) ProjectPoliciesString() string
- func (p *AppProject) RemoveGroupFromRole(roleName, group string) (bool, error)
- func (p AppProject) RemoveJWTToken(roleIndex int, issuedAt int64, id string) error
- func (p *AppProject) ValidateJWTTokenID(roleName string, id string) error
- type AppProjectList
- type AppProjectSpec
- type AppProjectStatus
- type Application
- func (app *Application) BuildComparedToStatus() ComparedTo
- func (in *Application) DeepCopy() *Application
- func (in *Application) DeepCopyInto(out *Application)
- func (in *Application) DeepCopyObject() runtime.Object
- func (app *Application) HasChangedManagedNamespaceMetadata() bool
- func (app *Application) IsFinalizerPresent(finalizer string) bool
- func (app *Application) SetCascadedDeletion(finalizer string)
- type ApplicationCondition
- type ApplicationConditionType
- type ApplicationDestination
- type ApplicationList
- type ApplicationMatchExpression
- type ApplicationPreservedFields
- type ApplicationSet
- type ApplicationSetApplicationStatus
- type ApplicationSetCondition
- type ApplicationSetConditionStatus
- type ApplicationSetConditionType
- type ApplicationSetGenerator
- type ApplicationSetIgnoreDifferences
- type ApplicationSetList
- type ApplicationSetNestedGenerator
- type ApplicationSetNestedGenerators
- type ApplicationSetReasonType
- type ApplicationSetResourceIgnoreDifferences
- func (in *ApplicationSetResourceIgnoreDifferences) DeepCopy() *ApplicationSetResourceIgnoreDifferences
- func (in *ApplicationSetResourceIgnoreDifferences) DeepCopyInto(out *ApplicationSetResourceIgnoreDifferences)
- func (a *ApplicationSetResourceIgnoreDifferences) ToApplicationResourceIgnoreDifferences() ResourceIgnoreDifferences
- type ApplicationSetRolloutStep
- type ApplicationSetRolloutStrategy
- type ApplicationSetSpec
- type ApplicationSetStatus
- func (in *ApplicationSetStatus) DeepCopy() *ApplicationSetStatus
- func (in *ApplicationSetStatus) DeepCopyInto(out *ApplicationSetStatus)
- func (status *ApplicationSetStatus) SetApplicationStatus(newStatus ApplicationSetApplicationStatus)
- func (status *ApplicationSetStatus) SetConditions(conditions []ApplicationSetCondition, ...)
- type ApplicationSetStrategy
- type ApplicationSetSyncPolicy
- type ApplicationSetTemplate
- type ApplicationSetTemplateMeta
- type ApplicationSetTerminalGenerator
- type ApplicationSetTerminalGenerators
- type ApplicationSetTree
- type ApplicationSource
- func (a *ApplicationSource) AllowsConcurrentProcessing() bool
- func (in *ApplicationSource) DeepCopy() *ApplicationSource
- func (in *ApplicationSource) DeepCopyInto(out *ApplicationSource)
- func (source *ApplicationSource) ExplicitType() (*ApplicationSourceType, error)
- func (a *ApplicationSource) IsHelm() bool
- type ApplicationSourceDirectory
- type ApplicationSourceHelm
- type ApplicationSourceJsonnet
- type ApplicationSourceKustomize
- func (k *ApplicationSourceKustomize) AllowsConcurrentProcessing() bool
- func (in *ApplicationSourceKustomize) DeepCopy() *ApplicationSourceKustomize
- func (in *ApplicationSourceKustomize) DeepCopyInto(out *ApplicationSourceKustomize)
- func (k *ApplicationSourceKustomize) IsZero() bool
- func (k *ApplicationSourceKustomize) MergeImage(image KustomizeImage)
- func (k *ApplicationSourceKustomize) MergeReplica(replica KustomizeReplica)
- type ApplicationSourcePlugin
- func (c *ApplicationSourcePlugin) AddEnvEntry(e *EnvEntry)
- func (in *ApplicationSourcePlugin) DeepCopy() *ApplicationSourcePlugin
- func (in *ApplicationSourcePlugin) DeepCopyInto(out *ApplicationSourcePlugin)
- func (c *ApplicationSourcePlugin) IsZero() bool
- func (c *ApplicationSourcePlugin) RemoveEnvEntry(key string) error
- type ApplicationSourcePluginParameter
- func (in *ApplicationSourcePluginParameter) DeepCopy() *ApplicationSourcePluginParameter
- func (in *ApplicationSourcePluginParameter) DeepCopyInto(out *ApplicationSourcePluginParameter)
- func (p ApplicationSourcePluginParameter) Equals(other ApplicationSourcePluginParameter) bool
- func (p ApplicationSourcePluginParameter) MarshalJSON() ([]byte, error)
- type ApplicationSourcePluginParameters
- type ApplicationSourceType
- type ApplicationSources
- type ApplicationSpec
- func (in *ApplicationSpec) DeepCopy() *ApplicationSpec
- func (in *ApplicationSpec) DeepCopyInto(out *ApplicationSpec)
- func (a *ApplicationSpec) GetSource() ApplicationSource
- func (a *ApplicationSpec) GetSourcePtr() *ApplicationSource
- func (a *ApplicationSpec) GetSources() ApplicationSources
- func (a *ApplicationSpec) HasMultipleSources() bool
- type ApplicationStatus
- func (in *ApplicationStatus) DeepCopy() *ApplicationStatus
- func (in *ApplicationStatus) DeepCopyInto(out *ApplicationStatus)
- func (status *ApplicationStatus) Expired(statusRefreshTimeout time.Duration) bool
- func (status *ApplicationStatus) GetConditions(conditionTypes map[ApplicationConditionType]bool) []ApplicationCondition
- func (a *ApplicationStatus) GetRevisions() []string
- func (status *ApplicationStatus) SetConditions(conditions []ApplicationCondition, ...)
- type ApplicationSummary
- type ApplicationTree
- type ApplicationWatchEvent
- type ApplicationsSyncPolicy
- type Backoff
- type BasicAuthBitbucketServer
- type BearerTokenBitbucketCloud
- type ChartDetails
- type Cluster
- type ClusterCacheInfo
- type ClusterConfig
- type ClusterGenerator
- type ClusterInfo
- type ClusterList
- type Command
- type ComparedTo
- type ComponentParameter
- type ConfigManagementPlugin
- type ConnectionState
- type ConnectionStatus
- type DuckTypeGenerator
- type Env
- type EnvEntry
- type ExecProviderConfig
- type GitDirectoryGeneratorItem
- type GitFileGeneratorItem
- type GitGenerator
- type GnuPGPublicKey
- type GnuPGPublicKeyList
- type HealthStatus
- type HelmFileParameter
- type HelmOptions
- type HelmParameter
- type HostInfo
- type HostResourceInfo
- type IgnoreDifferences
- type Info
- type InfoItem
- type JWTToken
- type JWTTokens
- type JsonnetVar
- type KnownTypeField
- type KustomizeGvk
- type KustomizeImage
- type KustomizeImages
- type KustomizeOptions
- type KustomizePatch
- type KustomizePatches
- type KustomizeReplica
- type KustomizeReplicas
- type KustomizeResId
- type KustomizeSelector
- type ListGenerator
- type ManagedNamespaceMetadata
- type MatrixGenerator
- type MergeGenerator
- type NestedMatrixGenerator
- type NestedMergeGenerator
- type Operation
- type OperationInitiator
- type OperationState
- type OptionalArray
- type OptionalMap
- type OrphanedResourceKey
- type OrphanedResourcesMonitorSettings
- type OverrideIgnoreDiff
- type PluginConfigMapRef
- type PluginGenerator
- type PluginInput
- type PluginParameters
- type ProjectRole
- type PullRequestGenerator
- type PullRequestGeneratorAzureDevOps
- type PullRequestGeneratorBitbucket
- type PullRequestGeneratorBitbucketServer
- type PullRequestGeneratorFilter
- type PullRequestGeneratorGitLab
- type PullRequestGeneratorGitea
- type PullRequestGeneratorGithub
- type RefTarget
- type RefTargetRevisionMapping
- type RefreshType
- type RepoCreds
- type RepoCredsList
- type Repositories
- type Repository
- type RepositoryCertificate
- type RepositoryCertificateList
- type RepositoryList
- type ResourceAction
- type ResourceActionDefinition
- type ResourceActionParam
- type ResourceActions
- type ResourceDiff
- type ResourceHealthLocation
- type ResourceIgnoreDifferences
- type ResourceNetworkingInfo
- type ResourceNode
- type ResourceOverride
- type ResourceRef
- type ResourceResult
- type ResourceResults
- type ResourceStatus
- type RetryStrategy
- type RevisionHistories
- type RevisionHistory
- type RevisionMetadata
- type SCMProviderGenerator
- type SCMProviderGeneratorAWSCodeCommit
- type SCMProviderGeneratorAzureDevOps
- type SCMProviderGeneratorBitbucket
- type SCMProviderGeneratorBitbucketServer
- type SCMProviderGeneratorFilter
- type SCMProviderGeneratorGitea
- type SCMProviderGeneratorGithub
- type SCMProviderGeneratorGitlab
- type SecretRef
- type SignatureKey
- type SyncOperation
- type SyncOperationResource
- type SyncOperationResult
- type SyncOptions
- type SyncPolicy
- type SyncPolicyAutomated
- type SyncStatus
- type SyncStatusCode
- type SyncStrategy
- type SyncStrategyApply
- type SyncStrategyHook
- type SyncWindow
- type SyncWindows
- type TLSClientConfig
- type TagFilter
- type TrackingMethod
Constants ¶
const ( ApplicationSetReasonErrorOccurred = "ErrorOccurred" ApplicationSetReasonApplicationSetUpToDate = "ApplicationSetUpToDate" ApplicationSetReasonParametersGenerated = "ParametersGenerated" ApplicationSetReasonApplicationGenerated = "ApplicationGeneratedSuccessfully" ApplicationSetReasonUpdateApplicationError = "UpdateApplicationError" ApplicationSetReasonApplicationParamsGenerationError = "ApplicationGenerationFromParamsError" ApplicationSetReasonRenderTemplateParamsError = "RenderTemplateParamsError" ApplicationSetReasonCreateApplicationError = "CreateApplicationError" ApplicationSetReasonDeleteApplicationError = "DeleteApplicationError" ApplicationSetReasonRefreshApplicationError = "RefreshApplicationError" ApplicationSetReasonApplicationValidationError = "ApplicationValidationError" ApplicationSetReasonApplicationSetModified = "ApplicationSetModified" ApplicationSetReasonApplicationSetRolloutComplete = "ApplicationSetRolloutComplete" ApplicationSetReasonSyncApplicationError = "SyncApplicationError" )
const ( // ApplicationConditionDeletionError indicates that controller failed to delete application ApplicationConditionDeletionError = "DeletionError" // ApplicationConditionInvalidSpecError indicates that application source is invalid ApplicationConditionInvalidSpecError = "InvalidSpecError" // ApplicationConditionComparisonError indicates controller failed to compare application state ApplicationConditionComparisonError = "ComparisonError" // ApplicationConditionSyncError indicates controller failed to automatically sync the application ApplicationConditionSyncError = "SyncError" // ApplicationConditionUnknownError indicates an unknown controller error ApplicationConditionUnknownError = "UnknownError" ApplicationConditionSharedResourceWarning = "SharedResourceWarning" // ApplicationConditionRepeatedResourceWarning indicates that application source has resource with same Group, Kind, Name, Namespace multiple times ApplicationConditionRepeatedResourceWarning = "RepeatedResourceWarning" // ApplicationConditionExcludedResourceWarning indicates that application has resource which is configured to be excluded ApplicationConditionExcludedResourceWarning = "ExcludedResourceWarning" // ApplicationConditionOrphanedResourceWarning indicates that application has orphaned resources ApplicationConditionOrphanedResourceWarning = "OrphanedResourceWarning" )
const ( // ConnectionStatusSuccessful indicates that a connection has been successfully established ConnectionStatusSuccessful = "Successful" // ConnectionStatusFailed indicates that a connection attempt has failed ConnectionStatusFailed = "Failed" // ConnectionStatusUnknown indicates that the connection status could not be reliably determined ConnectionStatusUnknown = "Unknown" )
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: application.Group, Version: "v1alpha1"} ApplicationSchemaGroupVersionKind = schema.GroupVersionKind{Group: application.Group, Version: "v1alpha1", Kind: application.ApplicationKind} AppProjectSchemaGroupVersionKind = schema.GroupVersionKind{Group: application.Group, Version: "v1alpha1", Kind: application.AppProjectKind} ApplicationSetSchemaGroupVersionKind = schema.GroupVersionKind{Group: application.Group, Version: "v1alpha1", Kind: application.ApplicationSetKind} )
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group-qualified GroupResource.
func UnmarshalToUnstructured ¶
func UnmarshalToUnstructured(resource string) (*unstructured.Unstructured, error)
UnmarshalToUnstructured unmarshals a resource representation in JSON to unstructured data
Types ¶
type AWSAuthConfig ¶
type AWSAuthConfig struct { // ClusterName contains AWS cluster name ClusterName string `json:"clusterName,omitempty" protobuf:"bytes,1,opt,name=clusterName"` // RoleARN contains optional role ARN. If set then AWS IAM Authenticator assume a role to perform cluster operations instead of the default AWS credential provider chain. RoleARN string `json:"roleARN,omitempty" protobuf:"bytes,2,opt,name=roleARN"` // Profile contains optional role ARN. If set then AWS IAM Authenticator uses the profile to perform cluster operations instead of the default AWS credential provider chain. Profile string `json:"profile,omitempty" protobuf:"bytes,3,opt,name=profile"` }
AWSAuthConfig is an AWS IAM authentication configuration
type AppProject ¶
type AppProject struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Spec AppProjectSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` Status AppProjectStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` }
AppProject provides a logical grouping of applications, providing controls for: * where the apps may deploy to (cluster whitelist) * what may be deployed (repository whitelist, resource whitelist/blacklist) * who can access these applications (roles, OIDC group claims bindings) * and what they can do (RBAC policies) * automation access to these roles (JWT tokens) +kubebuilder:object:root=true +kubebuilder:subresource:status
func (*AppProject) AddGroupToRole ¶
func (p *AppProject) AddGroupToRole(roleName, group string) (bool, error)
AddGroupToRole adds an OIDC group to a role
func (*AppProject) DeepCopy ¶
func (in *AppProject) DeepCopy() *AppProject
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppProject.
func (*AppProject) DeepCopyInto ¶
func (in *AppProject) DeepCopyInto(out *AppProject)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppProject) DeepCopyObject ¶
func (in *AppProject) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AppProject) GetJWTToken ¶
func (p *AppProject) GetJWTToken(roleName string, issuedAt int64, id string) (*JWTToken, int, error)
GetJWTToken looks up the index of a JWTToken in a project by id (new token), if not then by the issue at time (old token)
func (*AppProject) GetJWTTokenFromSpec ¶
func (p *AppProject) GetJWTTokenFromSpec(roleName string, issuedAt int64, id string) (*JWTToken, int, error)
GetJWTTokenFromSpec looks up the index of a JWTToken in a project by id (new token), if not then by the issue at time (old token)
func (*AppProject) GetRoleByName ¶
func (p *AppProject) GetRoleByName(name string) (*ProjectRole, int, error)
GetRoleByName returns the role in a project by the name with its index
func (AppProject) IsGroupKindPermitted ¶
func (proj AppProject) IsGroupKindPermitted(gk schema.GroupKind, namespaced bool) bool
IsGroupKindPermitted validates if the given resource group/kind is permitted to be deployed in the project
func (*AppProject) NormalizeJWTTokens ¶
func (proj *AppProject) NormalizeJWTTokens() bool
TODO: document this method
func (*AppProject) NormalizePolicies ¶
func (p *AppProject) NormalizePolicies()
NormalizePolicies normalizes the policies in the project
func (*AppProject) ProjectPoliciesString ¶
func (proj *AppProject) ProjectPoliciesString() string
ProjectPoliciesString returns a Casbin formatted string of a project's policies for each role
func (*AppProject) RemoveGroupFromRole ¶
func (p *AppProject) RemoveGroupFromRole(roleName, group string) (bool, error)
RemoveGroupFromRole removes an OIDC group from a role
func (AppProject) RemoveJWTToken ¶
func (p AppProject) RemoveJWTToken(roleIndex int, issuedAt int64, id string) error
RemoveJWTToken removes the specified JWT from an AppProject
func (*AppProject) ValidateJWTTokenID ¶
func (p *AppProject) ValidateJWTTokenID(roleName string, id string) error
TODO: document this method
type AppProjectList ¶
type AppProjectList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Items []AppProject `json:"items" protobuf:"bytes,2,rep,name=items"` }
AppProjectList is list of AppProject resources +kubebuilder:object:root=true
func (*AppProjectList) DeepCopy ¶
func (in *AppProjectList) DeepCopy() *AppProjectList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppProjectList.
func (*AppProjectList) DeepCopyInto ¶
func (in *AppProjectList) DeepCopyInto(out *AppProjectList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppProjectList) DeepCopyObject ¶
func (in *AppProjectList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppProjectSpec ¶
type AppProjectSpec struct { // SourceRepos contains list of repository URLs which can be used for deployment SourceRepos []string `json:"sourceRepos,omitempty" protobuf:"bytes,1,name=sourceRepos"` // Destinations contains list of destinations available for deployment Destinations []ApplicationDestination `json:"destinations,omitempty" protobuf:"bytes,2,name=destination"` // Description contains optional project description Description string `json:"description,omitempty" protobuf:"bytes,3,opt,name=description"` // Roles are user defined RBAC roles associated with this project Roles []ProjectRole `json:"roles,omitempty" protobuf:"bytes,4,rep,name=roles"` // ClusterResourceWhitelist contains list of whitelisted cluster level resources ClusterResourceWhitelist []metav1.GroupKind `json:"clusterResourceWhitelist,omitempty" protobuf:"bytes,5,opt,name=clusterResourceWhitelist"` // NamespaceResourceBlacklist contains list of blacklisted namespace level resources NamespaceResourceBlacklist []metav1.GroupKind `json:"namespaceResourceBlacklist,omitempty" protobuf:"bytes,6,opt,name=namespaceResourceBlacklist"` // OrphanedResources specifies if controller should monitor orphaned resources of apps in this project OrphanedResources *OrphanedResourcesMonitorSettings `json:"orphanedResources,omitempty" protobuf:"bytes,7,opt,name=orphanedResources"` // SyncWindows controls when syncs can be run for apps in this project SyncWindows SyncWindows `json:"syncWindows,omitempty" protobuf:"bytes,8,opt,name=syncWindows"` // NamespaceResourceWhitelist contains list of whitelisted namespace level resources NamespaceResourceWhitelist []metav1.GroupKind `json:"namespaceResourceWhitelist,omitempty" protobuf:"bytes,9,opt,name=namespaceResourceWhitelist"` // SignatureKeys contains a list of PGP key IDs that commits in Git must be signed with in order to be allowed for sync SignatureKeys []SignatureKey `json:"signatureKeys,omitempty" protobuf:"bytes,10,opt,name=signatureKeys"` // ClusterResourceBlacklist contains list of blacklisted cluster level resources ClusterResourceBlacklist []metav1.GroupKind `json:"clusterResourceBlacklist,omitempty" protobuf:"bytes,11,opt,name=clusterResourceBlacklist"` // SourceNamespaces defines the namespaces application resources are allowed to be created in SourceNamespaces []string `json:"sourceNamespaces,omitempty" protobuf:"bytes,12,opt,name=sourceNamespaces"` // PermitOnlyProjectScopedClusters determines whether destinations can only reference clusters which are project-scoped PermitOnlyProjectScopedClusters bool `json:"permitOnlyProjectScopedClusters,omitempty" protobuf:"bytes,13,opt,name=permitOnlyProjectScopedClusters"` }
AppProjectSpec is the specification of an AppProject +kubebuilder:object:generate=true
func (*AppProjectSpec) DeepCopy ¶
func (in *AppProjectSpec) DeepCopy() *AppProjectSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppProjectSpec.
func (*AppProjectSpec) DeepCopyInto ¶
func (in *AppProjectSpec) DeepCopyInto(out *AppProjectSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppProjectSpec) DeleteWindow ¶
func (s *AppProjectSpec) DeleteWindow(id int) error
DeleteWindow deletes a sync window with the given id from the AppProject
func (AppProjectSpec) DestinationClusters ¶
func (d AppProjectSpec) DestinationClusters() []string
DestinationClusters returns a list of cluster URLs allowed as destination in an AppProject
type AppProjectStatus ¶
type AppProjectStatus struct { // JWTTokensByRole contains a list of JWT tokens issued for a given role JWTTokensByRole map[string]JWTTokens `json:"jwtTokensByRole,omitempty" protobuf:"bytes,1,opt,name=jwtTokensByRole"` }
AppProjectStatus contains status information for AppProject CRs +kubebuilder:object:generate=true
func (*AppProjectStatus) DeepCopy ¶
func (in *AppProjectStatus) DeepCopy() *AppProjectStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppProjectStatus.
func (*AppProjectStatus) DeepCopyInto ¶
func (in *AppProjectStatus) DeepCopyInto(out *AppProjectStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Application ¶
type Application struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Spec ApplicationSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` Status ApplicationStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` Operation *Operation `json:"operation,omitempty" protobuf:"bytes,4,opt,name=operation"` }
Application is a definition of Application resource. +genclient +genclient:noStatus +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:path=applications,shortName=app;apps +kubebuilder:printcolumn:name="Sync Status",type=string,JSONPath=`.status.sync.status` +kubebuilder:printcolumn:name="Health Status",type=string,JSONPath=`.status.health.status` +kubebuilder:printcolumn:name="Revision",type=string,JSONPath=`.status.sync.revision`,priority=10
func (*Application) BuildComparedToStatus ¶
func (app *Application) BuildComparedToStatus() ComparedTo
BuildComparedToStatus will build a ComparedTo object based on the current Application state.
func (*Application) DeepCopy ¶
func (in *Application) DeepCopy() *Application
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Application.
func (*Application) DeepCopyInto ¶
func (in *Application) DeepCopyInto(out *Application)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Application) DeepCopyObject ¶
func (in *Application) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Application) HasChangedManagedNamespaceMetadata ¶
func (app *Application) HasChangedManagedNamespaceMetadata() bool
HasChangedManagedNamespaceMetadata checks whether app.Spec.SyncPolicy.ManagedNamespaceMetadata differs from the managed namespace metadata which has been stored app.Status.OperationState.SyncResult. If they differ a refresh should be triggered.
func (*Application) IsFinalizerPresent ¶
func (app *Application) IsFinalizerPresent(finalizer string) bool
IsFinalizerPresent checks if the app has a given finalizer
func (*Application) SetCascadedDeletion ¶
func (app *Application) SetCascadedDeletion(finalizer string)
SetCascadedDeletion will enable cascaded deletion by setting the propagation policy finalizer
type ApplicationCondition ¶
type ApplicationCondition struct { // Type is an application condition type Type ApplicationConditionType `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"` }
ApplicationCondition contains details about an application condition, which is usually an error or warning +kubebuilder:object:generate=true
func (*ApplicationCondition) DeepCopy ¶
func (in *ApplicationCondition) DeepCopy() *ApplicationCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationCondition.
func (*ApplicationCondition) DeepCopyInto ¶
func (in *ApplicationCondition) DeepCopyInto(out *ApplicationCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationCondition) IsError ¶
func (condition *ApplicationCondition) IsError() bool
IsError returns true if a condition indicates an error condition
type ApplicationConditionType ¶
type ApplicationConditionType = string
ApplicationConditionType 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
type ApplicationDestination ¶
type ApplicationDestination struct { // Server specifies the URL of the target cluster's Kubernetes control plane API. This must be set if Name is not set. Server string `json:"server,omitempty" protobuf:"bytes,1,opt,name=server"` // Namespace specifies the target namespace for the application's resources. // The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace Namespace string `json:"namespace,omitempty" protobuf:"bytes,2,opt,name=namespace"` // Name is an alternate way of specifying the target cluster by its symbolic name. This must be set if Server is not set. Name string `json:"name,omitempty" protobuf:"bytes,3,opt,name=name"` }
ApplicationDestination holds information about the application's destination
type ApplicationList ¶
type ApplicationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Items []Application `json:"items" protobuf:"bytes,2,rep,name=items"` }
ApplicationList is list of Application resources +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*ApplicationList) DeepCopy ¶
func (in *ApplicationList) DeepCopy() *ApplicationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationList.
func (*ApplicationList) DeepCopyInto ¶
func (in *ApplicationList) DeepCopyInto(out *ApplicationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationList) DeepCopyObject ¶
func (in *ApplicationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ApplicationMatchExpression ¶
type ApplicationMatchExpression struct { Key string `json:"key,omitempty" protobuf:"bytes,1,opt,name=key"` Operator string `json:"operator,omitempty" protobuf:"bytes,2,opt,name=operator"` Values []string `json:"values,omitempty" protobuf:"bytes,3,opt,name=values"` }
+kubebuilder:object:generate=true
func (*ApplicationMatchExpression) DeepCopy ¶
func (in *ApplicationMatchExpression) DeepCopy() *ApplicationMatchExpression
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationMatchExpression.
func (*ApplicationMatchExpression) DeepCopyInto ¶
func (in *ApplicationMatchExpression) DeepCopyInto(out *ApplicationMatchExpression)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationPreservedFields ¶
type ApplicationPreservedFields struct { Annotations []string `json:"annotations,omitempty" protobuf:"bytes,1,name=annotations"` Labels []string `json:"labels,omitempty" protobuf:"bytes,2,name=labels"` }
+kubebuilder:object:generate=true
func (*ApplicationPreservedFields) DeepCopy ¶
func (in *ApplicationPreservedFields) DeepCopy() *ApplicationPreservedFields
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationPreservedFields.
func (*ApplicationPreservedFields) DeepCopyInto ¶
func (in *ApplicationPreservedFields) DeepCopyInto(out *ApplicationPreservedFields)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationSet ¶
type ApplicationSet struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` Spec ApplicationSetSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` Status ApplicationSetStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` }
ApplicationSet is a set of Application resources +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:path=applicationsets,shortName=appset;appsets +kubebuilder:subresource:status +kubebuilder:object:root=true
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) QualifiedName ¶
func (a *ApplicationSet) QualifiedName() string
QualifiedName returns the full qualified name of the applicationset, including the name of the namespace it is created in delimited by a forward slash, i.e. <namespace>/<appname>
type ApplicationSetApplicationStatus ¶
type ApplicationSetApplicationStatus struct { // Application contains the name of the Application resource Application string `json:"application" protobuf:"bytes,1,opt,name=application"` // LastTransitionTime is the time the status was last updated LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,2,opt,name=lastTransitionTime"` // Message contains human-readable message indicating details about the status Message string `json:"message" protobuf:"bytes,3,opt,name=message"` // Status contains the AppSet's perceived status of the managed Application resource: (Waiting, Pending, Progressing, Healthy) Status string `json:"status" protobuf:"bytes,4,opt,name=status"` // Step tracks which step this Application should be updated in Step string `json:"step" protobuf:"bytes,5,opt,name=step"` }
ApplicationSetApplicationStatus contains details about each Application managed by the ApplicationSet +kubebuilder:object:generate=true
func (*ApplicationSetApplicationStatus) DeepCopy ¶
func (in *ApplicationSetApplicationStatus) DeepCopy() *ApplicationSetApplicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetApplicationStatus.
func (*ApplicationSetApplicationStatus) DeepCopyInto ¶
func (in *ApplicationSetApplicationStatus) DeepCopyInto(out *ApplicationSetApplicationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 usually an error or warning +kubebuilder:object:generate=true
func (*ApplicationSetCondition) DeepCopy ¶
func (in *ApplicationSetCondition) DeepCopy() *ApplicationSetCondition
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" ApplicationSetConditionRolloutProgressing ApplicationSetConditionType = "RolloutProgressing" )
ErrorOccurred / ParametersGenerated / TemplateRendered / ResourcesUpToDate
type ApplicationSetGenerator ¶
type ApplicationSetGenerator struct { List *ListGenerator `json:"list,omitempty" protobuf:"bytes,1,name=list"` Clusters *ClusterGenerator `json:"clusters,omitempty" protobuf:"bytes,2,name=clusters"` Git *GitGenerator `json:"git,omitempty" protobuf:"bytes,3,name=git"` SCMProvider *SCMProviderGenerator `json:"scmProvider,omitempty" protobuf:"bytes,4,name=scmProvider"` ClusterDecisionResource *DuckTypeGenerator `json:"clusterDecisionResource,omitempty" protobuf:"bytes,5,name=clusterDecisionResource"` PullRequest *PullRequestGenerator `json:"pullRequest,omitempty" protobuf:"bytes,6,name=pullRequest"` Matrix *MatrixGenerator `json:"matrix,omitempty" protobuf:"bytes,7,name=matrix"` Merge *MergeGenerator `json:"merge,omitempty" protobuf:"bytes,8,name=merge"` // Selector allows to post-filter all generator. Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,9,name=selector"` Plugin *PluginGenerator `json:"plugin,omitempty" protobuf:"bytes,10,name=plugin"` }
ApplicationSetGenerator represents a generator at the top level of an ApplicationSet. +kubebuilder:object:generate=true
func (*ApplicationSetGenerator) DeepCopy ¶
func (in *ApplicationSetGenerator) DeepCopy() *ApplicationSetGenerator
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 ApplicationSetIgnoreDifferences ¶
type ApplicationSetIgnoreDifferences []ApplicationSetResourceIgnoreDifferences
ApplicationSetIgnoreDifferences configures how the ApplicationSet controller will ignore differences in live applications when applying changes from generated applications. +kubebuilder:object:generate=true
func (ApplicationSetIgnoreDifferences) DeepCopy ¶
func (in ApplicationSetIgnoreDifferences) DeepCopy() ApplicationSetIgnoreDifferences
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetIgnoreDifferences.
func (ApplicationSetIgnoreDifferences) DeepCopyInto ¶
func (in ApplicationSetIgnoreDifferences) DeepCopyInto(out *ApplicationSetIgnoreDifferences)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ApplicationSetIgnoreDifferences) ToApplicationIgnoreDifferences ¶
func (a ApplicationSetIgnoreDifferences) ToApplicationIgnoreDifferences() []ResourceIgnoreDifferences
type ApplicationSetList ¶
type ApplicationSetList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` Items []ApplicationSet `json:"items" protobuf:"bytes,2,rep,name=items"` }
ApplicationSetList contains a list of ApplicationSet +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +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" protobuf:"bytes,1,name=list"` Clusters *ClusterGenerator `json:"clusters,omitempty" protobuf:"bytes,2,name=clusters"` Git *GitGenerator `json:"git,omitempty" protobuf:"bytes,3,name=git"` SCMProvider *SCMProviderGenerator `json:"scmProvider,omitempty" protobuf:"bytes,4,name=scmProvider"` ClusterDecisionResource *DuckTypeGenerator `json:"clusterDecisionResource,omitempty" protobuf:"bytes,5,name=clusterDecisionResource"` PullRequest *PullRequestGenerator `json:"pullRequest,omitempty" protobuf:"bytes,6,name=pullRequest"` // Matrix should have the form of NestedMatrixGenerator Matrix *apiextensionsv1.JSON `json:"matrix,omitempty" protobuf:"bytes,7,name=matrix"` // Merge should have the form of NestedMergeGenerator Merge *apiextensionsv1.JSON `json:"merge,omitempty" protobuf:"bytes,8,name=merge"` // Selector allows to post-filter all generator. Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,9,name=selector"` Plugin *PluginGenerator `json:"plugin,omitempty" protobuf:"bytes,10,name=plugin"` }
ApplicationSetNestedGenerator represents a generator nested within a combination-type generator (MatrixGenerator or MergeGenerator). +kubebuilder:object:generate=true
func (*ApplicationSetNestedGenerator) DeepCopy ¶
func (in *ApplicationSetNestedGenerator) DeepCopy() *ApplicationSetNestedGenerator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetNestedGenerator.
func (*ApplicationSetNestedGenerator) DeepCopyInto ¶
func (in *ApplicationSetNestedGenerator) DeepCopyInto(out *ApplicationSetNestedGenerator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationSetNestedGenerators ¶
type ApplicationSetNestedGenerators []ApplicationSetNestedGenerator
+kubebuilder:object:generate=true
func (ApplicationSetNestedGenerators) DeepCopy ¶
func (in ApplicationSetNestedGenerators) DeepCopy() ApplicationSetNestedGenerators
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetNestedGenerators.
func (ApplicationSetNestedGenerators) DeepCopyInto ¶
func (in ApplicationSetNestedGenerators) DeepCopyInto(out *ApplicationSetNestedGenerators)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationSetReasonType ¶
type ApplicationSetReasonType string
type ApplicationSetResourceIgnoreDifferences ¶
type ApplicationSetResourceIgnoreDifferences struct { // Name is the name of the application to ignore differences for. If not specified, the rule applies to all applications. Name string `json:"name,omitempty" protobuf:"bytes,1,name=name"` // JSONPointers is a list of JSON pointers to fields to ignore differences for. JSONPointers []string `json:"jsonPointers,omitempty" protobuf:"bytes,2,name=jsonPointers"` // JQPathExpressions is a list of JQ path expressions to fields to ignore differences for. JQPathExpressions []string `json:"jqPathExpressions,omitempty" protobuf:"bytes,3,name=jqExpressions"` }
ApplicationSetResourceIgnoreDifferences configures how the ApplicationSet controller will ignore differences in live applications when applying changes from generated applications. +kubebuilder:object:generate=true
func (*ApplicationSetResourceIgnoreDifferences) DeepCopy ¶
func (in *ApplicationSetResourceIgnoreDifferences) DeepCopy() *ApplicationSetResourceIgnoreDifferences
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetResourceIgnoreDifferences.
func (*ApplicationSetResourceIgnoreDifferences) DeepCopyInto ¶
func (in *ApplicationSetResourceIgnoreDifferences) DeepCopyInto(out *ApplicationSetResourceIgnoreDifferences)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationSetResourceIgnoreDifferences) ToApplicationResourceIgnoreDifferences ¶
func (a *ApplicationSetResourceIgnoreDifferences) ToApplicationResourceIgnoreDifferences() ResourceIgnoreDifferences
type ApplicationSetRolloutStep ¶
type ApplicationSetRolloutStep struct { MatchExpressions []ApplicationMatchExpression `json:"matchExpressions,omitempty" protobuf:"bytes,1,opt,name=matchExpressions"` MaxUpdate *intstr.IntOrString `json:"maxUpdate,omitempty" protobuf:"bytes,2,opt,name=maxUpdate"` }
+kubebuilder:object:generate=true
func (*ApplicationSetRolloutStep) DeepCopy ¶
func (in *ApplicationSetRolloutStep) DeepCopy() *ApplicationSetRolloutStep
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetRolloutStep.
func (*ApplicationSetRolloutStep) DeepCopyInto ¶
func (in *ApplicationSetRolloutStep) DeepCopyInto(out *ApplicationSetRolloutStep)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationSetRolloutStrategy ¶
type ApplicationSetRolloutStrategy struct {
Steps []ApplicationSetRolloutStep `json:"steps,omitempty" protobuf:"bytes,1,opt,name=steps"`
}
+kubebuilder:object:generate=true
func (*ApplicationSetRolloutStrategy) DeepCopy ¶
func (in *ApplicationSetRolloutStrategy) DeepCopy() *ApplicationSetRolloutStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetRolloutStrategy.
func (*ApplicationSetRolloutStrategy) DeepCopyInto ¶
func (in *ApplicationSetRolloutStrategy) DeepCopyInto(out *ApplicationSetRolloutStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationSetSpec ¶
type ApplicationSetSpec struct { GoTemplate bool `json:"goTemplate,omitempty" protobuf:"bytes,1,name=goTemplate"` Generators []ApplicationSetGenerator `json:"generators" protobuf:"bytes,2,name=generators"` Template ApplicationSetTemplate `json:"template" protobuf:"bytes,3,name=template"` SyncPolicy *ApplicationSetSyncPolicy `json:"syncPolicy,omitempty" protobuf:"bytes,4,name=syncPolicy"` Strategy *ApplicationSetStrategy `json:"strategy,omitempty" protobuf:"bytes,5,opt,name=strategy"` PreservedFields *ApplicationPreservedFields `json:"preservedFields,omitempty" protobuf:"bytes,6,opt,name=preservedFields"` GoTemplateOptions []string `json:"goTemplateOptions,omitempty" protobuf:"bytes,7,opt,name=goTemplateOptions"` // ApplyNestedSelectors enables selectors defined within the generators of two level-nested matrix or merge generators ApplyNestedSelectors bool `json:"applyNestedSelectors,omitempty" protobuf:"bytes,8,name=applyNestedSelectors"` IgnoreApplicationDifferences ApplicationSetIgnoreDifferences `json:"ignoreApplicationDifferences,omitempty" protobuf:"bytes,9,name=ignoreApplicationDifferences"` TemplatePatch *string `json:"templatePatch,omitempty" protobuf:"bytes,10,name=templatePatch"` }
ApplicationSetSpec represents a class of application set state. +kubebuilder:object:generate=true
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" protobuf:"bytes,1,name=conditions"` ApplicationStatus []ApplicationSetApplicationStatus `json:"applicationStatus,omitempty" protobuf:"bytes,2,name=applicationStatus"` // Resources is a list of Applications resources managed by this application set. Resources []ResourceStatus `json:"resources,omitempty" protobuf:"bytes,3,opt,name=resources"` }
ApplicationSetStatus defines the observed state of ApplicationSet +kubebuilder:object:generate=true
func (*ApplicationSetStatus) DeepCopy ¶
func (in *ApplicationSetStatus) DeepCopy() *ApplicationSetStatus
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) SetApplicationStatus ¶
func (status *ApplicationSetStatus) SetApplicationStatus(newStatus ApplicationSetApplicationStatus)
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 ApplicationSetStrategy ¶
type ApplicationSetStrategy struct { Type string `json:"type,omitempty" protobuf:"bytes,1,opt,name=type"` RollingSync *ApplicationSetRolloutStrategy `json:"rollingSync,omitempty" protobuf:"bytes,2,opt,name=rollingSync"` }
ApplicationSetStrategy configures how generated Applications are updated in sequence. +kubebuilder:object:generate=true
func (*ApplicationSetStrategy) DeepCopy ¶
func (in *ApplicationSetStrategy) DeepCopy() *ApplicationSetStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetStrategy.
func (*ApplicationSetStrategy) DeepCopyInto ¶
func (in *ApplicationSetStrategy) DeepCopyInto(out *ApplicationSetStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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" protobuf:"bytes,1,name=syncPolicy"` // ApplicationsSync represents the policy applied on the generated applications. Possible values are create-only, create-update, create-delete, sync // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=create-only;create-update;create-delete;sync ApplicationsSync *ApplicationsSyncPolicy `json:"applicationsSync,omitempty" protobuf:"bytes,2,opt,name=applicationsSync,casttype=ApplicationsSyncPolicy"` }
ApplicationSetSyncPolicy configures how generated Applications will relate to their ApplicationSet. +kubebuilder:object:generate=true
func (*ApplicationSetSyncPolicy) DeepCopy ¶
func (in *ApplicationSetSyncPolicy) DeepCopy() *ApplicationSetSyncPolicy
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" protobuf:"bytes,1,name=metadata"` Spec ApplicationSpec `json:"spec" protobuf:"bytes,2,name=spec"` }
ApplicationSetTemplate represents argocd ApplicationSpec +kubebuilder:object:generate=true
func (*ApplicationSetTemplate) DeepCopy ¶
func (in *ApplicationSetTemplate) DeepCopy() *ApplicationSetTemplate
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" protobuf:"bytes,1,name=name"` Namespace string `json:"namespace,omitempty" protobuf:"bytes,2,name=namespace"` Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,3,name=labels"` Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,4,name=annotations"` Finalizers []string `json:"finalizers,omitempty" protobuf:"bytes,5,name=finalizers"` }
ApplicationSetTemplateMeta represents the Argo CD application fields that may be used for Applications generated from the ApplicationSet (based on metav1.ObjectMeta) +kubebuilder:object:generate=true
func (*ApplicationSetTemplateMeta) DeepCopy ¶
func (in *ApplicationSetTemplateMeta) DeepCopy() *ApplicationSetTemplateMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetTemplateMeta.
func (*ApplicationSetTemplateMeta) DeepCopyInto ¶
func (in *ApplicationSetTemplateMeta) DeepCopyInto(out *ApplicationSetTemplateMeta)
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" protobuf:"bytes,1,name=list"` Clusters *ClusterGenerator `json:"clusters,omitempty" protobuf:"bytes,2,name=clusters"` Git *GitGenerator `json:"git,omitempty" protobuf:"bytes,3,name=git"` SCMProvider *SCMProviderGenerator `json:"scmProvider,omitempty" protobuf:"bytes,4,name=scmProvider"` ClusterDecisionResource *DuckTypeGenerator `json:"clusterDecisionResource,omitempty" protobuf:"bytes,5,name=clusterDecisionResource"` PullRequest *PullRequestGenerator `json:"pullRequest,omitempty" protobuf:"bytes,6,name=pullRequest"` Plugin *PluginGenerator `json:"plugin,omitempty" protobuf:"bytes,7,name=plugin"` // Selector allows to post-filter all generator. Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,8,name=selector"` }
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 +kubebuilder:object:generate=true
func (*ApplicationSetTerminalGenerator) DeepCopy ¶
func (in *ApplicationSetTerminalGenerator) DeepCopy() *ApplicationSetTerminalGenerator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetTerminalGenerator.
func (*ApplicationSetTerminalGenerator) DeepCopyInto ¶
func (in *ApplicationSetTerminalGenerator) DeepCopyInto(out *ApplicationSetTerminalGenerator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationSetTerminalGenerators ¶
type ApplicationSetTerminalGenerators []ApplicationSetTerminalGenerator
+kubebuilder:object:generate=true
func (ApplicationSetTerminalGenerators) DeepCopy ¶
func (in ApplicationSetTerminalGenerators) DeepCopy() ApplicationSetTerminalGenerators
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetTerminalGenerators.
func (ApplicationSetTerminalGenerators) DeepCopyInto ¶
func (in ApplicationSetTerminalGenerators) DeepCopyInto(out *ApplicationSetTerminalGenerators)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationSetTree ¶
type ApplicationSetTree struct { // Nodes contains list of nodes which are directly managed by the applicationset Nodes []ResourceNode `json:"nodes,omitempty" protobuf:"bytes,1,rep,name=nodes"` }
ApplicationSetTree holds nodes which belongs to the application Used to build a tree of an ApplicationSet and its children +kubebuilder:object:generate=true
func (*ApplicationSetTree) DeepCopy ¶
func (in *ApplicationSetTree) DeepCopy() *ApplicationSetTree
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSetTree.
func (*ApplicationSetTree) DeepCopyInto ¶
func (in *ApplicationSetTree) DeepCopyInto(out *ApplicationSetTree)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationSetTree) Normalize ¶
func (t *ApplicationSetTree) Normalize()
Normalize sorts applicationset tree nodes. The persistent order allows to effectively compare previously cached app tree and allows to unnecessary Redis requests.
type ApplicationSource ¶
type ApplicationSource struct { // RepoURL is the URL to the repository (Git or Helm) that contains the application manifests RepoURL string `json:"repoURL" protobuf:"bytes,1,opt,name=repoURL"` // Path is a directory path within the Git repository, and is only valid for applications sourced from Git. Path string `json:"path,omitempty" protobuf:"bytes,2,opt,name=path"` // TargetRevision defines the revision of the source to sync the application to. // In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. // In case of Helm, this is a semver tag for the Chart's version. TargetRevision string `json:"targetRevision,omitempty" protobuf:"bytes,4,opt,name=targetRevision"` // Helm holds helm specific options Helm *ApplicationSourceHelm `json:"helm,omitempty" protobuf:"bytes,7,opt,name=helm"` // Kustomize holds kustomize specific options Kustomize *ApplicationSourceKustomize `json:"kustomize,omitempty" protobuf:"bytes,8,opt,name=kustomize"` // Directory holds path/directory specific options Directory *ApplicationSourceDirectory `json:"directory,omitempty" protobuf:"bytes,10,opt,name=directory"` // Plugin holds config management plugin specific options Plugin *ApplicationSourcePlugin `json:"plugin,omitempty" protobuf:"bytes,11,opt,name=plugin"` // Chart is a Helm chart name, and must be specified for applications sourced from a Helm repo. Chart string `json:"chart,omitempty" protobuf:"bytes,12,opt,name=chart"` // Ref is reference to another source within sources field. This field will not be used if used with a `source` tag. Ref string `json:"ref,omitempty" protobuf:"bytes,13,opt,name=ref"` }
ApplicationSource contains all required information about the source of an application +kubebuilder:object:generate=true
func (*ApplicationSource) AllowsConcurrentProcessing ¶
func (a *ApplicationSource) AllowsConcurrentProcessing() bool
AllowsConcurrentProcessing returns true if given application source can be processed concurrently
func (*ApplicationSource) DeepCopy ¶
func (in *ApplicationSource) DeepCopy() *ApplicationSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSource.
func (*ApplicationSource) DeepCopyInto ¶
func (in *ApplicationSource) DeepCopyInto(out *ApplicationSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationSource) ExplicitType ¶
func (source *ApplicationSource) ExplicitType() (*ApplicationSourceType, error)
ExplicitType returns the type (e.g. Helm, Kustomize, etc) of the application. If either none or multiple types are defined, returns an error.
func (*ApplicationSource) IsHelm ¶
func (a *ApplicationSource) IsHelm() bool
IsHelm returns true when the application source is of type Helm
type ApplicationSourceDirectory ¶
type ApplicationSourceDirectory struct { // Recurse specifies whether to scan a directory recursively for manifests Recurse bool `json:"recurse,omitempty" protobuf:"bytes,1,opt,name=recurse"` // Jsonnet holds options specific to Jsonnet Jsonnet ApplicationSourceJsonnet `json:"jsonnet,omitempty" protobuf:"bytes,2,opt,name=jsonnet"` // Exclude contains a glob pattern to match paths against that should be explicitly excluded from being used during manifest generation Exclude string `json:"exclude,omitempty" protobuf:"bytes,3,opt,name=exclude"` // Include contains a glob pattern to match paths against that should be explicitly included during manifest generation Include string `json:"include,omitempty" protobuf:"bytes,4,opt,name=include"` }
ApplicationSourceDirectory holds options for applications of type plain YAML or Jsonnet +kubebuilder:object:generate=true
func (*ApplicationSourceDirectory) DeepCopy ¶
func (in *ApplicationSourceDirectory) DeepCopy() *ApplicationSourceDirectory
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSourceDirectory.
func (*ApplicationSourceDirectory) DeepCopyInto ¶
func (in *ApplicationSourceDirectory) DeepCopyInto(out *ApplicationSourceDirectory)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationSourceDirectory) IsZero ¶
func (d *ApplicationSourceDirectory) IsZero() bool
IsZero returns true if the ApplicationSourceDirectory is considered empty
type ApplicationSourceHelm ¶
type ApplicationSourceHelm struct { // ValuesFiles is a list of Helm value files to use when generating a template ValueFiles []string `json:"valueFiles,omitempty" protobuf:"bytes,1,opt,name=valueFiles"` // Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation Parameters []HelmParameter `json:"parameters,omitempty" protobuf:"bytes,2,opt,name=parameters"` // ReleaseName is the Helm release name to use. If omitted it will use the application name ReleaseName string `json:"releaseName,omitempty" protobuf:"bytes,3,opt,name=releaseName"` // Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other. // +patchStrategy=replace Values string `json:"values,omitempty" patchStrategy:"replace" protobuf:"bytes,4,opt,name=values"` // FileParameters are file parameters to the helm template FileParameters []HelmFileParameter `json:"fileParameters,omitempty" protobuf:"bytes,5,opt,name=fileParameters"` // Version is the Helm version to use for templating ("3") Version string `json:"version,omitempty" protobuf:"bytes,6,opt,name=version"` // PassCredentials pass credentials to all domains (Helm's --pass-credentials) PassCredentials bool `json:"passCredentials,omitempty" protobuf:"bytes,7,opt,name=passCredentials"` // IgnoreMissingValueFiles prevents helm template from failing when valueFiles do not exist locally by not appending them to helm template --values IgnoreMissingValueFiles bool `json:"ignoreMissingValueFiles,omitempty" protobuf:"bytes,8,opt,name=ignoreMissingValueFiles"` // SkipCrds skips custom resource definition installation step (Helm's --skip-crds) SkipCrds bool `json:"skipCrds,omitempty" protobuf:"bytes,9,opt,name=skipCrds"` // ValuesObject specifies Helm values to be passed to helm template, defined as a map. This takes precedence over Values. // +kubebuilder:pruning:PreserveUnknownFields ValuesObject *runtime.RawExtension `json:"valuesObject,omitempty" protobuf:"bytes,10,opt,name=valuesObject"` }
ApplicationSourceHelm holds helm specific options +kubebuilder:object:generate=true
func (*ApplicationSourceHelm) AddFileParameter ¶
func (in *ApplicationSourceHelm) AddFileParameter(p HelmFileParameter)
AddFileParameter adds a HelmFileParameter to the application source. If a file parameter with the same name already exists, its value will be overwritten. Otherwise, the HelmFileParameter will be appended as a new entry.
func (*ApplicationSourceHelm) AddParameter ¶
func (in *ApplicationSourceHelm) AddParameter(p HelmParameter)
AddParameter adds a HelmParameter to the application source. If a parameter with the same name already exists, its value will be overwritten. Otherwise, the HelmParameter will be appended as a new entry.
func (*ApplicationSourceHelm) DeepCopy ¶
func (in *ApplicationSourceHelm) DeepCopy() *ApplicationSourceHelm
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSourceHelm.
func (*ApplicationSourceHelm) DeepCopyInto ¶
func (in *ApplicationSourceHelm) DeepCopyInto(out *ApplicationSourceHelm)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationSourceJsonnet ¶
type ApplicationSourceJsonnet struct { // ExtVars is a list of Jsonnet External Variables ExtVars []JsonnetVar `json:"extVars,omitempty" protobuf:"bytes,1,opt,name=extVars"` // TLAS is a list of Jsonnet Top-level Arguments TLAs []JsonnetVar `json:"tlas,omitempty" protobuf:"bytes,2,opt,name=tlas"` // Additional library search dirs Libs []string `json:"libs,omitempty" protobuf:"bytes,3,opt,name=libs"` }
ApplicationSourceJsonnet holds options specific to applications of type Jsonnet +kubebuilder:object:generate=true
func (*ApplicationSourceJsonnet) DeepCopy ¶
func (in *ApplicationSourceJsonnet) DeepCopy() *ApplicationSourceJsonnet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSourceJsonnet.
func (*ApplicationSourceJsonnet) DeepCopyInto ¶
func (in *ApplicationSourceJsonnet) DeepCopyInto(out *ApplicationSourceJsonnet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationSourceJsonnet) IsZero ¶
func (j *ApplicationSourceJsonnet) IsZero() bool
IsZero returns true if the JSonnet options of an application are considered to be empty
type ApplicationSourceKustomize ¶
type ApplicationSourceKustomize struct { // NamePrefix is a prefix appended to resources for Kustomize apps NamePrefix string `json:"namePrefix,omitempty" protobuf:"bytes,1,opt,name=namePrefix"` // NameSuffix is a suffix appended to resources for Kustomize apps NameSuffix string `json:"nameSuffix,omitempty" protobuf:"bytes,2,opt,name=nameSuffix"` // Images is a list of Kustomize image override specifications Images KustomizeImages `json:"images,omitempty" protobuf:"bytes,3,opt,name=images"` // CommonLabels is a list of additional labels to add to rendered manifests CommonLabels map[string]string `json:"commonLabels,omitempty" protobuf:"bytes,4,opt,name=commonLabels"` // Version controls which version of Kustomize to use for rendering manifests Version string `json:"version,omitempty" protobuf:"bytes,5,opt,name=version"` // CommonAnnotations is a list of additional annotations to add to rendered manifests CommonAnnotations map[string]string `json:"commonAnnotations,omitempty" protobuf:"bytes,6,opt,name=commonAnnotations"` // ForceCommonLabels specifies whether to force applying common labels to resources for Kustomize apps ForceCommonLabels bool `json:"forceCommonLabels,omitempty" protobuf:"bytes,7,opt,name=forceCommonLabels"` // ForceCommonAnnotations specifies whether to force applying common annotations to resources for Kustomize apps ForceCommonAnnotations bool `json:"forceCommonAnnotations,omitempty" protobuf:"bytes,8,opt,name=forceCommonAnnotations"` // Namespace sets the namespace that Kustomize adds to all resources Namespace string `json:"namespace,omitempty" protobuf:"bytes,9,opt,name=namespace"` // CommonAnnotationsEnvsubst specifies whether to apply env variables substitution for annotation values CommonAnnotationsEnvsubst bool `json:"commonAnnotationsEnvsubst,omitempty" protobuf:"bytes,10,opt,name=commonAnnotationsEnvsubst"` // Replicas is a list of Kustomize Replicas override specifications Replicas KustomizeReplicas `json:"replicas,omitempty" protobuf:"bytes,11,opt,name=replicas"` // Patches is a list of Kustomize patches Patches KustomizePatches `json:"patches,omitempty" protobuf:"bytes,12,opt,name=patches"` // Components specifies a list of kustomize components to add to the kustomization before building Components []string `json:"components,omitempty" protobuf:"bytes,13,rep,name=components"` }
ApplicationSourceKustomize holds options specific to an Application source specific to Kustomize +kubebuilder:object:generate=true
func (*ApplicationSourceKustomize) AllowsConcurrentProcessing ¶
func (k *ApplicationSourceKustomize) AllowsConcurrentProcessing() bool
AllowsConcurrentProcessing returns true if multiple processes can run Kustomize builds on the same source at the same time
func (*ApplicationSourceKustomize) DeepCopy ¶
func (in *ApplicationSourceKustomize) DeepCopy() *ApplicationSourceKustomize
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSourceKustomize.
func (*ApplicationSourceKustomize) DeepCopyInto ¶
func (in *ApplicationSourceKustomize) DeepCopyInto(out *ApplicationSourceKustomize)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationSourceKustomize) IsZero ¶
func (k *ApplicationSourceKustomize) IsZero() bool
IsZero returns true when the Kustomize options are considered empty
func (*ApplicationSourceKustomize) MergeImage ¶
func (k *ApplicationSourceKustomize) MergeImage(image KustomizeImage)
MergeImage merges a new Kustomize image identifier in to a list of images
func (*ApplicationSourceKustomize) MergeReplica ¶
func (k *ApplicationSourceKustomize) MergeReplica(replica KustomizeReplica)
MergeReplicas merges a new Kustomize replica identifier in to a list of replicas
type ApplicationSourcePlugin ¶
type ApplicationSourcePlugin struct { Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` Env `json:"env,omitempty" protobuf:"bytes,2,opt,name=env"` Parameters ApplicationSourcePluginParameters `json:"parameters,omitempty" protobuf:"bytes,3,opt,name=parameters"` }
ApplicationSourcePlugin holds options specific to config management plugins +kubebuilder:object:generate=true
func (*ApplicationSourcePlugin) AddEnvEntry ¶
func (c *ApplicationSourcePlugin) AddEnvEntry(e *EnvEntry)
AddEnvEntry merges an EnvEntry into a list of entries. If an entry with the same name already exists, its value will be overwritten. Otherwise, the entry is appended to the list.
func (*ApplicationSourcePlugin) DeepCopy ¶
func (in *ApplicationSourcePlugin) DeepCopy() *ApplicationSourcePlugin
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSourcePlugin.
func (*ApplicationSourcePlugin) DeepCopyInto ¶
func (in *ApplicationSourcePlugin) DeepCopyInto(out *ApplicationSourcePlugin)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationSourcePlugin) IsZero ¶
func (c *ApplicationSourcePlugin) IsZero() bool
IsZero returns true if the ApplicationSourcePlugin is considered empty
func (*ApplicationSourcePlugin) RemoveEnvEntry ¶
func (c *ApplicationSourcePlugin) RemoveEnvEntry(key string) error
RemoveEnvEntry removes an EnvEntry if present, from a list of entries.
type ApplicationSourcePluginParameter ¶
type ApplicationSourcePluginParameter struct { // Name is the name identifying a parameter. Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` // String_ is the value of a string type parameter. String_ *string `json:"string,omitempty" protobuf:"bytes,5,opt,name=string"` // Map is the value of a map type parameter. *OptionalMap `json:",omitempty" protobuf:"bytes,3,rep,name=map"` // Array is the value of an array type parameter. *OptionalArray `json:",omitempty" protobuf:"bytes,4,rep,name=array"` }
+kubebuilder:object:generate=true
func (*ApplicationSourcePluginParameter) DeepCopy ¶
func (in *ApplicationSourcePluginParameter) DeepCopy() *ApplicationSourcePluginParameter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSourcePluginParameter.
func (*ApplicationSourcePluginParameter) DeepCopyInto ¶
func (in *ApplicationSourcePluginParameter) DeepCopyInto(out *ApplicationSourcePluginParameter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ApplicationSourcePluginParameter) Equals ¶
func (p ApplicationSourcePluginParameter) Equals(other ApplicationSourcePluginParameter) bool
func (ApplicationSourcePluginParameter) MarshalJSON ¶
func (p ApplicationSourcePluginParameter) MarshalJSON() ([]byte, error)
MarshalJSON is a custom JSON marshaller for ApplicationSourcePluginParameter. We need this custom marshaler because, when ApplicationSourcePluginParameter is unmarshaled, either from JSON or protobufs, the fields inside OptionalMap and OptionalArray are not set. The default JSON marshaler marshals these as "null." But really what we want to represent is an empty map or array.
There are efforts to change things upstream, but nothing has been merged yet. See https://github.com/golang/go/issues/37711
type ApplicationSourcePluginParameters ¶
type ApplicationSourcePluginParameters []ApplicationSourcePluginParameter
func (ApplicationSourcePluginParameters) Environ ¶
func (p ApplicationSourcePluginParameters) Environ() ([]string, error)
Environ builds a list of environment variables to represent parameters sent to a plugin from the Application manifest. Parameters are represented as one large stringified JSON array (under `ARGOCD_APP_PARAMETERS`). They're also represented as individual environment variables, each variable's key being an escaped version of the parameter's name.
func (ApplicationSourcePluginParameters) Equals ¶
func (p ApplicationSourcePluginParameters) Equals(other ApplicationSourcePluginParameters) bool
func (ApplicationSourcePluginParameters) IsZero ¶
func (p ApplicationSourcePluginParameters) IsZero() bool
type ApplicationSourceType ¶
type ApplicationSourceType string
ApplicationSourceType specifies the type of the application's source
const ( ApplicationSourceTypeHelm ApplicationSourceType = "Helm" ApplicationSourceTypeKustomize ApplicationSourceType = "Kustomize" ApplicationSourceTypeDirectory ApplicationSourceType = "Directory" ApplicationSourceTypePlugin ApplicationSourceType = "Plugin" )
type ApplicationSources ¶
type ApplicationSources []ApplicationSource
ApplicationSources contains list of required information about the sources of an application
type ApplicationSpec ¶
type ApplicationSpec struct { // Source is a reference to the location of the application's manifests or chart Source *ApplicationSource `json:"source,omitempty" protobuf:"bytes,1,opt,name=source"` // Destination is a reference to the target Kubernetes server and namespace Destination ApplicationDestination `json:"destination" protobuf:"bytes,2,name=destination"` // Project is a reference to the project this application belongs to. // The empty string means that application belongs to the 'default' project. Project string `json:"project" protobuf:"bytes,3,name=project"` // SyncPolicy controls when and how a sync will be performed SyncPolicy *SyncPolicy `json:"syncPolicy,omitempty" protobuf:"bytes,4,name=syncPolicy"` // IgnoreDifferences is a list of resources and their fields which should be ignored during comparison IgnoreDifferences IgnoreDifferences `json:"ignoreDifferences,omitempty" protobuf:"bytes,5,name=ignoreDifferences"` // Info contains a list of information (URLs, email addresses, and plain text) that relates to the application Info []Info `json:"info,omitempty" protobuf:"bytes,6,name=info"` // RevisionHistoryLimit limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. // This should only be changed in exceptional circumstances. // Setting to zero will store no history. This will reduce storage used. // Increasing will increase the space used to store the history, so we do not recommend increasing it. // Default is 10. RevisionHistoryLimit *int64 `json:"revisionHistoryLimit,omitempty" protobuf:"bytes,7,name=revisionHistoryLimit"` // Sources is a reference to the location of the application's manifests or chart Sources ApplicationSources `json:"sources,omitempty" protobuf:"bytes,8,opt,name=sources"` }
ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision. +kubebuilder:object:generate=true
func (*ApplicationSpec) DeepCopy ¶
func (in *ApplicationSpec) DeepCopy() *ApplicationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSpec.
func (*ApplicationSpec) DeepCopyInto ¶
func (in *ApplicationSpec) DeepCopyInto(out *ApplicationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationSpec) GetSource ¶
func (a *ApplicationSpec) GetSource() ApplicationSource
func (*ApplicationSpec) GetSourcePtr ¶
func (a *ApplicationSpec) GetSourcePtr() *ApplicationSource
func (*ApplicationSpec) GetSources ¶
func (a *ApplicationSpec) GetSources() ApplicationSources
func (*ApplicationSpec) HasMultipleSources ¶
func (a *ApplicationSpec) HasMultipleSources() bool
type ApplicationStatus ¶
type ApplicationStatus struct { // Resources is a list of Kubernetes resources managed by this application Resources []ResourceStatus `json:"resources,omitempty" protobuf:"bytes,1,opt,name=resources"` // Sync contains information about the application's current sync status Sync SyncStatus `json:"sync,omitempty" protobuf:"bytes,2,opt,name=sync"` // Health contains information about the application's current health status Health HealthStatus `json:"health,omitempty" protobuf:"bytes,3,opt,name=health"` // History contains information about the application's sync history History RevisionHistories `json:"history,omitempty" protobuf:"bytes,4,opt,name=history"` // Conditions is a list of currently observed application conditions Conditions []ApplicationCondition `json:"conditions,omitempty" protobuf:"bytes,5,opt,name=conditions"` // ReconciledAt indicates when the application state was reconciled using the latest git version ReconciledAt *metav1.Time `json:"reconciledAt,omitempty" protobuf:"bytes,6,opt,name=reconciledAt"` // OperationState contains information about any ongoing operations, such as a sync OperationState *OperationState `json:"operationState,omitempty" protobuf:"bytes,7,opt,name=operationState"` // ObservedAt indicates when the application state was updated without querying latest git state // Deprecated: controller no longer updates ObservedAt field ObservedAt *metav1.Time `json:"observedAt,omitempty" protobuf:"bytes,8,opt,name=observedAt"` // SourceType specifies the type of this application SourceType ApplicationSourceType `json:"sourceType,omitempty" protobuf:"bytes,9,opt,name=sourceType"` // Summary contains a list of URLs and container images used by this application Summary ApplicationSummary `json:"summary,omitempty" protobuf:"bytes,10,opt,name=summary"` // ResourceHealthSource indicates where the resource health status is stored: inline if not set or appTree ResourceHealthSource ResourceHealthLocation `json:"resourceHealthSource,omitempty" protobuf:"bytes,11,opt,name=resourceHealthSource"` // SourceTypes specifies the type of the sources included in the application SourceTypes []ApplicationSourceType `json:"sourceTypes,omitempty" protobuf:"bytes,12,opt,name=sourceTypes"` // ControllerNamespace indicates the namespace in which the application controller is located ControllerNamespace string `json:"controllerNamespace,omitempty" protobuf:"bytes,13,opt,name=controllerNamespace"` }
ApplicationStatus contains status information for the application +kubebuilder:object:generate=true
func (*ApplicationStatus) DeepCopy ¶
func (in *ApplicationStatus) DeepCopy() *ApplicationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationStatus.
func (*ApplicationStatus) DeepCopyInto ¶
func (in *ApplicationStatus) DeepCopyInto(out *ApplicationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApplicationStatus) Expired ¶
func (status *ApplicationStatus) Expired(statusRefreshTimeout time.Duration) bool
Expired returns true if the application needs to be reconciled
func (*ApplicationStatus) GetConditions ¶
func (status *ApplicationStatus) GetConditions(conditionTypes map[ApplicationConditionType]bool) []ApplicationCondition
GetErrorConditions returns list of application error conditions
func (*ApplicationStatus) GetRevisions ¶
func (a *ApplicationStatus) GetRevisions() []string
GetRevisions will return the current revision associated with the Application. If app has multisources, it will return all corresponding revisions preserving order from the app.spec.sources. If app has only one source, it will return a single revision in the list.
func (*ApplicationStatus) SetConditions ¶
func (status *ApplicationStatus) SetConditions(conditions []ApplicationCondition, evaluatedTypes map[ApplicationConditionType]bool)
SetConditions updates the application status conditions for a subset of evaluated types. If the application has a pre-existing condition of a type that is not in the evaluated list, it will be preserved. If the application has a pre-existing condition of a type that is in the evaluated list, but not in the incoming conditions list, it will be removed.
type ApplicationSummary ¶
type ApplicationSummary struct { // ExternalURLs holds all external URLs of application child resources. ExternalURLs []string `json:"externalURLs,omitempty" protobuf:"bytes,1,opt,name=externalURLs"` // Images holds all images of application child resources. Images []string `json:"images,omitempty" protobuf:"bytes,2,opt,name=images"` }
ApplicationSummary contains information about URLs and container images used by an application +kubebuilder:object:generate=true
func (*ApplicationSummary) DeepCopy ¶
func (in *ApplicationSummary) DeepCopy() *ApplicationSummary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationSummary.
func (*ApplicationSummary) DeepCopyInto ¶
func (in *ApplicationSummary) DeepCopyInto(out *ApplicationSummary)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ApplicationTree ¶
type ApplicationTree struct { // Nodes contains list of nodes which either directly managed by the application and children of directly managed nodes. Nodes []ResourceNode `json:"nodes,omitempty" protobuf:"bytes,1,rep,name=nodes"` // OrphanedNodes contains if or orphaned nodes: nodes which are not managed by the app but in the same namespace. List is populated only if orphaned resources enabled in app project. OrphanedNodes []ResourceNode `json:"orphanedNodes,omitempty" protobuf:"bytes,2,rep,name=orphanedNodes"` // Hosts holds list of Kubernetes nodes that run application related pods Hosts []HostInfo `json:"hosts,omitempty" protobuf:"bytes,3,rep,name=hosts"` }
ApplicationTree holds nodes which belongs to the application TODO: describe purpose of this type
func (*ApplicationTree) FindNode ¶
func (t *ApplicationTree) FindNode(group string, kind string, namespace string, name string) *ResourceNode
TODO: Document purpose of this method
func (*ApplicationTree) Normalize ¶
func (t *ApplicationTree) Normalize()
Normalize sorts application tree nodes and hosts. The persistent order allows to effectively compare previously cached app tree and allows to unnecessary Redis requests.
type ApplicationWatchEvent ¶
type ApplicationWatchEvent struct { Type watch.EventType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=k8s.io/apimachinery/pkg/watch.EventType"` // Application is: // * If Type is Added or Modified: the new state of the object. // * If Type is Deleted: the state of the object immediately before deletion. // * If Type is Error: *api.Status is recommended; other types may make sense // depending on context. Application Application `json:"application" protobuf:"bytes,2,opt,name=application"` }
ApplicationWatchEvent contains information about application change.
type ApplicationsSyncPolicy ¶
type ApplicationsSyncPolicy string
ApplicationsSyncPolicy representation "create-only" means applications are only created. If the generator's result contains update, applications won't be updated "create-update" means applications are only created/Updated. If the generator's result contains update, applications will be updated, but not deleted "create-delete" means applications are only created/deleted. If the generator's result contains update, applications won't be updated, if it results in deleted applications, the applications will be deleted "sync" means create/update/deleted. If the generator's result contains update, applications will be updated, if it results in deleted applications, the applications will be deleted If no ApplicationsSyncPolicy is defined, it defaults it to sync
const ( ApplicationsSyncPolicyCreateOnly ApplicationsSyncPolicy = "create-only" ApplicationsSyncPolicyCreateUpdate ApplicationsSyncPolicy = "create-update" ApplicationsSyncPolicyCreateDelete ApplicationsSyncPolicy = "create-delete" ApplicationsSyncPolicySync ApplicationsSyncPolicy = "sync" )
sync / create-only / create-update / create-delete
func (ApplicationsSyncPolicy) AllowDelete ¶
func (s ApplicationsSyncPolicy) AllowDelete() bool
func (ApplicationsSyncPolicy) AllowUpdate ¶
func (s ApplicationsSyncPolicy) AllowUpdate() bool
type Backoff ¶
type Backoff struct { // Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h") Duration string `json:"duration,omitempty" protobuf:"bytes,1,opt,name=duration"` // Factor is a factor to multiply the base duration after each failed retry Factor *int64 `json:"factor,omitempty" protobuf:"bytes,2,name=factor"` // MaxDuration is the maximum amount of time allowed for the backoff strategy MaxDuration string `json:"maxDuration,omitempty" protobuf:"bytes,3,opt,name=maxDuration"` }
Backoff is the backoff strategy to use on subsequent retries for failing syncs +kubebuilder:object:generate=true
func (*Backoff) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backoff.
func (*Backoff) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BasicAuthBitbucketServer ¶
type BasicAuthBitbucketServer struct { // Username for Basic auth Username string `json:"username" protobuf:"bytes,1,opt,name=username"` // Password (or personal access token) reference. PasswordRef *SecretRef `json:"passwordRef" protobuf:"bytes,2,opt,name=passwordRef"` }
BasicAuthBitbucketServer defines the username/(password or personal access token) for Basic auth. +kubebuilder:object:generate=true
func (*BasicAuthBitbucketServer) DeepCopy ¶
func (in *BasicAuthBitbucketServer) DeepCopy() *BasicAuthBitbucketServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BasicAuthBitbucketServer.
func (*BasicAuthBitbucketServer) DeepCopyInto ¶
func (in *BasicAuthBitbucketServer) DeepCopyInto(out *BasicAuthBitbucketServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BearerTokenBitbucketCloud ¶
type BearerTokenBitbucketCloud struct { // Password (or personal access token) reference. TokenRef *SecretRef `json:"tokenRef" protobuf:"bytes,1,opt,name=tokenRef"` }
BearerTokenBitbucketCloud defines the Bearer token for BitBucket AppToken auth. +kubebuilder:object:generate=true
func (*BearerTokenBitbucketCloud) DeepCopy ¶
func (in *BearerTokenBitbucketCloud) DeepCopy() *BearerTokenBitbucketCloud
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BearerTokenBitbucketCloud.
func (*BearerTokenBitbucketCloud) DeepCopyInto ¶
func (in *BearerTokenBitbucketCloud) DeepCopyInto(out *BearerTokenBitbucketCloud)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChartDetails ¶
type ChartDetails struct { Description string `json:"description,omitempty" protobuf:"bytes,1,opt,name=description"` // The URL of this projects home page, e.g. "http://example.com" Home string `json:"home,omitempty" protobuf:"bytes,2,opt,name=home"` // List of maintainer details, name and email, e.g. ["John Doe <john_doe@my-company.com>"] Maintainers []string `json:"maintainers,omitempty" protobuf:"bytes,3,opt,name=maintainers"` }
ChartDetails contains helm chart metadata for a specific version
type Cluster ¶
type Cluster struct { // ID is an internal field cluster identifier. Not exposed via API. ID string `json:"-"` // Server is the API server URL of the Kubernetes cluster Server string `json:"server" protobuf:"bytes,1,opt,name=server"` // Name of the cluster. If omitted, will use the server address Name string `json:"name" protobuf:"bytes,2,opt,name=name"` // Config holds cluster information for connecting to a cluster Config ClusterConfig `json:"config" protobuf:"bytes,3,opt,name=config"` // DEPRECATED: use Info.ConnectionState field instead. // ConnectionState contains information about cluster connection state ConnectionState ConnectionState `json:"connectionState,omitempty" protobuf:"bytes,4,opt,name=connectionState"` // DEPRECATED: use Info.ServerVersion field instead. // The server version ServerVersion string `json:"serverVersion,omitempty" protobuf:"bytes,5,opt,name=serverVersion"` // Holds list of namespaces which are accessible in that cluster. Cluster level resources will be ignored if namespace list is not empty. Namespaces []string `json:"namespaces,omitempty" protobuf:"bytes,6,opt,name=namespaces"` // RefreshRequestedAt holds time when cluster cache refresh has been requested RefreshRequestedAt *metav1.Time `json:"refreshRequestedAt,omitempty" protobuf:"bytes,7,opt,name=refreshRequestedAt"` // Info holds information about cluster cache and state Info ClusterInfo `json:"info,omitempty" protobuf:"bytes,8,opt,name=info"` // Shard contains optional shard number. Calculated on the fly by the application controller if not specified. Shard *int64 `json:"shard,omitempty" protobuf:"bytes,9,opt,name=shard"` // Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode. ClusterResources bool `json:"clusterResources,omitempty" protobuf:"bytes,10,opt,name=clusterResources"` // Reference between project and cluster that allow you automatically to be added as item inside Destinations project entity Project string `json:"project,omitempty" protobuf:"bytes,11,opt,name=project"` // Labels for cluster secret metadata Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,12,opt,name=labels"` // Annotations for cluster secret metadata Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,13,opt,name=annotations"` }
Cluster is the definition of a cluster resource
type ClusterCacheInfo ¶
type ClusterCacheInfo struct { // ResourcesCount holds number of observed Kubernetes resources ResourcesCount int64 `json:"resourcesCount,omitempty" protobuf:"bytes,1,opt,name=resourcesCount"` // APIsCount holds number of observed Kubernetes API count APIsCount int64 `json:"apisCount,omitempty" protobuf:"bytes,2,opt,name=apisCount"` // LastCacheSyncTime holds time of most recent cache synchronization LastCacheSyncTime *metav1.Time `json:"lastCacheSyncTime,omitempty" protobuf:"bytes,3,opt,name=lastCacheSyncTime"` }
ClusterCacheInfo contains information about the cluster cache
type ClusterConfig ¶
type ClusterConfig struct { // Server requires Basic authentication Username string `json:"username,omitempty" protobuf:"bytes,1,opt,name=username"` Password string `json:"password,omitempty" protobuf:"bytes,2,opt,name=password"` // Server requires Bearer authentication. This client will not attempt to use // refresh tokens for an OAuth2 flow. // TODO: demonstrate an OAuth2 compatible client. BearerToken string `json:"bearerToken,omitempty" protobuf:"bytes,3,opt,name=bearerToken"` // TLSClientConfig contains settings to enable transport layer security TLSClientConfig `json:"tlsClientConfig" protobuf:"bytes,4,opt,name=tlsClientConfig"` // AWSAuthConfig contains IAM authentication configuration AWSAuthConfig *AWSAuthConfig `json:"awsAuthConfig,omitempty" protobuf:"bytes,5,opt,name=awsAuthConfig"` // ExecProviderConfig contains configuration for an exec provider ExecProviderConfig *ExecProviderConfig `json:"execProviderConfig,omitempty" protobuf:"bytes,6,opt,name=execProviderConfig"` }
ClusterConfig is the configuration attributes. This structure is subset of the go-client rest.Config with annotations added for marshalling.
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" protobuf:"bytes,1,name=selector"` Template ApplicationSetTemplate `json:"template,omitempty" protobuf:"bytes,2,name=template"` // Values contains key/value pairs which are passed directly as parameters to the template Values map[string]string `json:"values,omitempty" protobuf:"bytes,3,name=values"` }
ClusterGenerator defines a generator to match against clusters registered with ArgoCD. +kubebuilder:object:generate=true
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 ClusterInfo ¶
type ClusterInfo struct { // ConnectionState contains information about the connection to the cluster ConnectionState ConnectionState `json:"connectionState,omitempty" protobuf:"bytes,1,opt,name=connectionState"` // ServerVersion contains information about the Kubernetes version of the cluster ServerVersion string `json:"serverVersion,omitempty" protobuf:"bytes,2,opt,name=serverVersion"` // CacheInfo contains information about the cluster cache CacheInfo ClusterCacheInfo `json:"cacheInfo,omitempty" protobuf:"bytes,3,opt,name=cacheInfo"` // ApplicationsCount is the number of applications managed by Argo CD on the cluster ApplicationsCount int64 `json:"applicationsCount" protobuf:"bytes,4,opt,name=applicationsCount"` // APIVersions contains list of API versions supported by the cluster APIVersions []string `json:"apiVersions,omitempty" protobuf:"bytes,5,opt,name=apiVersions"` }
ClusterInfo contains information about the cluster
func (*ClusterInfo) GetApiVersions ¶
func (c *ClusterInfo) GetApiVersions() []string
func (*ClusterInfo) GetKubeVersion ¶
func (c *ClusterInfo) GetKubeVersion() string
type ClusterList ¶
type ClusterList struct { metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` Items []Cluster `json:"items" protobuf:"bytes,2,rep,name=items"` }
ClusterList is a collection of Clusters.
type Command ¶
type Command struct { Command []string `json:"command,omitempty" protobuf:"bytes,1,name=command"` Args []string `json:"args,omitempty" protobuf:"bytes,2,rep,name=args"` }
Command holds binary path and arguments list
type ComparedTo ¶
type ComparedTo struct { // Source is a reference to the application's source used for comparison Source ApplicationSource `json:"source,omitempty" protobuf:"bytes,1,opt,name=source"` // Destination is a reference to the application's destination used for comparison Destination ApplicationDestination `json:"destination" protobuf:"bytes,2,opt,name=destination"` // Sources is a reference to the application's multiple sources used for comparison Sources ApplicationSources `json:"sources,omitempty" protobuf:"bytes,3,opt,name=sources"` // IgnoreDifferences is a reference to the application's ignored differences used for comparison IgnoreDifferences IgnoreDifferences `json:"ignoreDifferences,omitempty" protobuf:"bytes,4,opt,name=ignoreDifferences"` }
ComparedTo contains application source and target which was used for resources comparison +kubebuilder:object:generate=true
func (*ComparedTo) DeepCopy ¶
func (in *ComparedTo) DeepCopy() *ComparedTo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComparedTo.
func (*ComparedTo) DeepCopyInto ¶
func (in *ComparedTo) DeepCopyInto(out *ComparedTo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentParameter ¶
type ComponentParameter struct { Component string `json:"component,omitempty" protobuf:"bytes,1,opt,name=component"` Name string `json:"name" protobuf:"bytes,2,opt,name=name"` Value string `json:"value" protobuf:"bytes,3,opt,name=value"` }
ComponentParameter contains information about component parameter value
type ConfigManagementPlugin ¶
type ConfigManagementPlugin struct { Name string `json:"name" protobuf:"bytes,1,name=name"` Init *Command `json:"init,omitempty" protobuf:"bytes,2,name=init"` Generate Command `json:"generate" protobuf:"bytes,3,name=generate"` LockRepo bool `json:"lockRepo,omitempty" protobuf:"bytes,4,name=lockRepo"` }
ConfigManagementPlugin contains config management plugin configuration
type ConnectionState ¶
type ConnectionState struct { // Status contains the current status indicator for the connection Status ConnectionStatus `json:"status" protobuf:"bytes,1,opt,name=status"` // Message contains human readable information about the connection status Message string `json:"message" protobuf:"bytes,2,opt,name=message"` // ModifiedAt contains the timestamp when this connection status has been determined ModifiedAt *metav1.Time `json:"attemptedAt" protobuf:"bytes,3,opt,name=attemptedAt"` }
ConnectionState contains information about remote resource connection state, currently used for clusters and repositories
type ConnectionStatus ¶
type ConnectionStatus = string
ConnectionStatus represents the status indicator for a connection to a remote resource
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" protobuf:"bytes,1,name=configMapRef"` Name string `json:"name,omitempty" protobuf:"bytes,2,name=name"` RequeueAfterSeconds *int64 `json:"requeueAfterSeconds,omitempty" protobuf:"bytes,3,name=requeueAfterSeconds"` LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty" protobuf:"bytes,4,name=labelSelector"` Template ApplicationSetTemplate `json:"template,omitempty" protobuf:"bytes,5,name=template"` // Values contains key/value pairs which are passed directly as parameters to the template Values map[string]string `json:"values,omitempty" protobuf:"bytes,6,name=values"` }
DuckType defines a generator to match against clusters registered with ArgoCD. +kubebuilder:object:generate=true
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 Env ¶
type Env []*EnvEntry
Env is a list of environment variable entries
func (Env) Environ ¶
Environ returns a list of environment variables in name=value format from a list of variables
type EnvEntry ¶
type EnvEntry struct { // Name is the name of the variable, usually expressed in uppercase Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Value is the value of the variable Value string `json:"value" protobuf:"bytes,2,opt,name=value"` }
EnvEntry represents an entry in the application's environment
func NewEnvEntry ¶
NewEnvEntry parses a string in format name=value and returns an EnvEntry object
type ExecProviderConfig ¶
type ExecProviderConfig struct { // Command to execute Command string `json:"command,omitempty" protobuf:"bytes,1,opt,name=command"` // Arguments to pass to the command when executing it Args []string `json:"args,omitempty" protobuf:"bytes,2,rep,name=args"` // Env defines additional environment variables to expose to the process Env map[string]string `json:"env,omitempty" protobuf:"bytes,3,opt,name=env"` // Preferred input version of the ExecInfo APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,4,opt,name=apiVersion"` // This text is shown to the user when the executable doesn't seem to be present InstallHint string `json:"installHint,omitempty" protobuf:"bytes,5,opt,name=installHint"` }
ExecProviderConfig is config used to call an external command to perform cluster authentication See: https://godoc.org/k8s.io/client-go/tools/clientcmd/api#ExecConfig
type GitDirectoryGeneratorItem ¶
type GitDirectoryGeneratorItem struct { Path string `json:"path" protobuf:"bytes,1,name=path"` Exclude bool `json:"exclude,omitempty" protobuf:"bytes,2,name=exclude"` }
+kubebuilder:object:generate=true
func (*GitDirectoryGeneratorItem) DeepCopy ¶
func (in *GitDirectoryGeneratorItem) DeepCopy() *GitDirectoryGeneratorItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GitDirectoryGeneratorItem.
func (*GitDirectoryGeneratorItem) DeepCopyInto ¶
func (in *GitDirectoryGeneratorItem) DeepCopyInto(out *GitDirectoryGeneratorItem)
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" protobuf:"bytes,1,name=path"`
}
+kubebuilder:object:generate=true
func (*GitFileGeneratorItem) DeepCopy ¶
func (in *GitFileGeneratorItem) DeepCopy() *GitFileGeneratorItem
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" protobuf:"bytes,1,name=repoURL"` Directories []GitDirectoryGeneratorItem `json:"directories,omitempty" protobuf:"bytes,2,name=directories"` Files []GitFileGeneratorItem `json:"files,omitempty" protobuf:"bytes,3,name=files"` Revision string `json:"revision" protobuf:"bytes,4,name=revision"` RequeueAfterSeconds *int64 `json:"requeueAfterSeconds,omitempty" protobuf:"bytes,5,name=requeueAfterSeconds"` Template ApplicationSetTemplate `json:"template,omitempty" protobuf:"bytes,6,name=template"` PathParamPrefix string `json:"pathParamPrefix,omitempty" protobuf:"bytes,7,name=pathParamPrefix"` // Values contains key/value pairs which are passed directly as parameters to the template Values map[string]string `json:"values,omitempty" protobuf:"bytes,8,name=values"` }
+kubebuilder:object:generate=true
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 GnuPGPublicKey ¶
type GnuPGPublicKey struct { // KeyID specifies the key ID, in hexadecimal string format KeyID string `json:"keyID" protobuf:"bytes,1,opt,name=keyID"` // Fingerprint is the fingerprint of the key Fingerprint string `json:"fingerprint,omitempty" protobuf:"bytes,2,opt,name=fingerprint"` // Owner holds the owner identification, e.g. a name and e-mail address Owner string `json:"owner,omitempty" protobuf:"bytes,3,opt,name=owner"` // Trust holds the level of trust assigned to this key Trust string `json:"trust,omitempty" protobuf:"bytes,4,opt,name=trust"` // SubType holds the key's sub type (e.g. rsa4096) SubType string `json:"subType,omitempty" protobuf:"bytes,5,opt,name=subType"` // KeyData holds the raw key data, in base64 encoded format KeyData string `json:"keyData,omitempty" protobuf:"bytes,6,opt,name=keyData"` }
GnuPGPublicKey is a representation of a GnuPG public key
type GnuPGPublicKeyList ¶
type GnuPGPublicKeyList struct { metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` Items []GnuPGPublicKey `json:"items" protobuf:"bytes,2,rep,name=items"` }
GnuPGPublicKeyList is a collection of GnuPGPublicKey objects
type HealthStatus ¶
type HealthStatus struct { // Status holds the status code of the application or resource Status gitopsengine.HealthStatusCode `json:"status,omitempty" protobuf:"bytes,1,opt,name=status"` // Message is a human-readable informational message describing the health status Message string `json:"message,omitempty" protobuf:"bytes,2,opt,name=message"` }
HealthStatus contains information about the currently observed health state of an application or resource
type HelmFileParameter ¶
type HelmFileParameter struct { // Name is the name of the Helm parameter Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` // Path is the path to the file containing the values for the Helm parameter Path string `json:"path,omitempty" protobuf:"bytes,2,opt,name=path"` }
HelmFileParameter is a file parameter that's passed to helm template during manifest generation
func NewHelmFileParameter ¶
func NewHelmFileParameter(text string) (*HelmFileParameter, error)
NewHelmFileParameter parses a string in format name=value into a HelmFileParameter object and returns it
type HelmOptions ¶
type HelmOptions struct {
ValuesFileSchemes []string `protobuf:"bytes,1,opt,name=valuesFileSchemes"`
}
HelmOptions holds helm options
type HelmParameter ¶
type HelmParameter struct { // Name is the name of the Helm parameter Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` // Value is the value for the Helm parameter Value string `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"` // ForceString determines whether to tell Helm to interpret booleans and numbers as strings ForceString bool `json:"forceString,omitempty" protobuf:"bytes,3,opt,name=forceString"` }
HelmParameter is a parameter that's passed to helm template during manifest generation
func NewHelmParameter ¶
func NewHelmParameter(text string, forceString bool) (*HelmParameter, error)
NewHelmParameter parses a string in format name=value into a HelmParameter object and returns it
type HostInfo ¶
type HostInfo struct { Name string `json:"name,omitempty" protobuf:"bytes,1,name=name"` ResourcesInfo []HostResourceInfo `json:"resourcesInfo,omitempty" protobuf:"bytes,2,name=resourcesInfo"` SystemInfo v1.NodeSystemInfo `json:"systemInfo,omitempty" protobuf:"bytes,3,opt,name=systemInfo"` }
HostInfo holds host name and resources metrics TODO: describe purpose of this type TODO: describe members of this type
type HostResourceInfo ¶
type HostResourceInfo struct { ResourceName v1.ResourceName `json:"resourceName,omitempty" protobuf:"bytes,1,name=resourceName"` RequestedByApp int64 `json:"requestedByApp,omitempty" protobuf:"bytes,2,name=requestedByApp"` RequestedByNeighbors int64 `json:"requestedByNeighbors,omitempty" protobuf:"bytes,3,name=requestedByNeighbors"` Capacity int64 `json:"capacity,omitempty" protobuf:"bytes,4,name=capacity"` }
TODO: describe this type
type IgnoreDifferences ¶
type IgnoreDifferences []ResourceIgnoreDifferences
func (IgnoreDifferences) Equals ¶
func (id IgnoreDifferences) Equals(other IgnoreDifferences) bool
type InfoItem ¶
type InfoItem struct { // Name is a human readable title for this piece of information. Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` // Value is human readable content. Value string `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"` }
InfoItem contains arbitrary, human readable information about an application
type JWTToken ¶
type JWTToken struct { IssuedAt int64 `json:"iat" protobuf:"int64,1,opt,name=iat"` ExpiresAt int64 `json:"exp,omitempty" protobuf:"int64,2,opt,name=exp"` ID string `json:"id,omitempty" protobuf:"bytes,3,opt,name=id"` }
JWTToken holds the issuedAt and expiresAt values of a token
type JWTTokens ¶
type JWTTokens struct {
Items []JWTToken `json:"items,omitempty" protobuf:"bytes,1,opt,name=items"`
}
JWTTokens represents a list of JWT tokens +kubebuilder:object:generate=true
func (*JWTTokens) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JWTTokens.
func (*JWTTokens) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JsonnetVar ¶
type JsonnetVar struct { Name string `json:"name" protobuf:"bytes,1,opt,name=name"` Value string `json:"value" protobuf:"bytes,2,opt,name=value"` Code bool `json:"code,omitempty" protobuf:"bytes,3,opt,name=code"` }
JsonnetVar represents a variable to be passed to jsonnet during manifest generation
func NewJsonnetVar ¶
func NewJsonnetVar(s string, code bool) JsonnetVar
NewJsonnetVar parses a Jsonnet variable from a string in the format name=value
type KnownTypeField ¶
type KnownTypeField struct { Field string `json:"field,omitempty" protobuf:"bytes,1,opt,name=field"` Type string `json:"type,omitempty" protobuf:"bytes,2,opt,name=type"` }
KnownTypeField contains mapping between CRD field and known Kubernetes type. This is mainly used for unit conversion in unknown resources (e.g. 0.1 == 100mi) TODO: Describe the members of this type
type KustomizeGvk ¶
type KustomizeGvk struct { Group string `json:"group,omitempty" yaml:"group,omitempty" protobuf:"bytes,1,opt,name=group"` Version string `json:"version,omitempty" yaml:"version,omitempty" protobuf:"bytes,2,opt,name=version"` Kind string `json:"kind,omitempty" yaml:"kind,omitempty" protobuf:"bytes,3,opt,name=kind"` }
type KustomizeImage ¶
type KustomizeImage string
KustomizeImage represents a Kustomize image definition in the format [old_image_name=]<image_name>:<image_tag>
func (KustomizeImage) Match ¶
func (i KustomizeImage) Match(j KustomizeImage) bool
Match returns true if the image name matches (i.e. up to the first delimiter)
type KustomizeImages ¶
type KustomizeImages []KustomizeImage
KustomizeImages is a list of Kustomize images
func (KustomizeImages) Find ¶
func (images KustomizeImages) Find(image KustomizeImage) int
Find returns a positive integer representing the index in the list of images
type KustomizeOptions ¶
type KustomizeOptions struct { // BuildOptions is a string of build parameters to use when calling `kustomize build` BuildOptions string `protobuf:"bytes,1,opt,name=buildOptions"` // BinaryPath holds optional path to kustomize binary BinaryPath string `protobuf:"bytes,2,opt,name=binaryPath"` }
KustomizeOptions are options for kustomize to use when building manifests
type KustomizePatch ¶
type KustomizePatch struct { Path string `json:"path,omitempty" yaml:"path,omitempty" protobuf:"bytes,1,opt,name=path"` Patch string `json:"patch,omitempty" yaml:"patch,omitempty" protobuf:"bytes,2,opt,name=patch"` Target *KustomizeSelector `json:"target,omitempty" yaml:"target,omitempty" protobuf:"bytes,3,opt,name=target"` Options map[string]bool `json:"options,omitempty" yaml:"options,omitempty" protobuf:"bytes,4,opt,name=options"` }
+kubebuilder:object:generate=true
func (*KustomizePatch) DeepCopy ¶
func (in *KustomizePatch) DeepCopy() *KustomizePatch
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KustomizePatch.
func (*KustomizePatch) DeepCopyInto ¶
func (in *KustomizePatch) DeepCopyInto(out *KustomizePatch)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KustomizePatch) Equals ¶
func (p *KustomizePatch) Equals(o KustomizePatch) bool
Copied from: https://github.com/kubernetes-sigs/kustomize/blob/cd7ba1744eadb793ab7cd056a76ee8a5ca725db9/api/types/patch.go
type KustomizePatches ¶
type KustomizePatches []KustomizePatch
type KustomizeReplica ¶
type KustomizeReplica struct { // Name of Deployment or StatefulSet Name string `json:"name" protobuf:"bytes,1,name=name"` // Number of replicas Count intstr.IntOrString `json:"count" protobuf:"bytes,2,name=count"` }
func NewKustomizeReplica ¶
func NewKustomizeReplica(text string) (*KustomizeReplica, error)
NewKustomizeReplica parses a string in format name=count into a KustomizeReplica object and returns it
func (KustomizeReplica) GetIntCount ¶
func (kr KustomizeReplica) GetIntCount() (int, error)
GetIntCount returns Count converted to int. If parsing error occurs, returns 0 and error.
type KustomizeReplicas ¶
type KustomizeReplicas []KustomizeReplica
func (KustomizeReplicas) FindByName ¶
func (rs KustomizeReplicas) FindByName(name string) int
Find returns a positive integer representing the index in the list of replicas
type KustomizeResId ¶
type KustomizeResId struct { KustomizeGvk `json:",inline,omitempty" yaml:",inline,omitempty" protobuf:"bytes,1,opt,name=gvk"` Name string `json:"name,omitempty" yaml:"name,omitempty" protobuf:"bytes,2,opt,name=name"` Namespace string `json:"namespace,omitempty" yaml:"namespace,omitempty" protobuf:"bytes,3,opt,name=namespace"` }
type KustomizeSelector ¶
type KustomizeSelector struct { KustomizeResId `json:",inline,omitempty" yaml:",inline,omitempty" protobuf:"bytes,1,opt,name=resId"` AnnotationSelector string `json:"annotationSelector,omitempty" yaml:"annotationSelector,omitempty" protobuf:"bytes,2,opt,name=annotationSelector"` LabelSelector string `json:"labelSelector,omitempty" yaml:"labelSelector,omitempty" protobuf:"bytes,3,opt,name=labelSelector"` }
type ListGenerator ¶
type ListGenerator struct { // +kubebuilder:validation:Optional Elements []apiextensionsv1.JSON `json:"elements" protobuf:"bytes,1,name=elements"` Template ApplicationSetTemplate `json:"template,omitempty" protobuf:"bytes,2,name=template"` ElementsYaml string `json:"elementsYaml,omitempty" protobuf:"bytes,3,opt,name=elementsYaml"` }
ListGenerator include items info +kubebuilder:object:generate=true
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 ManagedNamespaceMetadata ¶
type ManagedNamespaceMetadata struct { Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,1,opt,name=labels"` Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,2,opt,name=annotations"` }
+kubebuilder:object:generate=true
func (*ManagedNamespaceMetadata) DeepCopy ¶
func (in *ManagedNamespaceMetadata) DeepCopy() *ManagedNamespaceMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedNamespaceMetadata.
func (*ManagedNamespaceMetadata) DeepCopyInto ¶
func (in *ManagedNamespaceMetadata) DeepCopyInto(out *ManagedNamespaceMetadata)
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" protobuf:"bytes,1,name=generators"` Template ApplicationSetTemplate `json:"template,omitempty" protobuf:"bytes,2,name=template"` }
MatrixGenerator generates the cartesian product of two sets of parameters. The parameters are defined by two nested generators. +kubebuilder:object:generate=true
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" protobuf:"bytes,1,name=generators"` MergeKeys []string `json:"mergeKeys" protobuf:"bytes,2,name=mergeKeys"` Template ApplicationSetTemplate `json:"template,omitempty" protobuf:"bytes,3,name=template"` }
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. +kubebuilder:object:generate=true
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" protobuf:"bytes,1,name=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. +kubebuilder:object:generate=true
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 ¶
func (in *NestedMatrixGenerator) DeepCopy() *NestedMatrixGenerator
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" protobuf:"bytes,1,name=generators"` MergeKeys []string `json:"mergeKeys" protobuf:"bytes,2,name=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. +kubebuilder:object:generate=true
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 ¶
func (in *NestedMergeGenerator) DeepCopy() *NestedMergeGenerator
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 Operation ¶
type Operation struct { // Sync contains parameters for the operation Sync *SyncOperation `json:"sync,omitempty" protobuf:"bytes,1,opt,name=sync"` // InitiatedBy contains information about who initiated the operations InitiatedBy OperationInitiator `json:"initiatedBy,omitempty" protobuf:"bytes,2,opt,name=initiatedBy"` // Info is a list of informational items for this operation Info []*Info `json:"info,omitempty" protobuf:"bytes,3,name=info"` // Retry controls the strategy to apply if a sync fails Retry RetryStrategy `json:"retry,omitempty" protobuf:"bytes,4,opt,name=retry"` }
Operation contains information about a requested or running operation +kubebuilder:object:generate=true
func (*Operation) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Operation.
func (*Operation) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OperationInitiator ¶
type OperationInitiator struct { // Username contains the name of a user who started operation Username string `json:"username,omitempty" protobuf:"bytes,1,opt,name=username"` // Automated is set to true if operation was initiated automatically by the application controller. Automated bool `json:"automated,omitempty" protobuf:"bytes,2,opt,name=automated"` }
OperationInitiator contains information about the initiator of an operation
type OperationState ¶
type OperationState struct { // Operation is the original requested operation Operation Operation `json:"operation" protobuf:"bytes,1,opt,name=operation"` // Phase is the current phase of the operation Phase synccommon.OperationPhase `json:"phase" protobuf:"bytes,2,opt,name=phase"` // Message holds any pertinent messages when attempting to perform operation (typically errors). Message string `json:"message,omitempty" protobuf:"bytes,3,opt,name=message"` // SyncResult is the result of a Sync operation SyncResult *SyncOperationResult `json:"syncResult,omitempty" protobuf:"bytes,4,opt,name=syncResult"` // StartedAt contains time of operation start StartedAt metav1.Time `json:"startedAt" protobuf:"bytes,6,opt,name=startedAt"` // FinishedAt contains time of operation completion FinishedAt *metav1.Time `json:"finishedAt,omitempty" protobuf:"bytes,7,opt,name=finishedAt"` // RetryCount contains time of operation retries RetryCount int64 `json:"retryCount,omitempty" protobuf:"bytes,8,opt,name=retryCount"` }
OperationState contains information about state of a running operation +kubebuilder:object:generate=true
func (*OperationState) DeepCopy ¶
func (in *OperationState) DeepCopy() *OperationState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OperationState.
func (*OperationState) DeepCopyInto ¶
func (in *OperationState) DeepCopyInto(out *OperationState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OptionalArray ¶
type OptionalArray struct { // Array is the value of an array type parameter. // +optional Array []string `json:"array" protobuf:"bytes,1,rep,name=array"` }
+kubebuilder:object:generate=true
func (*OptionalArray) DeepCopy ¶
func (in *OptionalArray) DeepCopy() *OptionalArray
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OptionalArray.
func (*OptionalArray) DeepCopyInto ¶
func (in *OptionalArray) DeepCopyInto(out *OptionalArray)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OptionalArray) Equals ¶
func (o *OptionalArray) Equals(other *OptionalArray) bool
Equals returns true if the two OptionalArray objects are equal. We can't use reflect.DeepEqual because it will return false if one of the arrays is nil and the other is an empty array. This is because the JSON unmarshaller will set the array to nil if it is empty, but the protobuf unmarshaller will set it to an empty array.
type OptionalMap ¶
type OptionalMap struct { // Map is the value of a map type parameter. // +optional Map map[string]string `json:"map" protobuf:"bytes,1,rep,name=map"` }
+kubebuilder:object:generate=true
func (*OptionalMap) DeepCopy ¶
func (in *OptionalMap) DeepCopy() *OptionalMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OptionalMap.
func (*OptionalMap) DeepCopyInto ¶
func (in *OptionalMap) DeepCopyInto(out *OptionalMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OptionalMap) Equals ¶
func (o *OptionalMap) Equals(other *OptionalMap) bool
Equals returns true if the two OptionalMap objects are equal. We can't use reflect.DeepEqual because it will return false if one of the maps is nil and the other is an empty map. This is because the JSON unmarshaller will set the map to nil if it is empty, but the protobuf unmarshaller will set it to an empty map.
type OrphanedResourceKey ¶
type OrphanedResourceKey struct { Group string `json:"group,omitempty" protobuf:"bytes,1,opt,name=group"` Kind string `json:"kind,omitempty" protobuf:"bytes,2,opt,name=kind"` Name string `json:"name,omitempty" protobuf:"bytes,3,opt,name=name"` }
OrphanedResourceKey is a reference to a resource to be ignored from +kubebuilder:object:generate=true
func (*OrphanedResourceKey) DeepCopy ¶
func (in *OrphanedResourceKey) DeepCopy() *OrphanedResourceKey
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrphanedResourceKey.
func (*OrphanedResourceKey) DeepCopyInto ¶
func (in *OrphanedResourceKey) DeepCopyInto(out *OrphanedResourceKey)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OrphanedResourcesMonitorSettings ¶
type OrphanedResourcesMonitorSettings struct { // Warn indicates if warning condition should be created for apps which have orphaned resources Warn *bool `json:"warn,omitempty" protobuf:"bytes,1,name=warn"` // Ignore contains a list of resources that are to be excluded from orphaned resources monitoring Ignore []OrphanedResourceKey `json:"ignore,omitempty" protobuf:"bytes,2,opt,name=ignore"` }
OrphanedResourcesMonitorSettings holds settings of orphaned resources monitoring +kubebuilder:object:generate=true
func (*OrphanedResourcesMonitorSettings) DeepCopy ¶
func (in *OrphanedResourcesMonitorSettings) DeepCopy() *OrphanedResourcesMonitorSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OrphanedResourcesMonitorSettings.
func (*OrphanedResourcesMonitorSettings) DeepCopyInto ¶
func (in *OrphanedResourcesMonitorSettings) DeepCopyInto(out *OrphanedResourcesMonitorSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OrphanedResourcesMonitorSettings) IsWarn ¶
func (s *OrphanedResourcesMonitorSettings) IsWarn() bool
IsWarn returns true if warnings are enabled for orphan resources monitoring
type OverrideIgnoreDiff ¶
type OverrideIgnoreDiff struct { // JSONPointers is a JSON path list following the format defined in RFC4627 (https://datatracker.ietf.org/doc/html/rfc6902#section-3) JSONPointers []string `json:"jsonPointers" protobuf:"bytes,1,rep,name=jSONPointers"` // JQPathExpressions is a JQ path list that will be evaludated during the diff process JQPathExpressions []string `json:"jqPathExpressions" protobuf:"bytes,2,opt,name=jqPathExpressions"` // ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the // desired state defined in the SCM and won't be displayed in diffs ManagedFieldsManagers []string `json:"managedFieldsManagers" protobuf:"bytes,3,opt,name=managedFieldsManagers"` }
OverrideIgnoreDiff contains configurations about how fields should be ignored during diffs between the desired state and live state
type PluginConfigMapRef ¶
type PluginConfigMapRef struct { // Name of the ConfigMap Name string `json:"name" protobuf:"bytes,1,opt,name=name"` }
+kubebuilder:object:generate=true
func (*PluginConfigMapRef) DeepCopy ¶
func (in *PluginConfigMapRef) DeepCopy() *PluginConfigMapRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginConfigMapRef.
func (*PluginConfigMapRef) DeepCopyInto ¶
func (in *PluginConfigMapRef) DeepCopyInto(out *PluginConfigMapRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginGenerator ¶
type PluginGenerator struct { ConfigMapRef PluginConfigMapRef `json:"configMapRef" protobuf:"bytes,1,name=configMapRef"` Input PluginInput `json:"input,omitempty" protobuf:"bytes,2,name=input"` // RequeueAfterSeconds determines how long the ApplicationSet controller will wait before reconciling the ApplicationSet again. RequeueAfterSeconds *int64 `json:"requeueAfterSeconds,omitempty" protobuf:"varint,3,opt,name=requeueAfterSeconds"` Template ApplicationSetTemplate `json:"template,omitempty" protobuf:"bytes,4,name=template"` // Values contains key/value pairs which are passed directly as parameters to the template. These values will not be // sent as parameters to the plugin. Values map[string]string `json:"values,omitempty" protobuf:"bytes,5,name=values"` }
PluginGenerator defines connection info specific to Plugin. +kubebuilder:object:generate=true
func (*PluginGenerator) DeepCopy ¶
func (in *PluginGenerator) DeepCopy() *PluginGenerator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginGenerator.
func (*PluginGenerator) DeepCopyInto ¶
func (in *PluginGenerator) DeepCopyInto(out *PluginGenerator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginInput ¶
type PluginInput struct { // Parameters contains the information to pass to the plugin. It is a map. The keys must be strings, and the // values can be any type. Parameters PluginParameters `json:"parameters,omitempty" protobuf:"bytes,1,name=parameters"` }
+kubebuilder:object:generate=true
func (*PluginInput) DeepCopy ¶
func (in *PluginInput) DeepCopy() *PluginInput
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PluginInput.
func (*PluginInput) DeepCopyInto ¶
func (in *PluginInput) DeepCopyInto(out *PluginInput)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PluginParameters ¶
type PluginParameters map[string]apiextensionsv1.JSON
type ProjectRole ¶
type ProjectRole struct { // Name is a name for this role Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Description is a description of the role Description string `json:"description,omitempty" protobuf:"bytes,2,opt,name=description"` // Policies Stores a list of casbin formatted strings that define access policies for the role in the project Policies []string `json:"policies,omitempty" protobuf:"bytes,3,rep,name=policies"` // JWTTokens are a list of generated JWT tokens bound to this role JWTTokens []JWTToken `json:"jwtTokens,omitempty" protobuf:"bytes,4,rep,name=jwtTokens"` // Groups are a list of OIDC group claims bound to this role Groups []string `json:"groups,omitempty" protobuf:"bytes,5,rep,name=groups"` }
ProjectRole represents a role that has access to a project +kubebuilder:object:generate=true
func (*ProjectRole) DeepCopy ¶
func (in *ProjectRole) DeepCopy() *ProjectRole
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProjectRole.
func (*ProjectRole) DeepCopyInto ¶
func (in *ProjectRole) DeepCopyInto(out *ProjectRole)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PullRequestGenerator ¶
type PullRequestGenerator struct { // Which provider to use and config for it. Github *PullRequestGeneratorGithub `json:"github,omitempty" protobuf:"bytes,1,opt,name=github"` GitLab *PullRequestGeneratorGitLab `json:"gitlab,omitempty" protobuf:"bytes,2,opt,name=gitlab"` Gitea *PullRequestGeneratorGitea `json:"gitea,omitempty" protobuf:"bytes,3,opt,name=gitea"` BitbucketServer *PullRequestGeneratorBitbucketServer `json:"bitbucketServer,omitempty" protobuf:"bytes,4,opt,name=bitbucketServer"` // Filters for which pull requests should be considered. Filters []PullRequestGeneratorFilter `json:"filters,omitempty" protobuf:"bytes,5,rep,name=filters"` // Standard parameters. RequeueAfterSeconds *int64 `json:"requeueAfterSeconds,omitempty" protobuf:"varint,6,opt,name=requeueAfterSeconds"` Template ApplicationSetTemplate `json:"template,omitempty" protobuf:"bytes,7,opt,name=template"` Bitbucket *PullRequestGeneratorBitbucket `json:"bitbucket,omitempty" protobuf:"bytes,8,opt,name=bitbucket"` // Additional provider to use and config for it. AzureDevOps *PullRequestGeneratorAzureDevOps `json:"azuredevops,omitempty" protobuf:"bytes,9,opt,name=azuredevops"` }
PullRequestGenerator defines a generator that scrapes a PullRequest API to find candidate pull requests. +kubebuilder:object:generate=true
func (*PullRequestGenerator) CustomApiUrl ¶
func (p *PullRequestGenerator) CustomApiUrl() string
func (*PullRequestGenerator) DeepCopy ¶
func (in *PullRequestGenerator) DeepCopy() *PullRequestGenerator
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 PullRequestGeneratorAzureDevOps ¶
type PullRequestGeneratorAzureDevOps struct { // Azure DevOps org to scan. Required. Organization string `json:"organization" protobuf:"bytes,1,opt,name=organization"` // Azure DevOps project name to scan. Required. Project string `json:"project" protobuf:"bytes,2,opt,name=project"` // Azure DevOps repo name to scan. Required. Repo string `json:"repo" protobuf:"bytes,3,opt,name=repo"` // The Azure DevOps API URL to talk to. If blank, use https://dev.azure.com/. API string `json:"api,omitempty" protobuf:"bytes,4,opt,name=api"` // Authentication token reference. TokenRef *SecretRef `json:"tokenRef,omitempty" protobuf:"bytes,5,opt,name=tokenRef"` // Labels is used to filter the PRs that you want to target Labels []string `json:"labels,omitempty" protobuf:"bytes,6,rep,name=labels"` }
PullRequestGeneratorAzureDevOps defines connection info specific to AzureDevOps. +kubebuilder:object:generate=true
func (*PullRequestGeneratorAzureDevOps) DeepCopy ¶
func (in *PullRequestGeneratorAzureDevOps) DeepCopy() *PullRequestGeneratorAzureDevOps
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullRequestGeneratorAzureDevOps.
func (*PullRequestGeneratorAzureDevOps) DeepCopyInto ¶
func (in *PullRequestGeneratorAzureDevOps) DeepCopyInto(out *PullRequestGeneratorAzureDevOps)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PullRequestGeneratorBitbucket ¶
type PullRequestGeneratorBitbucket struct { // Workspace to scan. Required. Owner string `json:"owner" protobuf:"bytes,1,opt,name=owner"` // Repo name to scan. Required. Repo string `json:"repo" protobuf:"bytes,2,opt,name=repo"` // The Bitbucket REST API URL to talk to. If blank, uses https://api.bitbucket.org/2.0. API string `json:"api,omitempty" protobuf:"bytes,3,opt,name=api"` // Credentials for Basic auth BasicAuth *BasicAuthBitbucketServer `json:"basicAuth,omitempty" protobuf:"bytes,4,opt,name=basicAuth"` // Credentials for AppToken (Bearer auth) BearerToken *BearerTokenBitbucketCloud `json:"bearerToken,omitempty" protobuf:"bytes,5,opt,name=bearerToken"` }
PullRequestGeneratorBitbucket defines connection info specific to Bitbucket. +kubebuilder:object:generate=true
func (*PullRequestGeneratorBitbucket) DeepCopy ¶
func (in *PullRequestGeneratorBitbucket) DeepCopy() *PullRequestGeneratorBitbucket
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullRequestGeneratorBitbucket.
func (*PullRequestGeneratorBitbucket) DeepCopyInto ¶
func (in *PullRequestGeneratorBitbucket) DeepCopyInto(out *PullRequestGeneratorBitbucket)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PullRequestGeneratorBitbucketServer ¶
type PullRequestGeneratorBitbucketServer struct { // Project to scan. Required. Project string `json:"project" protobuf:"bytes,1,opt,name=project"` // Repo name to scan. Required. Repo string `json:"repo" protobuf:"bytes,2,opt,name=repo"` // The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest Required. API string `json:"api" protobuf:"bytes,3,opt,name=api"` // Credentials for Basic auth BasicAuth *BasicAuthBitbucketServer `json:"basicAuth,omitempty" protobuf:"bytes,4,opt,name=basicAuth"` }
PullRequestGeneratorBitbucketServer defines connection info specific to BitbucketServer. +kubebuilder:object:generate=true
func (*PullRequestGeneratorBitbucketServer) DeepCopy ¶
func (in *PullRequestGeneratorBitbucketServer) DeepCopy() *PullRequestGeneratorBitbucketServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullRequestGeneratorBitbucketServer.
func (*PullRequestGeneratorBitbucketServer) DeepCopyInto ¶
func (in *PullRequestGeneratorBitbucketServer) DeepCopyInto(out *PullRequestGeneratorBitbucketServer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PullRequestGeneratorFilter ¶
type PullRequestGeneratorFilter struct { BranchMatch *string `json:"branchMatch,omitempty" protobuf:"bytes,1,opt,name=branchMatch"` TargetBranchMatch *string `json:"targetBranchMatch,omitempty" protobuf:"bytes,2,opt,name=targetBranchMatch"` }
PullRequestGeneratorFilter is a single pull request filter. If multiple filter types are set on a single struct, they will be AND'd together. All filters must pass for a pull request to be included. +kubebuilder:object:generate=true
func (*PullRequestGeneratorFilter) DeepCopy ¶
func (in *PullRequestGeneratorFilter) DeepCopy() *PullRequestGeneratorFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullRequestGeneratorFilter.
func (*PullRequestGeneratorFilter) DeepCopyInto ¶
func (in *PullRequestGeneratorFilter) DeepCopyInto(out *PullRequestGeneratorFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PullRequestGeneratorGitLab ¶
type PullRequestGeneratorGitLab struct { // GitLab project to scan. Required. Project string `json:"project" protobuf:"bytes,1,opt,name=project"` // The GitLab API URL to talk to. If blank, uses https://gitlab.com/. API string `json:"api,omitempty" protobuf:"bytes,2,opt,name=api"` // Authentication token reference. TokenRef *SecretRef `json:"tokenRef,omitempty" protobuf:"bytes,3,opt,name=tokenRef"` // Labels is used to filter the MRs that you want to target Labels []string `json:"labels,omitempty" protobuf:"bytes,4,rep,name=labels"` // PullRequestState is an additional MRs filter to get only those with a certain state. Default: "" (all states) PullRequestState string `json:"pullRequestState,omitempty" protobuf:"bytes,5,rep,name=pullRequestState"` // Skips validating the SCM provider's TLS certificate - useful for self-signed certificates.; default: false Insecure bool `json:"insecure,omitempty" protobuf:"varint,6,opt,name=insecure"` }
PullRequestGeneratorGitLab defines connection info specific to GitLab. +kubebuilder:object:generate=true
func (*PullRequestGeneratorGitLab) DeepCopy ¶
func (in *PullRequestGeneratorGitLab) DeepCopy() *PullRequestGeneratorGitLab
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullRequestGeneratorGitLab.
func (*PullRequestGeneratorGitLab) DeepCopyInto ¶
func (in *PullRequestGeneratorGitLab) DeepCopyInto(out *PullRequestGeneratorGitLab)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PullRequestGeneratorGitea ¶
type PullRequestGeneratorGitea struct { // Gitea org or user to scan. Required. Owner string `json:"owner" protobuf:"bytes,1,opt,name=owner"` // Gitea repo name to scan. Required. Repo string `json:"repo" protobuf:"bytes,2,opt,name=repo"` // The Gitea API URL to talk to. Required API string `json:"api" protobuf:"bytes,3,opt,name=api"` // Authentication token reference. TokenRef *SecretRef `json:"tokenRef,omitempty" protobuf:"bytes,4,opt,name=tokenRef"` // Allow insecure tls, for self-signed certificates; default: false. Insecure bool `json:"insecure,omitempty" protobuf:"varint,5,opt,name=insecure"` }
PullRequestGeneratorGitea defines connection info specific to Gitea. +kubebuilder:object:generate=true
func (*PullRequestGeneratorGitea) DeepCopy ¶
func (in *PullRequestGeneratorGitea) DeepCopy() *PullRequestGeneratorGitea
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullRequestGeneratorGitea.
func (*PullRequestGeneratorGitea) DeepCopyInto ¶
func (in *PullRequestGeneratorGitea) DeepCopyInto(out *PullRequestGeneratorGitea)
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" protobuf:"bytes,1,opt,name=owner"` // GitHub repo name to scan. Required. Repo string `json:"repo" protobuf:"bytes,2,opt,name=repo"` // The GitHub API URL to talk to. If blank, use https://api.github.com/. API string `json:"api,omitempty" protobuf:"bytes,3,opt,name=api"` // Authentication token reference. TokenRef *SecretRef `json:"tokenRef,omitempty" protobuf:"bytes,4,opt,name=tokenRef"` // AppSecretName is a reference to a GitHub App repo-creds secret with permission to access pull requests. AppSecretName string `json:"appSecretName,omitempty" protobuf:"bytes,5,opt,name=appSecretName"` // Labels is used to filter the PRs that you want to target Labels []string `json:"labels,omitempty" protobuf:"bytes,6,rep,name=labels"` }
PullRequestGenerator defines connection info specific to GitHub. +kubebuilder:object:generate=true
func (*PullRequestGeneratorGithub) DeepCopy ¶
func (in *PullRequestGeneratorGithub) DeepCopy() *PullRequestGeneratorGithub
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PullRequestGeneratorGithub.
func (*PullRequestGeneratorGithub) DeepCopyInto ¶
func (in *PullRequestGeneratorGithub) DeepCopyInto(out *PullRequestGeneratorGithub)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RefTarget ¶
type RefTarget struct { Repo Repository `protobuf:"bytes,1,opt,name=repo"` TargetRevision string `protobuf:"bytes,2,opt,name=targetRevision"` Chart string `protobuf:"bytes,3,opt,name=chart"` }
type RefreshType ¶
type RefreshType string
RefreshType specifies how to refresh the sources of a given application
const ( RefreshTypeNormal RefreshType = "normal" RefreshTypeHard RefreshType = "hard" )
type RepoCreds ¶
type RepoCreds struct { // URL is the URL that this credentials matches to URL string `json:"url" protobuf:"bytes,1,opt,name=url"` // Username for authenticating at the repo server Username string `json:"username,omitempty" protobuf:"bytes,2,opt,name=username"` // Password for authenticating at the repo server Password string `json:"password,omitempty" protobuf:"bytes,3,opt,name=password"` // SSHPrivateKey contains the private key data for authenticating at the repo server using SSH (only Git repos) SSHPrivateKey string `json:"sshPrivateKey,omitempty" protobuf:"bytes,4,opt,name=sshPrivateKey"` // TLSClientCertData specifies the TLS client cert data for authenticating at the repo server TLSClientCertData string `json:"tlsClientCertData,omitempty" protobuf:"bytes,5,opt,name=tlsClientCertData"` // TLSClientCertKey specifies the TLS client cert key for authenticating at the repo server TLSClientCertKey string `json:"tlsClientCertKey,omitempty" protobuf:"bytes,6,opt,name=tlsClientCertKey"` // GithubAppPrivateKey specifies the private key PEM data for authentication via GitHub app GithubAppPrivateKey string `json:"githubAppPrivateKey,omitempty" protobuf:"bytes,7,opt,name=githubAppPrivateKey"` // GithubAppId specifies the Github App ID of the app used to access the repo for GitHub app authentication GithubAppId int64 `json:"githubAppID,omitempty" protobuf:"bytes,8,opt,name=githubAppID"` // GithubAppInstallationId specifies the ID of the installed GitHub App for GitHub app authentication GithubAppInstallationId int64 `json:"githubAppInstallationID,omitempty" protobuf:"bytes,9,opt,name=githubAppInstallationID"` // GithubAppEnterpriseBaseURL specifies the GitHub API URL for GitHub app authentication. If empty will default to https://api.github.com GitHubAppEnterpriseBaseURL string `json:"githubAppEnterpriseBaseUrl,omitempty" protobuf:"bytes,10,opt,name=githubAppEnterpriseBaseUrl"` // EnableOCI specifies whether helm-oci support should be enabled for this repo EnableOCI bool `json:"enableOCI,omitempty" protobuf:"bytes,11,opt,name=enableOCI"` // Type specifies the type of the repoCreds. Can be either "git" or "helm. "git" is assumed if empty or absent. Type string `json:"type,omitempty" protobuf:"bytes,12,opt,name=type"` // GCPServiceAccountKey specifies the service account key in JSON format to be used for getting credentials to Google Cloud Source repos GCPServiceAccountKey string `json:"gcpServiceAccountKey,omitempty" protobuf:"bytes,13,opt,name=gcpServiceAccountKey"` // Proxy specifies the HTTP/HTTPS proxy used to access repos at the repo server Proxy string `json:"proxy,omitempty" protobuf:"bytes,19,opt,name=proxy"` // ForceHttpBasicAuth specifies whether Argo CD should attempt to force basic auth for HTTP connections ForceHttpBasicAuth bool `json:"forceHttpBasicAuth,omitempty" protobuf:"bytes,20,opt,name=forceHttpBasicAuth"` }
RepoCreds holds the definition for repository credentials
type RepoCredsList ¶
type RepoCredsList struct { metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` Items []RepoCreds `json:"items" protobuf:"bytes,2,rep,name=items"` }
RepositoryList is a collection of Repositories.
type Repositories ¶
type Repositories []*Repository
Repositories defines a list of Repository configurations
type Repository ¶
type Repository struct { // Repo contains the URL to the remote repository Repo string `json:"repo" protobuf:"bytes,1,opt,name=repo"` // Username contains the user name used for authenticating at the remote repository Username string `json:"username,omitempty" protobuf:"bytes,2,opt,name=username"` // Password contains the password or PAT used for authenticating at the remote repository Password string `json:"password,omitempty" protobuf:"bytes,3,opt,name=password"` // SSHPrivateKey contains the PEM data for authenticating at the repo server. Only used with Git repos. SSHPrivateKey string `json:"sshPrivateKey,omitempty" protobuf:"bytes,4,opt,name=sshPrivateKey"` // ConnectionState contains information about the current state of connection to the repository server ConnectionState ConnectionState `json:"connectionState,omitempty" protobuf:"bytes,5,opt,name=connectionState"` // InsecureIgnoreHostKey should not be used anymore, Insecure is favoured // Used only for Git repos InsecureIgnoreHostKey bool `json:"insecureIgnoreHostKey,omitempty" protobuf:"bytes,6,opt,name=insecureIgnoreHostKey"` // Insecure specifies whether the connection to the repository ignores any errors when verifying TLS certificates or SSH host keys Insecure bool `json:"insecure,omitempty" protobuf:"bytes,7,opt,name=insecure"` // EnableLFS specifies whether git-lfs support should be enabled for this repo. Only valid for Git repositories. EnableLFS bool `json:"enableLfs,omitempty" protobuf:"bytes,8,opt,name=enableLfs"` // TLSClientCertData contains a certificate in PEM format for authenticating at the repo server TLSClientCertData string `json:"tlsClientCertData,omitempty" protobuf:"bytes,9,opt,name=tlsClientCertData"` // TLSClientCertKey contains a private key in PEM format for authenticating at the repo server TLSClientCertKey string `json:"tlsClientCertKey,omitempty" protobuf:"bytes,10,opt,name=tlsClientCertKey"` // Type specifies the type of the repo. Can be either "git" or "helm. "git" is assumed if empty or absent. Type string `json:"type,omitempty" protobuf:"bytes,11,opt,name=type"` // Name specifies a name to be used for this repo. Only used with Helm repos Name string `json:"name,omitempty" protobuf:"bytes,12,opt,name=name"` // Whether credentials were inherited from a credential set InheritedCreds bool `json:"inheritedCreds,omitempty" protobuf:"bytes,13,opt,name=inheritedCreds"` // EnableOCI specifies whether helm-oci support should be enabled for this repo EnableOCI bool `json:"enableOCI,omitempty" protobuf:"bytes,14,opt,name=enableOCI"` // Github App Private Key PEM data GithubAppPrivateKey string `json:"githubAppPrivateKey,omitempty" protobuf:"bytes,15,opt,name=githubAppPrivateKey"` // GithubAppId specifies the ID of the GitHub app used to access the repo GithubAppId int64 `json:"githubAppID,omitempty" protobuf:"bytes,16,opt,name=githubAppID"` // GithubAppInstallationId specifies the installation ID of the GitHub App used to access the repo GithubAppInstallationId int64 `json:"githubAppInstallationID,omitempty" protobuf:"bytes,17,opt,name=githubAppInstallationID"` // GithubAppEnterpriseBaseURL specifies the base URL of GitHub Enterprise installation. If empty will default to https://api.github.com GitHubAppEnterpriseBaseURL string `json:"githubAppEnterpriseBaseUrl,omitempty" protobuf:"bytes,18,opt,name=githubAppEnterpriseBaseUrl"` // Proxy specifies the HTTP/HTTPS proxy used to access the repo Proxy string `json:"proxy,omitempty" protobuf:"bytes,19,opt,name=proxy"` // Reference between project and repository that allow you automatically to be added as item inside SourceRepos project entity Project string `json:"project,omitempty" protobuf:"bytes,20,opt,name=project"` // GCPServiceAccountKey specifies the service account key in JSON format to be used for getting credentials to Google Cloud Source repos GCPServiceAccountKey string `json:"gcpServiceAccountKey,omitempty" protobuf:"bytes,21,opt,name=gcpServiceAccountKey"` // ForceHttpBasicAuth specifies whether Argo CD should attempt to force basic auth for HTTP connections ForceHttpBasicAuth bool `json:"forceHttpBasicAuth,omitempty" protobuf:"bytes,22,opt,name=forceHttpBasicAuth"` }
Repository is a repository holding application configurations
type RepositoryCertificate ¶
type RepositoryCertificate struct { // ServerName specifies the DNS name of the server this certificate is intended for ServerName string `json:"serverName" protobuf:"bytes,1,opt,name=serverName"` // CertType specifies the type of the certificate - currently one of "https" or "ssh" CertType string `json:"certType" protobuf:"bytes,2,opt,name=certType"` // CertSubType specifies the sub type of the cert, i.e. "ssh-rsa" CertSubType string `json:"certSubType" protobuf:"bytes,3,opt,name=certSubType"` // CertData contains the actual certificate data, dependent on the certificate type CertData []byte `json:"certData" protobuf:"bytes,4,opt,name=certData"` // CertInfo will hold additional certificate info, depdendent on the certificate type (e.g. SSH fingerprint, X509 CommonName) CertInfo string `json:"certInfo" protobuf:"bytes,5,opt,name=certInfo"` }
A RepositoryCertificate is either SSH known hosts entry or TLS certificate
type RepositoryCertificateList ¶
type RepositoryCertificateList struct { metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // List of certificates to be processed Items []RepositoryCertificate `json:"items" protobuf:"bytes,2,rep,name=items"` }
RepositoryCertificateList is a collection of RepositoryCertificates
type RepositoryList ¶
type RepositoryList struct { metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` Items Repositories `json:"items" protobuf:"bytes,2,rep,name=items"` }
RepositoryList is a collection of Repositories.
type ResourceAction ¶
type ResourceAction struct { Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` Params []ResourceActionParam `json:"params,omitempty" protobuf:"bytes,2,rep,name=params"` Disabled bool `json:"disabled,omitempty" protobuf:"varint,3,opt,name=disabled"` IconClass string `json:"iconClass,omitempty" protobuf:"bytes,4,opt,name=iconClass"` DisplayName string `json:"displayName,omitempty" protobuf:"bytes,5,opt,name=displayName"` }
TODO: describe this type TODO: describe members of this type
type ResourceActionDefinition ¶
type ResourceActionDefinition struct { Name string `json:"name" protobuf:"bytes,1,opt,name=name"` ActionLua string `json:"action.lua" yaml:"action.lua" protobuf:"bytes,2,opt,name=actionLua"` }
TODO: describe this type TODO: describe members of this type
type ResourceActionParam ¶
type ResourceActionParam struct { Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` Value string `json:"value,omitempty" protobuf:"bytes,2,opt,name=value"` Type string `json:"type,omitempty" protobuf:"bytes,3,opt,name=type"` Default string `json:"default,omitempty" protobuf:"bytes,4,opt,name=default"` }
TODO: describe this type TODO: describe members of this type
type ResourceActions ¶
type ResourceActions struct { ActionDiscoveryLua string `json:"discovery.lua,omitempty" yaml:"discovery.lua,omitempty" protobuf:"bytes,1,opt,name=actionDiscoveryLua"` Definitions []ResourceActionDefinition `json:"definitions,omitempty" protobuf:"bytes,2,rep,name=definitions"` }
TODO: describe this type TODO: describe members of this type
type ResourceDiff ¶
type ResourceDiff struct { Group string `json:"group,omitempty" protobuf:"bytes,1,opt,name=group"` Kind string `json:"kind,omitempty" protobuf:"bytes,2,opt,name=kind"` Namespace string `json:"namespace,omitempty" protobuf:"bytes,3,opt,name=namespace"` Name string `json:"name,omitempty" protobuf:"bytes,4,opt,name=name"` // TargetState contains the JSON serialized resource manifest defined in the Git/Helm TargetState string `json:"targetState,omitempty" protobuf:"bytes,5,opt,name=targetState"` // TargetState contains the JSON live resource manifest LiveState string `json:"liveState,omitempty" protobuf:"bytes,6,opt,name=liveState"` // Diff contains the JSON patch between target and live resource // Deprecated: use NormalizedLiveState and PredictedLiveState to render the difference Diff string `json:"diff,omitempty" protobuf:"bytes,7,opt,name=diff"` Hook bool `json:"hook,omitempty" protobuf:"bytes,8,opt,name=hook"` // NormalizedLiveState contains JSON serialized live resource state with applied normalizations NormalizedLiveState string `json:"normalizedLiveState,omitempty" protobuf:"bytes,9,opt,name=normalizedLiveState"` // PredictedLiveState contains JSON serialized resource state that is calculated based on normalized and target resource state PredictedLiveState string `json:"predictedLiveState,omitempty" protobuf:"bytes,10,opt,name=predictedLiveState"` ResourceVersion string `json:"resourceVersion,omitempty" protobuf:"bytes,11,opt,name=resourceVersion"` Modified bool `json:"modified,omitempty" protobuf:"bytes,12,opt,name=modified"` }
ResourceDiff holds the diff of a live and target resource object TODO: describe members of this type
func (*ResourceDiff) FullName ¶
func (r *ResourceDiff) FullName() string
FullName returns full name of a node that was used for diffing in the format "group/kind/namespace/name" For cluster-scoped resources, namespace will be the empty string.
func (ResourceDiff) LiveObject ¶
func (r ResourceDiff) LiveObject() (*unstructured.Unstructured, error)
TODO: document this method
func (ResourceDiff) TargetObject ¶
func (r ResourceDiff) TargetObject() (*unstructured.Unstructured, error)
TODO: document this method
type ResourceHealthLocation ¶
type ResourceHealthLocation string
var ( ResourceHealthLocationInline ResourceHealthLocation = "" ResourceHealthLocationAppTree ResourceHealthLocation = "appTree" )
type ResourceIgnoreDifferences ¶
type ResourceIgnoreDifferences struct { Group string `json:"group,omitempty" protobuf:"bytes,1,opt,name=group"` Kind string `json:"kind" protobuf:"bytes,2,opt,name=kind"` Name string `json:"name,omitempty" protobuf:"bytes,3,opt,name=name"` Namespace string `json:"namespace,omitempty" protobuf:"bytes,4,opt,name=namespace"` JSONPointers []string `json:"jsonPointers,omitempty" protobuf:"bytes,5,opt,name=jsonPointers"` JQPathExpressions []string `json:"jqPathExpressions,omitempty" protobuf:"bytes,6,opt,name=jqPathExpressions"` // ManagedFieldsManagers is a list of trusted managers. Fields mutated by those managers will take precedence over the // desired state defined in the SCM and won't be displayed in diffs ManagedFieldsManagers []string `json:"managedFieldsManagers,omitempty" protobuf:"bytes,7,opt,name=managedFieldsManagers"` }
ResourceIgnoreDifferences contains resource filter and list of json paths which should be ignored during comparison with live state. +kubebuilder:object:generate=true
func (*ResourceIgnoreDifferences) DeepCopy ¶
func (in *ResourceIgnoreDifferences) DeepCopy() *ResourceIgnoreDifferences
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceIgnoreDifferences.
func (*ResourceIgnoreDifferences) DeepCopyInto ¶
func (in *ResourceIgnoreDifferences) DeepCopyInto(out *ResourceIgnoreDifferences)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceNetworkingInfo ¶
type ResourceNetworkingInfo struct { TargetLabels map[string]string `json:"targetLabels,omitempty" protobuf:"bytes,1,opt,name=targetLabels"` TargetRefs []ResourceRef `json:"targetRefs,omitempty" protobuf:"bytes,2,opt,name=targetRefs"` Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,3,opt,name=labels"` Ingress []v1.LoadBalancerIngress `json:"ingress,omitempty" protobuf:"bytes,4,opt,name=ingress"` // ExternalURLs holds list of URLs which should be available externally. List is populated for ingress resources using rules hostnames. ExternalURLs []string `json:"externalURLs,omitempty" protobuf:"bytes,5,opt,name=externalURLs"` }
ResourceNetworkingInfo holds networking resource related information TODO: describe members of this type +kubebuilder:object:generate=true
func (*ResourceNetworkingInfo) DeepCopy ¶
func (in *ResourceNetworkingInfo) DeepCopy() *ResourceNetworkingInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceNetworkingInfo.
func (*ResourceNetworkingInfo) DeepCopyInto ¶
func (in *ResourceNetworkingInfo) DeepCopyInto(out *ResourceNetworkingInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceNode ¶
type ResourceNode struct { ResourceRef `json:",inline" protobuf:"bytes,1,opt,name=resourceRef"` ParentRefs []ResourceRef `json:"parentRefs,omitempty" protobuf:"bytes,2,opt,name=parentRefs"` Info []InfoItem `json:"info,omitempty" protobuf:"bytes,3,opt,name=info"` NetworkingInfo *ResourceNetworkingInfo `json:"networkingInfo,omitempty" protobuf:"bytes,4,opt,name=networkingInfo"` ResourceVersion string `json:"resourceVersion,omitempty" protobuf:"bytes,5,opt,name=resourceVersion"` Images []string `json:"images,omitempty" protobuf:"bytes,6,opt,name=images"` Health *HealthStatus `json:"health,omitempty" protobuf:"bytes,7,opt,name=health"` CreatedAt *metav1.Time `json:"createdAt,omitempty" protobuf:"bytes,8,opt,name=createdAt"` }
ResourceNode contains information about live resource and its children TODO: describe members of this type +kubebuilder:object:generate=true
func (*ResourceNode) DeepCopy ¶
func (in *ResourceNode) DeepCopy() *ResourceNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceNode.
func (*ResourceNode) DeepCopyInto ¶
func (in *ResourceNode) DeepCopyInto(out *ResourceNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceNode) FullName ¶
func (n *ResourceNode) FullName() string
FullName returns a resource node's full name in the format "group/kind/namespace/name" For cluster-scoped resources, namespace will be the empty string.
func (*ResourceNode) GroupKindVersion ¶
func (n *ResourceNode) GroupKindVersion() schema.GroupVersionKind
GroupKindVersion returns the GVK schema type for given resource node
type ResourceOverride ¶
type ResourceOverride struct { HealthLua string `protobuf:"bytes,1,opt,name=healthLua"` UseOpenLibs bool `protobuf:"bytes,5,opt,name=useOpenLibs"` Actions string `protobuf:"bytes,3,opt,name=actions"` IgnoreDifferences OverrideIgnoreDiff `protobuf:"bytes,2,opt,name=ignoreDifferences"` IgnoreResourceUpdates OverrideIgnoreDiff `protobuf:"bytes,6,opt,name=ignoreResourceUpdates"` KnownTypeFields []KnownTypeField `protobuf:"bytes,4,opt,name=knownTypeFields"` }
ResourceOverride holds configuration to customize resource diffing and health assessment TODO: describe the members of this type
func (*ResourceOverride) GetActions ¶
func (o *ResourceOverride) GetActions() (ResourceActions, error)
TODO: describe this method
func (ResourceOverride) MarshalJSON ¶
func (s ResourceOverride) MarshalJSON() ([]byte, error)
TODO: describe this method
func (*ResourceOverride) UnmarshalJSON ¶
func (s *ResourceOverride) UnmarshalJSON(data []byte) error
TODO: describe this method
type ResourceRef ¶
type ResourceRef struct { Group string `json:"group,omitempty" protobuf:"bytes,1,opt,name=group"` Version string `json:"version,omitempty" protobuf:"bytes,2,opt,name=version"` Kind string `json:"kind,omitempty" protobuf:"bytes,3,opt,name=kind"` Namespace string `json:"namespace,omitempty" protobuf:"bytes,4,opt,name=namespace"` Name string `json:"name,omitempty" protobuf:"bytes,5,opt,name=name"` UID string `json:"uid,omitempty" protobuf:"bytes,6,opt,name=uid"` }
ResourceRef includes fields which uniquely identify a resource
type ResourceResult ¶
type ResourceResult struct { // Group specifies the API group of the resource Group string `json:"group" protobuf:"bytes,1,opt,name=group"` // Version specifies the API version of the resource Version string `json:"version" protobuf:"bytes,2,opt,name=version"` // Kind specifies the API kind of the resource Kind string `json:"kind" protobuf:"bytes,3,opt,name=kind"` // Namespace specifies the target namespace of the resource Namespace string `json:"namespace" protobuf:"bytes,4,opt,name=namespace"` // Name specifies the name of the resource Name string `json:"name" protobuf:"bytes,5,opt,name=name"` // Status holds the final result of the sync. Will be empty if the resources is yet to be applied/pruned and is always zero-value for hooks Status synccommon.ResultCode `json:"status,omitempty" protobuf:"bytes,6,opt,name=status"` // Message contains an informational or error message for the last sync OR operation Message string `json:"message,omitempty" protobuf:"bytes,7,opt,name=message"` // HookType specifies the type of the hook. Empty for non-hook resources HookType synccommon.HookType `json:"hookType,omitempty" protobuf:"bytes,8,opt,name=hookType"` // HookPhase contains the state of any operation associated with this resource OR hook // This can also contain values for non-hook resources. HookPhase synccommon.OperationPhase `json:"hookPhase,omitempty" protobuf:"bytes,9,opt,name=hookPhase"` // SyncPhase indicates the particular phase of the sync that this result was acquired in SyncPhase synccommon.SyncPhase `json:"syncPhase,omitempty" protobuf:"bytes,10,opt,name=syncPhase"` }
ResourceResult holds the operation result details of a specific resource
func (*ResourceResult) GroupVersionKind ¶
func (r *ResourceResult) GroupVersionKind() schema.GroupVersionKind
GroupVersionKind returns the GVK schema information for a given resource within a sync result
type ResourceResults ¶
type ResourceResults []*ResourceResult
ResourceResults defines a list of resource results for a given operation
func (ResourceResults) Find ¶
func (r ResourceResults) Find(group string, kind string, namespace string, name string, phase synccommon.SyncPhase) (int, *ResourceResult)
Find returns the operation result for a specified resource and the index in the list where it was found
func (ResourceResults) PruningRequired ¶
func (r ResourceResults) PruningRequired() (num int)
PruningRequired returns a positive integer containing the number of resources that require pruning after an operation has been completed
type ResourceStatus ¶
type ResourceStatus struct { Group string `json:"group,omitempty" protobuf:"bytes,1,opt,name=group"` Version string `json:"version,omitempty" protobuf:"bytes,2,opt,name=version"` Kind string `json:"kind,omitempty" protobuf:"bytes,3,opt,name=kind"` Namespace string `json:"namespace,omitempty" protobuf:"bytes,4,opt,name=namespace"` Name string `json:"name,omitempty" protobuf:"bytes,5,opt,name=name"` Status SyncStatusCode `json:"status,omitempty" protobuf:"bytes,6,opt,name=status"` Health *HealthStatus `json:"health,omitempty" protobuf:"bytes,7,opt,name=health"` Hook bool `json:"hook,omitempty" protobuf:"bytes,8,opt,name=hook"` RequiresPruning bool `json:"requiresPruning,omitempty" protobuf:"bytes,9,opt,name=requiresPruning"` SyncWave int64 `json:"syncWave,omitempty" protobuf:"bytes,10,opt,name=syncWave"` }
ResourceStatus holds the current sync and health status of a resource TODO: describe members of this type +kubebuilder:object:generate=true
func (*ResourceStatus) DeepCopy ¶
func (in *ResourceStatus) DeepCopy() *ResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceStatus.
func (*ResourceStatus) DeepCopyInto ¶
func (in *ResourceStatus) DeepCopyInto(out *ResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceStatus) GroupVersionKind ¶
func (r *ResourceStatus) GroupVersionKind() schema.GroupVersionKind
GroupKindVersion returns the GVK schema type for given resource status
type RetryStrategy ¶
type RetryStrategy struct { // Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. Limit int64 `json:"limit,omitempty" protobuf:"bytes,1,opt,name=limit"` // Backoff controls how to backoff on subsequent retries of failed syncs Backoff *Backoff `json:"backoff,omitempty" protobuf:"bytes,2,opt,name=backoff,casttype=Backoff"` }
RetryStrategy contains information about the strategy to apply when a sync failed +kubebuilder:object:generate=true
func (*RetryStrategy) DeepCopy ¶
func (in *RetryStrategy) DeepCopy() *RetryStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RetryStrategy.
func (*RetryStrategy) DeepCopyInto ¶
func (in *RetryStrategy) DeepCopyInto(out *RetryStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RevisionHistories ¶
type RevisionHistories []RevisionHistory
RevisionHistories is a array of history, oldest first and newest last +kubebuilder:object:generate=true
func (RevisionHistories) DeepCopy ¶
func (in RevisionHistories) DeepCopy() RevisionHistories
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RevisionHistories.
func (RevisionHistories) DeepCopyInto ¶
func (in RevisionHistories) DeepCopyInto(out *RevisionHistories)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RevisionHistories) LastRevisionHistory ¶
func (in RevisionHistories) LastRevisionHistory() RevisionHistory
LastRevisionHistory returns the latest history item from the revision history
func (RevisionHistories) Trunc ¶
func (in RevisionHistories) Trunc(n int) RevisionHistories
Trunc truncates the list of history items to size n
type RevisionHistory ¶
type RevisionHistory struct { // Revision holds the revision the sync was performed against Revision string `json:"revision,omitempty" protobuf:"bytes,2,opt,name=revision"` // DeployedAt holds the time the sync operation completed DeployedAt metav1.Time `json:"deployedAt" protobuf:"bytes,4,opt,name=deployedAt"` // ID is an auto incrementing identifier of the RevisionHistory ID int64 `json:"id" protobuf:"bytes,5,opt,name=id"` // Source is a reference to the application source used for the sync operation Source ApplicationSource `json:"source,omitempty" protobuf:"bytes,6,opt,name=source"` // DeployStartedAt holds the time the sync operation started DeployStartedAt *metav1.Time `json:"deployStartedAt,omitempty" protobuf:"bytes,7,opt,name=deployStartedAt"` // Sources is a reference to the application sources used for the sync operation Sources ApplicationSources `json:"sources,omitempty" protobuf:"bytes,8,opt,name=sources"` // Revisions holds the revision of each source in sources field the sync was performed against Revisions []string `json:"revisions,omitempty" protobuf:"bytes,9,opt,name=revisions"` // InitiatedBy contains information about who initiated the operations InitiatedBy OperationInitiator `json:"initiatedBy,omitempty" protobuf:"bytes,10,opt,name=initiatedBy"` }
RevisionHistory contains history information about a previous sync +kubebuilder:object:generate=true
func (*RevisionHistory) DeepCopy ¶
func (in *RevisionHistory) DeepCopy() *RevisionHistory
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RevisionHistory.
func (*RevisionHistory) DeepCopyInto ¶
func (in *RevisionHistory) DeepCopyInto(out *RevisionHistory)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RevisionMetadata ¶
type RevisionMetadata struct { // who authored this revision, // typically their name and email, e.g. "John Doe <john_doe@my-company.com>", // but might not match this example Author string `json:"author,omitempty" protobuf:"bytes,1,opt,name=author"` // Date specifies when the revision was authored Date metav1.Time `json:"date" protobuf:"bytes,2,opt,name=date"` // Tags specifies any tags currently attached to the revision // Floating tags can move from one revision to another Tags []string `json:"tags,omitempty" protobuf:"bytes,3,opt,name=tags"` // Message contains the message associated with the revision, most likely the commit message. Message string `json:"message,omitempty" protobuf:"bytes,4,opt,name=message"` // SignatureInfo contains a hint on the signer if the revision was signed with GPG, and signature verification is enabled. SignatureInfo string `json:"signatureInfo,omitempty" protobuf:"bytes,5,opt,name=signatureInfo"` }
RevisionMetadata contains metadata for a specific revision in a Git repository
type SCMProviderGenerator ¶
type SCMProviderGenerator struct { // Which provider to use and config for it. Github *SCMProviderGeneratorGithub `json:"github,omitempty" protobuf:"bytes,1,opt,name=github"` Gitlab *SCMProviderGeneratorGitlab `json:"gitlab,omitempty" protobuf:"bytes,2,opt,name=gitlab"` Bitbucket *SCMProviderGeneratorBitbucket `json:"bitbucket,omitempty" protobuf:"bytes,3,opt,name=bitbucket"` BitbucketServer *SCMProviderGeneratorBitbucketServer `json:"bitbucketServer,omitempty" protobuf:"bytes,4,opt,name=bitbucketServer"` Gitea *SCMProviderGeneratorGitea `json:"gitea,omitempty" protobuf:"bytes,5,opt,name=gitea"` AzureDevOps *SCMProviderGeneratorAzureDevOps `json:"azureDevOps,omitempty" protobuf:"bytes,6,opt,name=azureDevOps"` // Filters for which repos should be considered. Filters []SCMProviderGeneratorFilter `json:"filters,omitempty" protobuf:"bytes,7,rep,name=filters"` // 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" protobuf:"bytes,8,opt,name=cloneProtocol"` // Standard parameters. RequeueAfterSeconds *int64 `json:"requeueAfterSeconds,omitempty" protobuf:"varint,9,opt,name=requeueAfterSeconds"` Template ApplicationSetTemplate `json:"template,omitempty" protobuf:"bytes,10,opt,name=template"` // Values contains key/value pairs which are passed directly as parameters to the template Values map[string]string `json:"values,omitempty" protobuf:"bytes,11,name=values"` AWSCodeCommit *SCMProviderGeneratorAWSCodeCommit `json:"awsCodeCommit,omitempty" protobuf:"bytes,12,opt,name=awsCodeCommit"` }
SCMProviderGenerator defines a generator that scrapes a SCMaaS API to find candidate repos. +kubebuilder:object:generate=true
func (*SCMProviderGenerator) CustomApiUrl ¶
func (g *SCMProviderGenerator) CustomApiUrl() string
func (*SCMProviderGenerator) DeepCopy ¶
func (in *SCMProviderGenerator) DeepCopy() *SCMProviderGenerator
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 SCMProviderGeneratorAWSCodeCommit ¶
type SCMProviderGeneratorAWSCodeCommit struct { // TagFilters provides the tag filter(s) for repo discovery TagFilters []*TagFilter `json:"tagFilters,omitempty" protobuf:"bytes,1,opt,name=tagFilters"` // Role provides the AWS IAM role to assume, for cross-account repo discovery // if not provided, AppSet controller will use its pod/node identity to discover. Role string `json:"role,omitempty" protobuf:"bytes,2,opt,name=role"` // Region provides the AWS region to discover repos. // if not provided, AppSet controller will infer the current region from environment. Region string `json:"region,omitempty" protobuf:"bytes,3,opt,name=region"` // Scan all branches instead of just the default branch. AllBranches bool `json:"allBranches,omitempty" protobuf:"varint,4,opt,name=allBranches"` }
SCMProviderGeneratorAWSCodeCommit defines connection info specific to AWS CodeCommit. +kubebuilder:object:generate=true
func (*SCMProviderGeneratorAWSCodeCommit) DeepCopy ¶
func (in *SCMProviderGeneratorAWSCodeCommit) DeepCopy() *SCMProviderGeneratorAWSCodeCommit
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SCMProviderGeneratorAWSCodeCommit.
func (*SCMProviderGeneratorAWSCodeCommit) DeepCopyInto ¶
func (in *SCMProviderGeneratorAWSCodeCommit) DeepCopyInto(out *SCMProviderGeneratorAWSCodeCommit)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SCMProviderGeneratorAzureDevOps ¶
type SCMProviderGeneratorAzureDevOps struct { // Azure Devops organization. Required. E.g. "my-organization". Organization string `json:"organization" protobuf:"bytes,5,opt,name=organization"` // The URL to Azure DevOps. If blank, use https://dev.azure.com. API string `json:"api,omitempty" protobuf:"bytes,6,opt,name=api"` // Azure Devops team project. Required. E.g. "my-team". TeamProject string `json:"teamProject" protobuf:"bytes,7,opt,name=teamProject"` // The Personal Access Token (PAT) to use when connecting. Required. AccessTokenRef *SecretRef `json:"accessTokenRef" protobuf:"bytes,8,opt,name=accessTokenRef"` // Scan all branches instead of just the default branch. AllBranches bool `json:"allBranches,omitempty" protobuf:"varint,9,opt,name=allBranches"` }
SCMProviderGeneratorAzureDevOps defines connection info specific to Azure DevOps. +kubebuilder:object:generate=true
func (*SCMProviderGeneratorAzureDevOps) DeepCopy ¶
func (in *SCMProviderGeneratorAzureDevOps) DeepCopy() *SCMProviderGeneratorAzureDevOps
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SCMProviderGeneratorAzureDevOps.
func (*SCMProviderGeneratorAzureDevOps) DeepCopyInto ¶
func (in *SCMProviderGeneratorAzureDevOps) DeepCopyInto(out *SCMProviderGeneratorAzureDevOps)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SCMProviderGeneratorBitbucket ¶
type SCMProviderGeneratorBitbucket struct { // Bitbucket workspace to scan. Required. Owner string `json:"owner" protobuf:"bytes,1,opt,name=owner"` // Bitbucket user to use when authenticating. Should have a "member" role to be able to read all repositories and branches. Required User string `json:"user" protobuf:"bytes,2,opt,name=user"` // The app password to use for the user. Required. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/ AppPasswordRef *SecretRef `json:"appPasswordRef" protobuf:"bytes,3,opt,name=appPasswordRef"` // Scan all branches instead of just the main branch. AllBranches bool `json:"allBranches,omitempty" protobuf:"varint,4,opt,name=allBranches"` }
SCMProviderGeneratorBitbucket defines connection info specific to Bitbucket Cloud (API version 2). +kubebuilder:object:generate=true
func (*SCMProviderGeneratorBitbucket) DeepCopy ¶
func (in *SCMProviderGeneratorBitbucket) DeepCopy() *SCMProviderGeneratorBitbucket
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SCMProviderGeneratorBitbucket.
func (*SCMProviderGeneratorBitbucket) DeepCopyInto ¶
func (in *SCMProviderGeneratorBitbucket) DeepCopyInto(out *SCMProviderGeneratorBitbucket)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SCMProviderGeneratorBitbucketServer ¶
type SCMProviderGeneratorBitbucketServer struct { // Project to scan. Required. Project string `json:"project" protobuf:"bytes,1,opt,name=project"` // The Bitbucket Server REST API URL to talk to. Required. API string `json:"api" protobuf:"bytes,2,opt,name=api"` // Credentials for Basic auth BasicAuth *BasicAuthBitbucketServer `json:"basicAuth,omitempty" protobuf:"bytes,3,opt,name=basicAuth"` // Scan all branches instead of just the default branch. AllBranches bool `json:"allBranches,omitempty" protobuf:"varint,4,opt,name=allBranches"` }
SCMProviderGeneratorBitbucketServer defines connection info specific to Bitbucket Server. +kubebuilder:object:generate=true
func (*SCMProviderGeneratorBitbucketServer) DeepCopy ¶
func (in *SCMProviderGeneratorBitbucketServer) DeepCopy() *SCMProviderGeneratorBitbucketServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SCMProviderGeneratorBitbucketServer.
func (*SCMProviderGeneratorBitbucketServer) DeepCopyInto ¶
func (in *SCMProviderGeneratorBitbucketServer) DeepCopyInto(out *SCMProviderGeneratorBitbucketServer)
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" protobuf:"bytes,1,opt,name=repositoryMatch"` // An array of paths, all of which must exist. PathsExist []string `json:"pathsExist,omitempty" protobuf:"bytes,2,rep,name=pathsExist"` // An array of paths, all of which must not exist. PathsDoNotExist []string `json:"pathsDoNotExist,omitempty" protobuf:"bytes,3,rep,name=pathsDoNotExist"` // A regex which must match at least one label. LabelMatch *string `json:"labelMatch,omitempty" protobuf:"bytes,4,opt,name=labelMatch"` // A regex which must match the branch name. BranchMatch *string `json:"branchMatch,omitempty" protobuf:"bytes,5,opt,name=branchMatch"` }
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. +kubebuilder:object:generate=true
func (*SCMProviderGeneratorFilter) DeepCopy ¶
func (in *SCMProviderGeneratorFilter) DeepCopy() *SCMProviderGeneratorFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SCMProviderGeneratorFilter.
func (*SCMProviderGeneratorFilter) DeepCopyInto ¶
func (in *SCMProviderGeneratorFilter) DeepCopyInto(out *SCMProviderGeneratorFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SCMProviderGeneratorGitea ¶
type SCMProviderGeneratorGitea struct { // Gitea organization or user to scan. Required. Owner string `json:"owner" protobuf:"bytes,1,opt,name=owner"` // The Gitea URL to talk to. For example https://gitea.mydomain.com/. API string `json:"api" protobuf:"bytes,2,opt,name=api"` // Authentication token reference. TokenRef *SecretRef `json:"tokenRef,omitempty" protobuf:"bytes,3,opt,name=tokenRef"` // Scan all branches instead of just the default branch. AllBranches bool `json:"allBranches,omitempty" protobuf:"varint,4,opt,name=allBranches"` // Allow self-signed TLS / Certificates; default: false Insecure bool `json:"insecure,omitempty" protobuf:"varint,5,opt,name=insecure"` }
SCMProviderGeneratorGitea defines a connection info specific to Gitea. +kubebuilder:object:generate=true
func (*SCMProviderGeneratorGitea) DeepCopy ¶
func (in *SCMProviderGeneratorGitea) DeepCopy() *SCMProviderGeneratorGitea
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SCMProviderGeneratorGitea.
func (*SCMProviderGeneratorGitea) DeepCopyInto ¶
func (in *SCMProviderGeneratorGitea) DeepCopyInto(out *SCMProviderGeneratorGitea)
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" protobuf:"bytes,1,opt,name=organization"` // The GitHub API URL to talk to. If blank, use https://api.github.com/. API string `json:"api,omitempty" protobuf:"bytes,2,opt,name=api"` // Authentication token reference. TokenRef *SecretRef `json:"tokenRef,omitempty" protobuf:"bytes,3,opt,name=tokenRef"` // AppSecretName is a reference to a GitHub App repo-creds secret. AppSecretName string `json:"appSecretName,omitempty" protobuf:"bytes,4,opt,name=appSecretName"` // Scan all branches instead of just the default branch. AllBranches bool `json:"allBranches,omitempty" protobuf:"varint,5,opt,name=allBranches"` }
SCMProviderGeneratorGithub defines connection info specific to GitHub. +kubebuilder:object:generate=true
func (*SCMProviderGeneratorGithub) DeepCopy ¶
func (in *SCMProviderGeneratorGithub) DeepCopy() *SCMProviderGeneratorGithub
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SCMProviderGeneratorGithub.
func (*SCMProviderGeneratorGithub) DeepCopyInto ¶
func (in *SCMProviderGeneratorGithub) DeepCopyInto(out *SCMProviderGeneratorGithub)
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" protobuf:"bytes,1,opt,name=group"` // Recurse through subgroups (true) or scan only the base group (false). Defaults to "false" IncludeSubgroups bool `json:"includeSubgroups,omitempty" protobuf:"varint,2,opt,name=includeSubgroups"` // The Gitlab API URL to talk to. API string `json:"api,omitempty" protobuf:"bytes,3,opt,name=api"` // Authentication token reference. TokenRef *SecretRef `json:"tokenRef,omitempty" protobuf:"bytes,4,opt,name=tokenRef"` // Scan all branches instead of just the default branch. AllBranches bool `json:"allBranches,omitempty" protobuf:"varint,5,opt,name=allBranches"` // Skips validating the SCM provider's TLS certificate - useful for self-signed certificates.; default: false Insecure bool `json:"insecure,omitempty" protobuf:"varint,6,opt,name=insecure"` IncludeSharedProjects *bool `json:"includeSharedProjects,omitempty" protobuf:"varint,7,opt,name=includeSharedProjects"` // Filter repos list based on Gitlab Topic. Topic string `json:"topic,omitempty" protobuf:"bytes,8,opt,name=topic"` }
SCMProviderGeneratorGitlab defines connection info specific to Gitlab. +kubebuilder:object:generate=true
func (*SCMProviderGeneratorGitlab) DeepCopy ¶
func (in *SCMProviderGeneratorGitlab) DeepCopy() *SCMProviderGeneratorGitlab
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SCMProviderGeneratorGitlab.
func (*SCMProviderGeneratorGitlab) DeepCopyInto ¶
func (in *SCMProviderGeneratorGitlab) DeepCopyInto(out *SCMProviderGeneratorGitlab)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SCMProviderGeneratorGitlab) WillIncludeSharedProjects ¶
func (s *SCMProviderGeneratorGitlab) WillIncludeSharedProjects() bool
type SecretRef ¶
type SecretRef struct { SecretName string `json:"secretName" protobuf:"bytes,1,opt,name=secretName"` Key string `json:"key" protobuf:"bytes,2,opt,name=key"` }
Utility struct for a reference to a secret key. +kubebuilder:object:generate=true
func (*SecretRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.
func (*SecretRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SignatureKey ¶
type SignatureKey struct { // The ID of the key in hexadecimal notation KeyID string `json:"keyID" protobuf:"bytes,1,name=keyID"` }
SignatureKey is the specification of a key required to verify commit signatures with
type SyncOperation ¶
type SyncOperation struct { // Revision is the revision (Git) or chart version (Helm) which to sync the application to // If omitted, will use the revision specified in app spec. Revision string `json:"revision,omitempty" protobuf:"bytes,1,opt,name=revision"` // Prune specifies to delete resources from the cluster that are no longer tracked in git Prune bool `json:"prune,omitempty" protobuf:"bytes,2,opt,name=prune"` // DryRun specifies to perform a `kubectl apply --dry-run` without actually performing the sync DryRun bool `json:"dryRun,omitempty" protobuf:"bytes,3,opt,name=dryRun"` // SyncStrategy describes how to perform the sync SyncStrategy *SyncStrategy `json:"syncStrategy,omitempty" protobuf:"bytes,4,opt,name=syncStrategy"` // Resources describes which resources shall be part of the sync Resources []SyncOperationResource `json:"resources,omitempty" protobuf:"bytes,6,opt,name=resources"` // Source overrides the source definition set in the application. // This is typically set in a Rollback operation and is nil during a Sync operation Source *ApplicationSource `json:"source,omitempty" protobuf:"bytes,7,opt,name=source"` // Manifests is an optional field that overrides sync source with a local directory for development Manifests []string `json:"manifests,omitempty" protobuf:"bytes,8,opt,name=manifests"` // SyncOptions provide per-sync sync-options, e.g. Validate=false SyncOptions SyncOptions `json:"syncOptions,omitempty" protobuf:"bytes,9,opt,name=syncOptions"` // Sources overrides the source definition set in the application. // This is typically set in a Rollback operation and is nil during a Sync operation Sources ApplicationSources `json:"sources,omitempty" protobuf:"bytes,10,opt,name=sources"` // Revisions is the list of revision (Git) or chart version (Helm) which to sync each source in sources field for the application to // If omitted, will use the revision specified in app spec. Revisions []string `json:"revisions,omitempty" protobuf:"bytes,11,opt,name=revisions"` }
SyncOperation contains details about a sync operation. +kubebuilder:object:generate=true
func (*SyncOperation) DeepCopy ¶
func (in *SyncOperation) DeepCopy() *SyncOperation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncOperation.
func (*SyncOperation) DeepCopyInto ¶
func (in *SyncOperation) DeepCopyInto(out *SyncOperation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SyncOperation) IsApplyStrategy ¶
func (o *SyncOperation) IsApplyStrategy() bool
IsApplyStrategy returns true if the sync strategy is "apply"
type SyncOperationResource ¶
type SyncOperationResource struct { Group string `json:"group,omitempty" protobuf:"bytes,1,opt,name=group"` Kind string `json:"kind" protobuf:"bytes,2,opt,name=kind"` Name string `json:"name" protobuf:"bytes,3,opt,name=name"` Namespace string `json:"namespace,omitempty" protobuf:"bytes,4,opt,name=namespace"` // nolint:govet Exclude bool `json:"-"` }
SyncOperationResource contains resources to sync.
func (SyncOperationResource) Compare ¶
func (r SyncOperationResource) Compare(name string, namespace string, gvk schema.GroupVersionKind) bool
Compare determines whether an app resource matches the resource filter during sync or wait.
func (SyncOperationResource) HasIdentity ¶
func (r SyncOperationResource) HasIdentity(name string, namespace string, gvk schema.GroupVersionKind) bool
HasIdentity determines whether a sync operation is identified by a manifest
type SyncOperationResult ¶
type SyncOperationResult struct { // Resources contains a list of sync result items for each individual resource in a sync operation Resources ResourceResults `json:"resources,omitempty" protobuf:"bytes,1,opt,name=resources"` // Revision holds the revision this sync operation was performed to Revision string `json:"revision" protobuf:"bytes,2,opt,name=revision"` // Source records the application source information of the sync, used for comparing auto-sync Source ApplicationSource `json:"source,omitempty" protobuf:"bytes,3,opt,name=source"` // Source records the application source information of the sync, used for comparing auto-sync Sources ApplicationSources `json:"sources,omitempty" protobuf:"bytes,4,opt,name=sources"` // Revisions holds the revision this sync operation was performed for respective indexed source in sources field Revisions []string `json:"revisions,omitempty" protobuf:"bytes,5,opt,name=revisions"` // ManagedNamespaceMetadata contains the current sync state of managed namespace metadata ManagedNamespaceMetadata *ManagedNamespaceMetadata `json:"managedNamespaceMetadata,omitempty" protobuf:"bytes,6,opt,name=managedNamespaceMetadata"` }
SyncOperationResult represent result of sync operation +kubebuilder:object:generate=true
func (*SyncOperationResult) DeepCopy ¶
func (in *SyncOperationResult) DeepCopy() *SyncOperationResult
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncOperationResult.
func (*SyncOperationResult) DeepCopyInto ¶
func (in *SyncOperationResult) DeepCopyInto(out *SyncOperationResult)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyncOptions ¶
type SyncOptions []string
func (SyncOptions) AddOption ¶
func (o SyncOptions) AddOption(option string) SyncOptions
AddOption adds a sync option to the list of sync options and returns the modified list. If option was already set, returns the unmodified list of sync options.
func (SyncOptions) HasOption ¶
func (o SyncOptions) HasOption(option string) bool
HasOption returns true if the list of sync options contains given option
func (SyncOptions) RemoveOption ¶
func (o SyncOptions) RemoveOption(option string) SyncOptions
RemoveOption removes a sync option from the list of sync options and returns the modified list. If option has not been already set, returns the unmodified list of sync options.
type SyncPolicy ¶
type SyncPolicy struct { // Automated will keep an application synced to the target revision Automated *SyncPolicyAutomated `json:"automated,omitempty" protobuf:"bytes,1,opt,name=automated"` // Options allow you to specify whole app sync-options SyncOptions SyncOptions `json:"syncOptions,omitempty" protobuf:"bytes,2,opt,name=syncOptions"` // Retry controls failed sync retry behavior Retry *RetryStrategy `json:"retry,omitempty" protobuf:"bytes,3,opt,name=retry"` // ManagedNamespaceMetadata controls metadata in the given namespace (if CreateNamespace=true) ManagedNamespaceMetadata *ManagedNamespaceMetadata `json:"managedNamespaceMetadata,omitempty" protobuf:"bytes,4,opt,name=managedNamespaceMetadata"` }
SyncPolicy controls when a sync will be performed in response to updates in git +kubebuilder:object:generate=true
func (*SyncPolicy) DeepCopy ¶
func (in *SyncPolicy) DeepCopy() *SyncPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncPolicy.
func (*SyncPolicy) DeepCopyInto ¶
func (in *SyncPolicy) DeepCopyInto(out *SyncPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SyncPolicy) IsZero ¶
func (p *SyncPolicy) IsZero() bool
IsZero returns true if the sync policy is empty
type SyncPolicyAutomated ¶
type SyncPolicyAutomated struct { // Prune specifies whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync (default: false) Prune bool `json:"prune,omitempty" protobuf:"bytes,1,opt,name=prune"` // SelfHeal specifies whether to revert resources back to their desired state upon modification in the cluster (default: false) SelfHeal bool `json:"selfHeal,omitempty" protobuf:"bytes,2,opt,name=selfHeal"` // AllowEmpty allows apps have zero live resources (default: false) AllowEmpty bool `json:"allowEmpty,omitempty" protobuf:"bytes,3,opt,name=allowEmpty"` }
SyncPolicyAutomated controls the behavior of an automated sync
type SyncStatus ¶
type SyncStatus struct { // Status is the sync state of the comparison Status SyncStatusCode `json:"status" protobuf:"bytes,1,opt,name=status,casttype=SyncStatusCode"` // ComparedTo contains information about what has been compared ComparedTo ComparedTo `json:"comparedTo,omitempty" protobuf:"bytes,2,opt,name=comparedTo"` // Revision contains information about the revision the comparison has been performed to Revision string `json:"revision,omitempty" protobuf:"bytes,3,opt,name=revision"` // Revisions contains information about the revisions of multiple sources the comparison has been performed to Revisions []string `json:"revisions,omitempty" protobuf:"bytes,4,opt,name=revisions"` }
SyncStatus contains information about the currently observed live and desired states of an application +kubebuilder:object:generate=true
func (*SyncStatus) DeepCopy ¶
func (in *SyncStatus) DeepCopy() *SyncStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncStatus.
func (*SyncStatus) DeepCopyInto ¶
func (in *SyncStatus) DeepCopyInto(out *SyncStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyncStatusCode ¶
type SyncStatusCode string
SyncStatusCode is a type which represents possible comparison results
const ( // SyncStatusCodeUnknown indicates that the status of a sync could not be reliably determined SyncStatusCodeUnknown SyncStatusCode = "Unknown" // SyncStatusCodeOutOfSync indicates that desired and live states match SyncStatusCodeSynced SyncStatusCode = "Synced" // SyncStatusCodeOutOfSync indicates that there is a drift between desired and live states SyncStatusCodeOutOfSync SyncStatusCode = "OutOfSync" )
Possible comparison results
type SyncStrategy ¶
type SyncStrategy struct { // Apply will perform a `kubectl apply` to perform the sync. Apply *SyncStrategyApply `json:"apply,omitempty" protobuf:"bytes,1,opt,name=apply"` // Hook will submit any referenced resources to perform the sync. This is the default strategy Hook *SyncStrategyHook `json:"hook,omitempty" protobuf:"bytes,2,opt,name=hook"` }
SyncStrategy controls the manner in which a sync is performed +kubebuilder:object:generate=true
func (*SyncStrategy) DeepCopy ¶
func (in *SyncStrategy) DeepCopy() *SyncStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncStrategy.
func (*SyncStrategy) DeepCopyInto ¶
func (in *SyncStrategy) DeepCopyInto(out *SyncStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SyncStrategy) Force ¶
func (m *SyncStrategy) Force() bool
Force returns true if the sync strategy specifies to perform a forced sync
type SyncStrategyApply ¶
type SyncStrategyApply struct { // Force indicates whether or not to supply the --force flag to `kubectl apply`. // The --force flag deletes and re-create the resource, when PATCH encounters conflict and has // retried for 5 times. Force bool `json:"force,omitempty" protobuf:"bytes,1,opt,name=force"` }
SyncStrategyApply uses `kubectl apply` to perform the apply
type SyncStrategyHook ¶
type SyncStrategyHook struct { // Embed SyncStrategyApply type to inherit any `apply` options // +optional SyncStrategyApply `json:",inline" protobuf:"bytes,1,opt,name=syncStrategyApply"` }
SyncStrategyHook will perform a sync using hooks annotations. If no hook annotation is specified falls back to `kubectl apply`.
type SyncWindow ¶
type SyncWindow struct { // Kind defines if the window allows or blocks syncs Kind string `json:"kind,omitempty" protobuf:"bytes,1,opt,name=kind"` // Schedule is the time the window will begin, specified in cron format Schedule string `json:"schedule,omitempty" protobuf:"bytes,2,opt,name=schedule"` // Duration is the amount of time the sync window will be open Duration string `json:"duration,omitempty" protobuf:"bytes,3,opt,name=duration"` // Applications contains a list of applications that the window will apply to Applications []string `json:"applications,omitempty" protobuf:"bytes,4,opt,name=applications"` // Namespaces contains a list of namespaces that the window will apply to Namespaces []string `json:"namespaces,omitempty" protobuf:"bytes,5,opt,name=namespaces"` // Clusters contains a list of clusters that the window will apply to Clusters []string `json:"clusters,omitempty" protobuf:"bytes,6,opt,name=clusters"` // ManualSync enables manual syncs when they would otherwise be blocked ManualSync bool `json:"manualSync,omitempty" protobuf:"bytes,7,opt,name=manualSync"` // TimeZone of the sync that will be applied to the schedule TimeZone string `json:"timeZone,omitempty" protobuf:"bytes,8,opt,name=timeZone"` }
SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps +kubebuilder:object:generate=true
func (*SyncWindow) DeepCopy ¶
func (in *SyncWindow) DeepCopy() *SyncWindow
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncWindow.
func (*SyncWindow) DeepCopyInto ¶
func (in *SyncWindow) DeepCopyInto(out *SyncWindow)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyncWindows ¶
type SyncWindows []*SyncWindow
SyncWindows is a collection of sync windows in this project
func (*SyncWindows) HasWindows ¶
func (s *SyncWindows) HasWindows() bool
HasWindows returns true if SyncWindows has one or more SyncWindow
type TLSClientConfig ¶
type TLSClientConfig struct { // Insecure specifies that the server should be accessed without verifying the TLS certificate. For testing only. Insecure bool `json:"insecure" protobuf:"bytes,1,opt,name=insecure"` // ServerName is passed to the server for SNI and is used in the client to check server // certificates against. If ServerName is empty, the hostname used to contact the // server is used. ServerName string `json:"serverName,omitempty" protobuf:"bytes,2,opt,name=serverName"` // CertData holds PEM-encoded bytes (typically read from a client certificate file). // CertData takes precedence over CertFile CertData []byte `json:"certData,omitempty" protobuf:"bytes,3,opt,name=certData"` // KeyData holds PEM-encoded bytes (typically read from a client certificate key file). // KeyData takes precedence over KeyFile KeyData []byte `json:"keyData,omitempty" protobuf:"bytes,4,opt,name=keyData"` // CAData holds PEM-encoded bytes (typically read from a root certificates bundle). // CAData takes precedence over CAFile CAData []byte `json:"caData,omitempty" protobuf:"bytes,5,opt,name=caData"` }
TLSClientConfig contains settings to enable transport layer security
type TrackingMethod ¶
type TrackingMethod string