Documentation ¶
Index ¶
- Constants
- type AWSAuthConfig
- type AppProject
- type AppProjectList
- type AppProjectSpec
- type Application
- type ApplicationCondition
- type ApplicationConditionType
- type ApplicationDestination
- type ApplicationList
- type ApplicationSource
- type ApplicationSourceDirectory
- type ApplicationSourceHelm
- type ApplicationSourceJsonnet
- type ApplicationSourceKsonnet
- type ApplicationSourceKustomize
- type ApplicationSourcePlugin
- type ApplicationSourceType
- type ApplicationSpec
- type ApplicationStatus
- type ApplicationSummary
- type ApplicationTree
- type ApplicationWatchEvent
- type Cluster
- type ClusterConfig
- type ClusterList
- type Command
- type ComparedTo
- type ComponentParameter
- type ConfigManagementPlugin
- type ConnectionState
- type ConnectionStatus
- type Env
- type EnvEntry
- type HealthStatus
- type HealthStatusCode
- type HelmFileParameter
- type HelmParameter
- type HookDeletePolicy
- type HookType
- type Info
- type InfoItem
- type JWTToken
- type JsonnetVar
- type KnownTypeField
- type KsonnetParameter
- type KustomizeImage
- type KustomizeImages
- type KustomizeOptions
- type Operation
- type OperationInitiator
- type OperationPhase
- type OperationState
- type OrphanedResourcesMonitorSettings
- type ProjectRole
- 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 ResourceIgnoreDifferences
- type ResourceNetworkingInfo
- type ResourceNode
- type ResourceOverride
- type ResourceRef
- type ResourceResult
- type ResourceResults
- type ResourceStatus
- type ResultCode
- type RevisionHistories
- type RevisionHistory
- type RevisionMetadata
- type SyncOperation
- type SyncOperationResource
- type SyncOperationResult
- type SyncOptions
- type SyncPhase
- type SyncPolicy
- type SyncPolicyAutomated
- type SyncStatus
- type SyncStatusCode
- type SyncStrategy
- type SyncStrategyApply
- type SyncStrategyHook
- type SyncWindow
- type SyncWindows
- type TLSClientConfig
Constants ¶
const ( SyncPhasePreSync = "PreSync" SyncPhaseSync = "Sync" SyncPhasePostSync = "PostSync" SyncPhaseSyncFail = "SyncFail" )
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 = "Successful" ConnectionStatusFailed = "Failed" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
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"` }
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"` }
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) +genclient +genclient:noStatus +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:path=appprojects,shortName=appproj;appprojs
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 +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/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"` }
AppProjectSpec is the specification of an AppProject
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 +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:path=applications,shortName=app;apps
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 first observed. LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"` }
ApplicationCondition contains details about current application 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 overrides the environment server value in the ksonnet app.yaml Server string `json:"server,omitempty" protobuf:"bytes,1,opt,name=server"` // Namespace overrides the environment namespace value in the ksonnet app.yaml Namespace string `json:"namespace,omitempty" protobuf:"bytes,2,opt,name=namespace"` }
ApplicationDestination contains deployment destination information
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
type ApplicationSource ¶
type ApplicationSource struct { // RepoURL is the repository URL of the application manifests RepoURL string `json:"repoURL" protobuf:"bytes,1,opt,name=repoURL"` // Path is a directory path within the Git repository Path string `json:"path,omitempty" protobuf:"bytes,2,opt,name=path"` // TargetRevision defines the commit, tag, or branch in which to sync the application to. // If omitted, will sync to HEAD 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"` // Ksonnet holds ksonnet specific options Ksonnet *ApplicationSourceKsonnet `json:"ksonnet,omitempty" protobuf:"bytes,9,opt,name=ksonnet"` // Directory holds path/directory specific options Directory *ApplicationSourceDirectory `json:"directory,omitempty" protobuf:"bytes,10,opt,name=directory"` // ConfigManagementPlugin holds config management plugin specific options Plugin *ApplicationSourcePlugin `json:"plugin,omitempty" protobuf:"bytes,11,opt,name=plugin"` // Chart is a Helm chart name Chart string `json:"chart,omitempty" protobuf:"bytes,12,opt,name=chart"` }
ApplicationSource contains information about github repository, path within repository and target application environment.
type ApplicationSourceDirectory ¶
type ApplicationSourceDirectory struct { Recurse bool `json:"recurse,omitempty" protobuf:"bytes,1,opt,name=recurse"` Jsonnet ApplicationSourceJsonnet `json:"jsonnet,omitempty" protobuf:"bytes,2,opt,name=jsonnet"` }
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 are parameters to the helm template Parameters []HelmParameter `json:"parameters,omitempty" protobuf:"bytes,2,opt,name=parameters"` // The Helm release name. If omitted it will use the application name ReleaseName string `json:"releaseName,omitempty" protobuf:"bytes,3,opt,name=releaseName"` // Values is Helm values, typically defined as a block Values string `json:"values,omitempty" 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"` }
ApplicationSourceHelm holds helm specific options
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"` }
ApplicationSourceJsonnet holds jsonnet specific options
type ApplicationSourceKsonnet ¶
type ApplicationSourceKsonnet struct { // Environment is a ksonnet application environment name Environment string `json:"environment,omitempty" protobuf:"bytes,1,opt,name=environment"` // Parameters are a list of ksonnet component parameter override values Parameters []KsonnetParameter `json:"parameters,omitempty" protobuf:"bytes,2,opt,name=parameters"` }
ApplicationSourceKsonnet holds ksonnet specific options
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 are kustomize image overrides Images KustomizeImages `json:"images,omitempty" protobuf:"bytes,3,opt,name=images"` // CommonLabels adds additional kustomize commonLabels CommonLabels map[string]string `json:"commonLabels,omitempty" protobuf:"bytes,4,opt,name=commonLabels"` // Version contains optional Kustomize version Version string `json:"version,omitempty" protobuf:"bytes,5,opt,name=version"` }
ApplicationSourceKustomize holds kustomize specific options
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"` }
ApplicationSourcePlugin holds config management plugin specific options
type ApplicationSourceType ¶
type ApplicationSourceType string
const ( ApplicationSourceTypeHelm ApplicationSourceType = "Helm" ApplicationSourceTypeKustomize ApplicationSourceType = "Kustomize" ApplicationSourceTypeKsonnet ApplicationSourceType = "Ksonnet" ApplicationSourceTypeDirectory ApplicationSourceType = "Directory" ApplicationSourceTypePlugin ApplicationSourceType = "Plugin" )
type ApplicationSpec ¶
type ApplicationSpec struct { // Source is a reference to the location ksonnet application definition Source ApplicationSource `json:"source" protobuf:"bytes,1,opt,name=source"` // Destination overrides the kubernetes server and namespace defined in the environment ksonnet app.yaml Destination ApplicationDestination `json:"destination" protobuf:"bytes,2,name=destination"` // Project is a application project name. Empty name means that application belongs to 'default' project. Project string `json:"project" protobuf:"bytes,3,name=project"` // SyncPolicy controls when a sync will be performed SyncPolicy *SyncPolicy `json:"syncPolicy,omitempty" protobuf:"bytes,4,name=syncPolicy"` // IgnoreDifferences controls resources fields which should be ignored during comparison IgnoreDifferences []ResourceIgnoreDifferences `json:"ignoreDifferences,omitempty" protobuf:"bytes,5,name=ignoreDifferences"` // Infos contains a list of useful information (URLs, email addresses, and plain text) that relates to the application Info []Info `json:"info,omitempty" protobuf:"bytes,6,name=info"` // This limits this number of items kept in the apps revision history. // 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"` }
ApplicationSpec represents desired application state. Contains link to repository with application definition and additional parameters link definition revision.
type ApplicationStatus ¶
type ApplicationStatus struct { Resources []ResourceStatus `json:"resources,omitempty" protobuf:"bytes,1,opt,name=resources"` Sync SyncStatus `json:"sync,omitempty" protobuf:"bytes,2,opt,name=sync"` Health HealthStatus `json:"health,omitempty" protobuf:"bytes,3,opt,name=health"` History RevisionHistories `json:"history,omitempty" protobuf:"bytes,4,opt,name=history"` 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 *OperationState `json:"operationState,omitempty" protobuf:"bytes,7,opt,name=operationState"` // ObservedAt indicates when the application state was updated without querying latest git state ObservedAt *metav1.Time `json:"observedAt,omitempty" protobuf:"bytes,8,opt,name=observedAt"` SourceType ApplicationSourceType `json:"sourceType,omitempty" protobuf:"bytes,9,opt,name=sourceType"` Summary ApplicationSummary `json:"summary,omitempty" protobuf:"bytes,10,opt,name=summary"` }
ApplicationStatus contains information about application sync, health status
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"` }
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"` }
ApplicationTree holds nodes which belongs to the application
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 Cluster ¶
type Cluster struct { // 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"` // ConnectionState contains information about cluster connection state ConnectionState ConnectionState `json:"connectionState,omitempty" protobuf:"bytes,4,opt,name=connectionState"` // 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 would be ignored if namespace list if not empty. Namespaces []string `json:"namespaces,omitempty" protobuf:"bytes,6,opt,name=namespaces"` }
Cluster is the definition of a cluster resource
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"` }
ClusterConfig is the configuration attributes. This structure is subset of the go-client rest.Config with annotations added for marshalling.
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 ApplicationSource `json:"source" protobuf:"bytes,1,opt,name=source"` Destination ApplicationDestination `json:"destination" protobuf:"bytes,2,opt,name=destination"` }
ComparedTo contains application source and target which was used for resources comparison
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"` }
ConfigManagementPlugin contains config management plugin configuration
type ConnectionState ¶
type ConnectionState struct { Status ConnectionStatus `json:"status" protobuf:"bytes,1,opt,name=status"` Message string `json:"message" protobuf:"bytes,2,opt,name=message"` ModifiedAt *metav1.Time `json:"attemptedAt" protobuf:"bytes,3,opt,name=attemptedAt"` }
ConnectionState contains information about remote resource connection state
type ConnectionStatus ¶
type ConnectionStatus = string
ConnectionStatus represents connection status
type HealthStatus ¶
type HealthStatus struct { Status HealthStatusCode `json:"status,omitempty" protobuf:"bytes,1,opt,name=status"` Message string `json:"message,omitempty" protobuf:"bytes,2,opt,name=message"` }
type HealthStatusCode ¶
type HealthStatusCode = string
const ( HealthStatusUnknown HealthStatusCode = "Unknown" HealthStatusProgressing HealthStatusCode = "Progressing" HealthStatusHealthy HealthStatusCode = "Healthy" HealthStatusSuspended HealthStatusCode = "Suspended" HealthStatusDegraded HealthStatusCode = "Degraded" HealthStatusMissing HealthStatusCode = "Missing" )
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 value for the helm parameter Path string `json:"path,omitempty" protobuf:"bytes,2,opt,name=path"` }
HelmFileParameter is a file parameter to a helm template
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 to a helm template
type HookDeletePolicy ¶
type HookDeletePolicy string
const ( HookDeletePolicyHookSucceeded HookDeletePolicy = "HookSucceeded" HookDeletePolicyHookFailed HookDeletePolicy = "HookFailed" HookDeletePolicyBeforeHookCreation HookDeletePolicy = "BeforeHookCreation" )
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 human readable information about object
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 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 is a jsonnet variable
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
type KsonnetParameter ¶
type KsonnetParameter 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"` }
KsonnetParameter is a ksonnet component parameter
type KustomizeImage ¶
type KustomizeImage string
type KustomizeImages ¶
type KustomizeImages []KustomizeImage
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 Operation ¶
type Operation struct { Sync *SyncOperation `json:"sync,omitempty" protobuf:"bytes,1,opt,name=sync"` InitiatedBy OperationInitiator `json:"initiatedBy,omitempty" protobuf:"bytes,2,opt,name=initiatedBy"` }
Operation contains requested operation parameters.
type OperationInitiator ¶
type OperationInitiator struct { // 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 holds information about the operation initiator
type OperationPhase ¶
type OperationPhase string
const ( OperationRunning OperationPhase = "Running" OperationTerminating OperationPhase = "Terminating" OperationFailed OperationPhase = "Failed" OperationError OperationPhase = "Error" OperationSucceeded OperationPhase = "Succeeded" )
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 OperationPhase `json:"phase" protobuf:"bytes,2,opt,name=phase"` // Message hold 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"` }
OperationState contains information about state of currently performing operation on application.
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"` }
OrphanedResourcesMonitorSettings holds settings of orphaned resources monitoring
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 formated 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
type RefreshType ¶
type RefreshType string
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"` // SSH private key data for authenticating at the repo server (only Git repos) SSHPrivateKey string `json:"sshPrivateKey,omitempty" protobuf:"bytes,4,opt,name=sshPrivateKey"` // TLS client cert data for authenticating at the repo server TLSClientCertData string `json:"tlsClientCertData,omitempty" protobuf:"bytes,5,opt,name=tlsClientCertData"` // TLS client cert key for authenticating at the repo server TLSClientCertKey string `json:"tlsClientCertKey,omitempty" protobuf:"bytes,6,opt,name=tlsClientCertKey"` }
RepoCreds holds a repository credentials definition
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
type Repository ¶
type Repository struct { // URL of the repo Repo string `json:"repo" protobuf:"bytes,1,opt,name=repo"` // 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"` // SSH private key data for authenticating at the repo server // only for Git repos SSHPrivateKey string `json:"sshPrivateKey,omitempty" protobuf:"bytes,4,opt,name=sshPrivateKey"` // Current state of repository server connecting ConnectionState ConnectionState `json:"connectionState,omitempty" protobuf:"bytes,5,opt,name=connectionState"` // InsecureIgnoreHostKey should not be used anymore, Insecure is favoured // only for Git repos InsecureIgnoreHostKey bool `json:"insecureIgnoreHostKey,omitempty" protobuf:"bytes,6,opt,name=insecureIgnoreHostKey"` // Whether the repo is insecure Insecure bool `json:"insecure,omitempty" protobuf:"bytes,7,opt,name=insecure"` // Whether git-lfs support should be enabled for this repo EnableLFS bool `json:"enableLfs,omitempty" protobuf:"bytes,8,opt,name=enableLfs"` // TLS client cert data for authenticating at the repo server TLSClientCertData string `json:"tlsClientCertData,omitempty" protobuf:"bytes,9,opt,name=tlsClientCertData"` // TLS client cert key for authenticating at the repo server TLSClientCertKey string `json:"tlsClientCertKey,omitempty" protobuf:"bytes,10,opt,name=tlsClientCertKey"` // type of the repo, maybe "git or "helm, "git" is assumed if empty or absent Type string `json:"type,omitempty" protobuf:"bytes,11,opt,name=type"` // only for 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"` }
Repository is a repository holding application configurations
type RepositoryCertificate ¶
type RepositoryCertificate struct { // Name of the server the certificate is intended for ServerName string `json:"serverName" protobuf:"bytes,1,opt,name=serverName"` // Type of certificate - currently "https" or "ssh" CertType string `json:"certType" protobuf:"bytes,2,opt,name=certType"` // The sub type of the cert, i.e. "ssh-rsa" CertSubType string `json:"certSubType" protobuf:"bytes,3,opt,name=certSubType"` // Actual certificate data, protocol dependent CertData []byte `json:"certData" protobuf:"bytes,4,opt,name=certData"` // Additional certificate info (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"` }
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"` }
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"` }
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"` }
ResourceDiff holds the diff of a live and target resource object
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" protobuf:"bytes,5,opt,name=jsonPointers"` }
ResourceIgnoreDifferences contains resource filter and list of json paths which should be ignored during comparison with live state.
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
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"` }
ResourceNode contains information about live resource and its children
type ResourceOverride ¶
type ResourceOverride struct { HealthLua string `json:"health.lua,omitempty" protobuf:"bytes,1,opt,name=healthLua"` Actions string `json:"actions,omitempty" protobuf:"bytes,3,opt,name=actions"` IgnoreDifferences string `json:"ignoreDifferences,omitempty" protobuf:"bytes,2,opt,name=ignoreDifferences"` KnownTypeFields []KnownTypeField `json:"knownTypeFields,omitempty" protobuf:"bytes,4,opt,name=knownTypeFields"` }
ResourceOverride holds configuration to customize resource diffing and health assessment
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 unique identify resource
type ResourceResult ¶
type ResourceResult struct { Group string `json:"group" protobuf:"bytes,1,opt,name=group"` Version string `json:"version" protobuf:"bytes,2,opt,name=version"` Kind string `json:"kind" protobuf:"bytes,3,opt,name=kind"` Namespace string `json:"namespace" protobuf:"bytes,4,opt,name=namespace"` Name string `json:"name" protobuf:"bytes,5,opt,name=name"` // the final result of the sync, this is be empty if the resources is yet to be applied/pruned and is always zero-value for hooks Status ResultCode `json:"status,omitempty" protobuf:"bytes,6,opt,name=status"` // message for the last sync OR operation Message string `json:"message,omitempty" protobuf:"bytes,7,opt,name=message"` // the type of the hook, empty for non-hook resources HookType HookType `json:"hookType,omitempty" protobuf:"bytes,8,opt,name=hookType"` // the state of any operation associated with this resource OR hook // note: can contain values for non-hook resources HookPhase OperationPhase `json:"hookPhase,omitempty" protobuf:"bytes,9,opt,name=hookPhase"` // indicates the particular phase of the sync that this is for SyncPhase SyncPhase `json:"syncPhase,omitempty" protobuf:"bytes,10,opt,name=syncPhase"` }
ResourceResult holds the operation result details of a specific resource
type ResourceResults ¶
type ResourceResults []*ResourceResult
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"` }
ResourceStatus holds the current sync and health status of a resource
type ResultCode ¶
type ResultCode string
const ( ResultCodeSynced ResultCode = "Synced" ResultCodeSyncFailed ResultCode = "SyncFailed" ResultCodePruned ResultCode = "Pruned" ResultCodePruneSkipped ResultCode = "PruneSkipped" )
type RevisionHistories ¶
type RevisionHistories []RevisionHistory
RevisionHistories is a array of history, oldest first and newest last
type RevisionHistory ¶
type RevisionHistory struct { Revision string `json:"revision" protobuf:"bytes,2,opt,name=revision"` DeployedAt metav1.Time `json:"deployedAt" protobuf:"bytes,4,opt,name=deployedAt"` ID int64 `json:"id" protobuf:"bytes,5,opt,name=id"` Source ApplicationSource `json:"source,omitempty" protobuf:"bytes,6,opt,name=source"` }
RevisionHistory contains information relevant to an application deployment
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"` // when the revision was authored Date metav1.Time `json:"date" protobuf:"bytes,2,opt,name=date"` // tags on the revision, // note - tags can move from one revision to another Tags []string `json:"tags,omitempty" protobuf:"bytes,3,opt,name=tags"` // the message associated with the revision, // probably the commit message, // this is truncated to the first newline or 64 characters (which ever comes first) Message string `json:"message,omitempty" protobuf:"bytes,4,opt,name=message"` }
data about a specific revision within a repo
type SyncOperation ¶
type SyncOperation struct { // Revision is the revision in 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 deletes resources that are no longer tracked in git Prune bool `json:"prune,omitempty" protobuf:"bytes,2,opt,name=prune"` // DryRun will 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 to 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 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"` }
SyncOperation contains sync operation details.
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"` }
SyncOperationResource contains resources to sync.
type SyncOperationResult ¶
type SyncOperationResult struct { // Resources holds the sync result of each individual resource Resources ResourceResults `json:"resources,omitempty" protobuf:"bytes,1,opt,name=resources"` // Revision holds the revision of the sync 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"` }
SyncOperationResult represent result of sync operation
type SyncOptions ¶
type SyncOptions []string
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 youe to specify whole app sync-options SyncOptions SyncOptions `json:"syncOptions,omitempty" protobuf:"bytes,2,opt,name=syncOptions"` }
SyncPolicy controls when a sync will be performed in response to updates in git
type SyncPolicyAutomated ¶
type SyncPolicyAutomated struct { // Prune will prune resources automatically as part of automated sync (default: false) Prune bool `json:"prune,omitempty" protobuf:"bytes,1,opt,name=prune"` // SelfHeal enables auto-syncing if (default: false) SelfHeal bool `json:"selfHeal,omitempty" protobuf:"bytes,2,opt,name=selfHeal"` }
SyncPolicyAutomated controls the behavior of an automated sync
type SyncStatus ¶
type SyncStatus struct { Status SyncStatusCode `json:"status" protobuf:"bytes,1,opt,name=status,casttype=SyncStatusCode"` ComparedTo ComparedTo `json:"comparedTo,omitempty" protobuf:"bytes,2,opt,name=comparedTo"` Revision string `json:"revision,omitempty" protobuf:"bytes,3,opt,name=revision"` }
SyncStatus is a comparison result of application spec and deployed application.
type SyncStatusCode ¶
type SyncStatusCode string
SyncStatusCode is a type which represents possible comparison results
const ( SyncStatusCodeUnknown SyncStatusCode = "Unknown" SyncStatusCodeSynced SyncStatusCode = "Synced" SyncStatusCodeOutOfSync SyncStatusCode = "OutOfSync" )
Possible comparison results
type SyncStrategy ¶
type SyncStrategy struct { // Apply wil 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
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"` }
SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps
type SyncWindows ¶
type SyncWindows []*SyncWindow
SyncWindows is a collection of sync windows in this project
type TLSClientConfig ¶
type TLSClientConfig struct { // 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