Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package +groupName=database.arangodb.com
Index ¶
- Constants
- Variables
- func ActionDefaultTimeout(a ActionType) time.Duration
- func GetAllArchFromNodeSelector(selectors []core.NodeSelectorTerm) map[ArangoDeploymentArchitectureType]bool
- func IsAlreadyExists(err error) bool
- func IsNotFound(err error) bool
- func IsReservedServerGroupContainerName(name string) bool
- func IsReservedServerGroupInitContainerName(name string) bool
- func IsRestrictedVolumeName(name string) bool
- func IsValidation(err error) bool
- func Resource(resource string) schema.GroupResource
- func ValidateServerGroupInitContainerName(name string) error
- type Action
- func (a Action) AddParam(key, value string) Action
- func (in *Action) DeepCopy() *Action
- func (in *Action) DeepCopyInto(out *Action)
- func (a Action) Equal(other Action) bool
- func (a Action) GetParam(key string) (string, bool)
- func (a Action) IsStarted() bool
- func (a Action) SetArch(arch ArangoDeploymentArchitectureType) Action
- func (a Action) SetImage(image string) Action
- type ActionBuilder
- type ActionPriority
- type ActionTimeouts
- type ActionType
- type ArangoClusterSynchronization
- func (a *ArangoClusterSynchronization) AsOwner() meta.OwnerReference
- func (in *ArangoClusterSynchronization) DeepCopy() *ArangoClusterSynchronization
- func (in *ArangoClusterSynchronization) DeepCopyInto(out *ArangoClusterSynchronization)
- func (in *ArangoClusterSynchronization) DeepCopyObject() runtime.Object
- type ArangoClusterSynchronizationDeploymentStatus
- type ArangoClusterSynchronizationKubeConfigSpec
- type ArangoClusterSynchronizationList
- type ArangoClusterSynchronizationSpec
- type ArangoClusterSynchronizationStatus
- type ArangoDeployment
- func (d *ArangoDeployment) AsOwner() meta.OwnerReference
- func (in *ArangoDeployment) DeepCopy() *ArangoDeployment
- func (in *ArangoDeployment) DeepCopyInto(out *ArangoDeployment)
- func (in *ArangoDeployment) DeepCopyObject() runtime.Object
- func (d *ArangoDeployment) ForeachServerGroup(cb ServerGroupFunc, status *DeploymentStatus) error
- func (d *ArangoDeployment) ForeachServerGroupAccepted(cb ServerGroupFunc, status *DeploymentStatus) error
- func (d ArangoDeployment) GetAcceptedSpec() DeploymentSpec
- func (d ArangoDeployment) IsAccepted() (bool, error)
- func (d ArangoDeployment) IsUpToDate() (bool, error)
- func (d *ArangoDeployment) OwnerOf(in meta.Object) bool
- type ArangoDeploymentArchitecture
- func (a ArangoDeploymentArchitecture) AsNodeSelectorRequirement() core.NodeSelectorTerm
- func (in ArangoDeploymentArchitecture) DeepCopy() ArangoDeploymentArchitecture
- func (in ArangoDeploymentArchitecture) DeepCopyInto(out *ArangoDeploymentArchitecture)
- func (a ArangoDeploymentArchitecture) GetDefault() ArangoDeploymentArchitectureType
- func (a ArangoDeploymentArchitecture) IsArchAllowed(arch ArangoDeploymentArchitectureType) bool
- func (a ArangoDeploymentArchitecture) Validate() error
- type ArangoDeploymentArchitectureType
- func (a ArangoDeploymentArchitectureType) AsNodeSelectorRequirement() core.NodeSelectorTerm
- func (a *ArangoDeploymentArchitectureType) Default(def ArangoDeploymentArchitectureType) ArangoDeploymentArchitectureType
- func (a *ArangoDeploymentArchitectureType) Equal(other *ArangoDeploymentArchitectureType) bool
- func (a ArangoDeploymentArchitectureType) IsArchMismatch(deploymentArch ArangoDeploymentArchitecture, ...) bool
- func (a ArangoDeploymentArchitectureType) String() string
- func (a ArangoDeploymentArchitectureType) Validate() error
- type ArangoDeploymentList
- type ArangoDeploymentRebalancerOptimizersSpec
- type ArangoDeploymentRebalancerReadersSpec
- type ArangoDeploymentRebalancerSpec
- type ArangoDeploymentRebalancerStatus
- type ArangoDeploymentRecoverySpec
- func (in *ArangoDeploymentRecoverySpec) DeepCopy() *ArangoDeploymentRecoverySpec
- func (in *ArangoDeploymentRecoverySpec) DeepCopyInto(out *ArangoDeploymentRecoverySpec)
- func (a *ArangoDeploymentRecoverySpec) Get() ArangoDeploymentRecoverySpec
- func (a ArangoDeploymentRecoverySpec) GetAutoRecover() bool
- type ArangoMember
- type ArangoMemberList
- type ArangoMemberPodTemplate
- func (in *ArangoMemberPodTemplate) DeepCopy() *ArangoMemberPodTemplate
- func (in *ArangoMemberPodTemplate) DeepCopyInto(out *ArangoMemberPodTemplate)
- func (a *ArangoMemberPodTemplate) EqualPodSpecChecksum(checksum string) bool
- func (a *ArangoMemberPodTemplate) Equals(b *ArangoMemberPodTemplate) bool
- func (a *ArangoMemberPodTemplate) GetChecksum() string
- func (a *ArangoMemberPodTemplate) GetTemplate() *core.PodTemplateSpec
- func (a *ArangoMemberPodTemplate) GetTemplateChecksum() string
- func (a *ArangoMemberPodTemplate) RotationNeeded(b *ArangoMemberPodTemplate) bool
- func (a *ArangoMemberPodTemplate) SetChecksum(s string)
- func (a *ArangoMemberPodTemplate) SetTemplate(t *core.PodTemplateSpec)
- func (a *ArangoMemberPodTemplate) SetTemplateChecksum(s string)
- type ArangoMemberSpec
- type ArangoMemberSpecOverrides
- func (in *ArangoMemberSpecOverrides) DeepCopy() *ArangoMemberSpecOverrides
- func (in *ArangoMemberSpecOverrides) DeepCopyInto(out *ArangoMemberSpecOverrides)
- func (a *ArangoMemberSpecOverrides) GetResources(g *ServerGroupSpec) core.ResourceRequirements
- func (a *ArangoMemberSpecOverrides) GetStorageClassName(g *ServerGroupSpec) string
- func (a *ArangoMemberSpecOverrides) GetVolumeClaimTemplate(g *ServerGroupSpec) *core.PersistentVolumeClaim
- func (a *ArangoMemberSpecOverrides) HasVolumeClaimTemplate(g *ServerGroupSpec) bool
- type ArangoMemberStatus
- type ArangoTask
- type ArangoTaskDetails
- func (in ArangoTaskDetails) DeepCopy() ArangoTaskDetails
- func (in ArangoTaskDetails) DeepCopyInto(out *ArangoTaskDetails)
- func (a ArangoTaskDetails) Get(i interface{}) error
- func (a ArangoTaskDetails) MarshalJSON() ([]byte, error)
- func (a *ArangoTaskDetails) Set(i interface{}) error
- func (a *ArangoTaskDetails) UnmarshalJSON(bytes []byte) error
- type ArangoTaskList
- type ArangoTaskSpec
- type ArangoTaskState
- type ArangoTaskStatus
- type ArangoTaskType
- type AuthenticationSpec
- func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec
- func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)
- func (s AuthenticationSpec) GetJWTSecretName() string
- func (s AuthenticationSpec) IsAuthenticated() bool
- func (s AuthenticationSpec) ResetImmutableFields(fieldPrefix string, target *AuthenticationSpec) []string
- func (s *AuthenticationSpec) SetDefaults(defaultJWTSecretName string)
- func (s *AuthenticationSpec) SetDefaultsFrom(source AuthenticationSpec)
- func (s AuthenticationSpec) Validate(required bool) error
- type BackOff
- func (b BackOff) BackOff(key BackOffKey, delay time.Duration) BackOff
- func (b BackOff) Combine(a BackOff) BackOff
- func (b BackOff) CombineLatest(a BackOff) BackOff
- func (in BackOff) DeepCopy() BackOff
- func (in BackOff) DeepCopyInto(out *BackOff)
- func (b BackOff) Equal(a BackOff) bool
- func (b BackOff) MarshalJSON() ([]byte, error)
- func (b BackOff) Process(key BackOffKey) bool
- type BackOffKey
- type BootstrapSpec
- type ChaosSpec
- func (in *ChaosSpec) DeepCopy() *ChaosSpec
- func (in *ChaosSpec) DeepCopyInto(out *ChaosSpec)
- func (s ChaosSpec) GetInterval() time.Duration
- func (s ChaosSpec) GetKillPodProbability() Percent
- func (s ChaosSpec) IsEnabled() bool
- func (s *ChaosSpec) SetDefaults()
- func (s *ChaosSpec) SetDefaultsFrom(source ChaosSpec)
- func (s ChaosSpec) Validate() error
- type Condition
- type ConditionCheck
- type ConditionList
- func (list ConditionList) Check(conditionType ConditionType) ConditionCheck
- func (in ConditionList) DeepCopy() ConditionList
- func (in ConditionList) DeepCopyInto(out *ConditionList)
- func (list ConditionList) Equal(other ConditionList) bool
- func (list ConditionList) Get(conditionType ConditionType) (Condition, bool)
- func (list ConditionList) Index(conditionType ConditionType) int
- func (list ConditionList) IsTrue(conditionType ConditionType) bool
- func (list *ConditionList) Remove(conditionType ConditionType) bool
- func (list *ConditionList) Touch(conditionType ConditionType) bool
- func (list *ConditionList) Update(conditionType ConditionType, status bool, reason, message string) bool
- func (list *ConditionList) UpdateWithHash(conditionType ConditionType, status bool, reason, message, hash string) bool
- type ConditionParam
- type ConditionParams
- type ConditionType
- type DatabaseSpec
- type DeploymentCommunicationMethod
- func (d *DeploymentCommunicationMethod) Get() DeploymentCommunicationMethod
- func (d DeploymentCommunicationMethod) New() *DeploymentCommunicationMethod
- func (d *DeploymentCommunicationMethod) ServiceClusterIP() string
- func (d *DeploymentCommunicationMethod) ServiceType() core.ServiceType
- func (d DeploymentCommunicationMethod) String() string
- type DeploymentFeatures
- type DeploymentImageDiscoveryModeSpec
- type DeploymentMemberPropagationMode
- func (d *DeploymentMemberPropagationMode) Equal(b *DeploymentMemberPropagationMode) bool
- func (d *DeploymentMemberPropagationMode) Get() DeploymentMemberPropagationMode
- func (d DeploymentMemberPropagationMode) New() *DeploymentMemberPropagationMode
- func (d DeploymentMemberPropagationMode) String() string
- type DeploymentMode
- func (m *DeploymentMode) Get() DeploymentMode
- func (m DeploymentMode) HasAgents() bool
- func (m DeploymentMode) HasCoordinators() bool
- func (m DeploymentMode) HasDBServers() bool
- func (m DeploymentMode) HasSingleServers() bool
- func (m DeploymentMode) IsCluster() bool
- func (m DeploymentMode) New() *DeploymentMode
- func (m DeploymentMode) ServingGroup() ServerGroup
- func (m *DeploymentMode) String() string
- func (m DeploymentMode) SupportsSync() bool
- func (m DeploymentMode) Validate() error
- type DeploymentPhase
- type DeploymentRestoreResult
- type DeploymentRestoreState
- type DeploymentSpec
- func (s DeploymentSpec) Checksum() (string, error)
- func (in *DeploymentSpec) DeepCopy() *DeploymentSpec
- func (in *DeploymentSpec) DeepCopyInto(out *DeploymentSpec)
- func (s *DeploymentSpec) Equal(other *DeploymentSpec) bool
- func (s *DeploymentSpec) GetAllowMemberRecreation(group ServerGroup) bool
- func (s DeploymentSpec) GetAnnotations() map[string]string
- func (s DeploymentSpec) GetCoreContainers(group ServerGroup) utils.StringList
- func (s DeploymentSpec) GetEnvironment() Environment
- func (s DeploymentSpec) GetGroupPort(group ServerGroup) uint16
- func (s DeploymentSpec) GetImage() string
- func (s DeploymentSpec) GetImagePullPolicy() core.PullPolicy
- func (s DeploymentSpec) GetListenAddr() string
- func (s DeploymentSpec) GetMode() DeploymentMode
- func (s *DeploymentSpec) GetRestoreFrom() string
- func (s DeploymentSpec) GetServerGroupSpec(group ServerGroup) ServerGroupSpec
- func (s DeploymentSpec) GetStorageEngine() StorageEngine
- func (s DeploymentSpec) GetSyncImage() string
- func (s *DeploymentSpec) HasRestoreFrom() bool
- func (s DeploymentSpec) IsAuthenticated() bool
- func (s DeploymentSpec) IsDevelopment() bool
- func (s DeploymentSpec) IsDisableIPv6() bool
- func (s DeploymentSpec) IsDowntimeAllowed() bool
- func (s DeploymentSpec) IsGatewayEnabled() bool
- func (s DeploymentSpec) IsNetworkAttachedVolumes() bool
- func (s DeploymentSpec) IsProduction() bool
- func (s DeploymentSpec) IsSecure() bool
- func (s DeploymentSpec) ResetImmutableFields(target *DeploymentSpec) []string
- func (s *DeploymentSpec) SetDefaults(deploymentName string)
- func (s *DeploymentSpec) SetDefaultsFrom(source DeploymentSpec)
- func (s *DeploymentSpec) UpdateServerGroupSpec(group ServerGroup, gspec ServerGroupSpec)
- func (s *DeploymentSpec) Validate() error
- type DeploymentSpecGateway
- func (in *DeploymentSpecGateway) DeepCopy() *DeploymentSpecGateway
- func (in *DeploymentSpecGateway) DeepCopyInto(out *DeploymentSpecGateway)
- func (d *DeploymentSpecGateway) GetImage() string
- func (d *DeploymentSpecGateway) IsDynamic() bool
- func (d *DeploymentSpecGateway) IsEnabled() bool
- func (d *DeploymentSpecGateway) Validate() error
- type DeploymentSpecIntegration
- type DeploymentStatus
- func (in *DeploymentStatus) DeepCopy() *DeploymentStatus
- func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)
- func (ds *DeploymentStatus) Equal(other DeploymentStatus) bool
- func (ds DeploymentStatus) GetServerGroupStatus(group ServerGroup) ServerGroupStatus
- func (ds *DeploymentStatus) IsForceReload() bool
- func (ds *DeploymentStatus) IsPlanEmpty() bool
- func (ds *DeploymentStatus) NonInternalActions() int
- func (ds *DeploymentStatus) UpdateServerGroupStatus(group ServerGroup, gspec ServerGroupStatus)
- type DeploymentStatusAgencyIDs
- type DeploymentStatusAgencyInfo
- type DeploymentStatusAgencySize
- type DeploymentStatusHashes
- type DeploymentStatusHashesEncryption
- type DeploymentStatusHashesJWT
- type DeploymentStatusHashesTLS
- type DeploymentStatusMemberElement
- type DeploymentStatusMemberElements
- func (in DeploymentStatusMemberElements) DeepCopy() DeploymentStatusMemberElements
- func (in DeploymentStatusMemberElements) DeepCopyInto(out *DeploymentStatusMemberElements)
- func (d DeploymentStatusMemberElements) Filter(f DeploymentStatusMemberElementsCondFunc) DeploymentStatusMemberElements
- func (d DeploymentStatusMemberElements) ForEach(f func(id int))
- func (d DeploymentStatusMemberElements) Sort(less DeploymentStatusMemberElementsSortFunc) DeploymentStatusMemberElements
- type DeploymentStatusMemberElementsCondFunc
- type DeploymentStatusMemberElementsSortFunc
- type DeploymentStatusMembers
- func (ds *DeploymentStatusMembers) Add(status MemberStatus, group ServerGroup) error
- func (ds DeploymentStatusMembers) AllMembersReady(mode DeploymentMode, syncEnabled, gatewayEnabled bool) bool
- func (ds DeploymentStatusMembers) AsList() DeploymentStatusMemberElements
- func (ds DeploymentStatusMembers) AsListInGroup(group ServerGroup) DeploymentStatusMemberElements
- func (ds DeploymentStatusMembers) AsListInGroups(groups ...ServerGroup) DeploymentStatusMemberElements
- func (ds DeploymentStatusMembers) ContainsID(id string) bool
- func (in *DeploymentStatusMembers) DeepCopy() *DeploymentStatusMembers
- func (in *DeploymentStatusMembers) DeepCopyInto(out *DeploymentStatusMembers)
- func (ds DeploymentStatusMembers) ElementByID(id string) (MemberStatus, ServerGroup, bool)
- func (ds DeploymentStatusMembers) Equal(other DeploymentStatusMembers) bool
- func (ds DeploymentStatusMembers) ForServerGroup(cb MemberStatusFunc, group ServerGroup) error
- func (ds DeploymentStatusMembers) ForeachServerGroup(cb MemberStatusFunc) error
- func (ds DeploymentStatusMembers) ForeachServerInGroups(cb MemberStatusFunc, groups ...ServerGroup) error
- func (ds DeploymentStatusMembers) MemberStatusByPVCName(pvcName string) (MemberStatus, ServerGroup, bool)
- func (ds DeploymentStatusMembers) MemberStatusByPodName(podName string) (MemberStatus, ServerGroup, bool)
- func (ds DeploymentStatusMembers) MembersOfGroup(group ServerGroup) MemberStatusList
- func (ds DeploymentStatusMembers) PodNames() []string
- func (ds *DeploymentStatusMembers) RemoveByID(id string, group ServerGroup) error
- func (ds *DeploymentStatusMembers) Update(status MemberStatus, group ServerGroup) error
- type DeploymentUpgradeSpec
- type Duration
- type Environment
- type EphemeralVolume
- type EphemeralVolumes
- type ExternalAccessSpec
- func (in *ExternalAccessSpec) DeepCopy() *ExternalAccessSpec
- func (in *ExternalAccessSpec) DeepCopyInto(out *ExternalAccessSpec)
- func (s ExternalAccessSpec) GetAdvertisedEndpoint() string
- func (s ExternalAccessSpec) GetLoadBalancerIP() string
- func (s ExternalAccessSpec) GetManagedServiceNames() []string
- func (s ExternalAccessSpec) GetNodePort() int
- func (s ExternalAccessSpec) GetType() ExternalAccessType
- func (s ExternalAccessSpec) HasAdvertisedEndpoint() bool
- func (s ExternalAccessSpec) ResetImmutableFields(fieldPrefix string, target *ExternalAccessSpec) []string
- func (s *ExternalAccessSpec) SetDefaults()
- func (s *ExternalAccessSpec) SetDefaultsFrom(source ExternalAccessSpec)
- func (s ExternalAccessSpec) Validate() error
- type ExternalAccessType
- func (t ExternalAccessType) AsServiceType() core.ServiceType
- func (t ExternalAccessType) IsAuto() bool
- func (t ExternalAccessType) IsLoadBalancer() bool
- func (t ExternalAccessType) IsManaged() bool
- func (t ExternalAccessType) IsNodePort() bool
- func (t ExternalAccessType) IsNone() bool
- func (t ExternalAccessType) Validate() error
- type ImageInfo
- type ImageInfoList
- func (l ImageInfoList) Add(i ...ImageInfo) ImageInfoList
- func (l *ImageInfoList) AddOrUpdate(info ImageInfo)
- func (in ImageInfoList) DeepCopy() ImageInfoList
- func (in ImageInfoList) DeepCopyInto(out *ImageInfoList)
- func (l ImageInfoList) Equal(other ImageInfoList) bool
- func (l ImageInfoList) GetByImage(image string) (ImageInfo, bool)
- func (l ImageInfoList) GetByImageID(imageID string) (ImageInfo, bool)
- type LabelsMode
- type LicenseSpec
- type LifecycleSpec
- type List
- type MemberPersistentVolumeClaimStatus
- func (in *MemberPersistentVolumeClaimStatus) DeepCopy() *MemberPersistentVolumeClaimStatus
- func (in *MemberPersistentVolumeClaimStatus) DeepCopyInto(out *MemberPersistentVolumeClaimStatus)
- func (m *MemberPersistentVolumeClaimStatus) Equal(other *MemberPersistentVolumeClaimStatus) bool
- func (m *MemberPersistentVolumeClaimStatus) GetName() string
- func (m *MemberPersistentVolumeClaimStatus) Propagate(s *MemberStatus)
- type MemberPhase
- type MemberPodStatus
- func (in *MemberPodStatus) DeepCopy() *MemberPodStatus
- func (in *MemberPodStatus) DeepCopyInto(out *MemberPodStatus)
- func (m *MemberPodStatus) Equal(other *MemberPodStatus) bool
- func (m *MemberPodStatus) GetName() string
- func (m *MemberPodStatus) GetUID() types.UID
- func (m *MemberPodStatus) Propagate(s *MemberStatus)
- type MemberStatus
- func (s MemberStatus) Age() time.Duration
- func (s MemberStatus) ArangoMemberName(deploymentName string, group ServerGroup) string
- func (in *MemberStatus) DeepCopy() *MemberStatus
- func (in *MemberStatus) DeepCopyInto(out *MemberStatus)
- func (s MemberStatus) Equal(other MemberStatus) bool
- func (s *MemberStatus) GetEndpoint(defaultEndpoint string) string
- func (s MemberStatus) IsNotReadySince(timestamp time.Time) bool
- func (s MemberStatus) RecentTerminationsSince(timestamp time.Time) int
- func (s *MemberStatus) RemoveTerminationsBefore(timestamp time.Time) int
- type MemberStatusFunc
- type MemberStatusList
- func (l MemberStatusList) AllConditionTrueSince(cond ConditionType, status core.ConditionStatus, period time.Duration) bool
- func (l MemberStatusList) AllFailed() bool
- func (l MemberStatusList) AllMembersReady() bool
- func (l MemberStatusList) AllMembersServing() bool
- func (l MemberStatusList) ContainsID(id string) bool
- func (in MemberStatusList) DeepCopy() MemberStatusList
- func (in MemberStatusList) DeepCopyInto(out *MemberStatusList)
- func (l MemberStatusList) ElementByID(id string) (MemberStatus, bool)
- func (l MemberStatusList) ElementByPVCName(pvcName string) (MemberStatus, bool)
- func (l MemberStatusList) ElementByPodName(podName string) (MemberStatus, bool)
- func (l MemberStatusList) Equal(other MemberStatusList) bool
- func (l MemberStatusList) MembersReady() int
- func (l MemberStatusList) MembersServing() int
- func (l MemberStatusList) SelectMemberToRemove(selectors ...MemberToRemoveSelector) (MemberStatus, error)
- type MemberToRemoveSelector
- type MetricsAuthenticationSpec
- type MetricsMode
- type MetricsServiceMonitorSpec
- type MetricsSpec
- func (in *MetricsSpec) DeepCopy() *MetricsSpec
- func (in *MetricsSpec) DeepCopyInto(out *MetricsSpec)
- func (s *MetricsSpec) GetExtensions() *MetricsSpecExtensions
- func (s *MetricsSpec) GetImage() string
- func (s *MetricsSpec) GetJWTTokenSecretName() string
- func (s *MetricsSpec) GetPort() uint16
- func (s *MetricsSpec) HasImage() bool
- func (s *MetricsSpec) HasJWTTokenSecretName() bool
- func (s *MetricsSpec) IsEnabled() bool
- func (s *MetricsSpec) IsTLS() bool
- func (s MetricsSpec) ResetImmutableFields(fieldPrefix string, target *MetricsSpec) []string
- func (s *MetricsSpec) SetDefaults(defaultTokenName string, isAuthenticated bool)
- func (s *MetricsSpec) SetDefaultsFrom(source MetricsSpec)
- func (s *MetricsSpec) Validate() error
- type MetricsSpecExtensions
- type MonitoringSpec
- func (in *MonitoringSpec) DeepCopy() *MonitoringSpec
- func (in *MonitoringSpec) DeepCopyInto(out *MonitoringSpec)
- func (s MonitoringSpec) GetTokenSecretName() string
- func (s *MonitoringSpec) SetDefaults(defaultTokenSecretName string)
- func (s *MonitoringSpec) SetDefaultsFrom(source MonitoringSpec)
- func (s MonitoringSpec) Validate() error
- type PVCResizeMode
- type PasswordSecretName
- type PasswordSecretNameList
- type Percent
- type Plan
- func (p Plan) After(action ...Action) Plan
- func (p Plan) AfterFirst(condition func(a Action) bool, actions ...Action) Plan
- func (p Plan) Before(action ...Action) Plan
- func (in Plan) DeepCopy() Plan
- func (in Plan) DeepCopyInto(out *Plan)
- func (p Plan) Equal(other Plan) bool
- func (p Plan) Filter(condition func(a Action) bool) Plan
- func (p Plan) IsEmpty() bool
- func (p Plan) NonInternalActions() int
- func (p Plan) Wrap(before, after Action) Plan
- func (p Plan) WrapWithPlan(before, after Plan) Plan
- type PlanLocalKey
- type PlanLocals
- func (p *PlanLocals) Add(key PlanLocalKey, value string, override bool) bool
- func (in PlanLocals) DeepCopy() PlanLocals
- func (in PlanLocals) DeepCopyInto(out *PlanLocals)
- func (p PlanLocals) Equal(other PlanLocals) bool
- func (p PlanLocals) Get(key PlanLocalKey) (string, bool)
- func (p PlanLocals) GetWithParent(parent PlanLocals, key PlanLocalKey) (string, bool)
- func (p *PlanLocals) Merge(merger PlanLocals) (changed bool)
- func (p *PlanLocals) Remove(key PlanLocalKey) bool
- type ProbeType
- type RocksDBEncryptionSpec
- type RocksDBSpec
- func (in *RocksDBSpec) DeepCopy() *RocksDBSpec
- func (in *RocksDBSpec) DeepCopyInto(out *RocksDBSpec)
- func (s RocksDBSpec) IsEncrypted() bool
- func (s RocksDBSpec) ResetImmutableFields(fieldPrefix string, target *RocksDBSpec) []string
- func (s *RocksDBSpec) SetDefaults()
- func (s *RocksDBSpec) SetDefaultsFrom(source RocksDBSpec)
- func (s RocksDBSpec) Validate() error
- type SecretHashes
- type ServerGroup
- func (g ServerGroup) AsRole() string
- func (g ServerGroup) AsRoleAbbreviated() string
- func (g ServerGroup) DefaultTerminationGracePeriod() time.Duration
- func (g ServerGroup) Enabled(mode DeploymentMode) bool
- func (g ServerGroup) IsArangod() bool
- func (g ServerGroup) IsArangosync() bool
- func (g ServerGroup) IsExportMetrics() bool
- func (g ServerGroup) IsGateway() bool
- func (g ServerGroup) IsStateless() bool
- func (g ServerGroup) MarshalJSON() ([]byte, error)
- func (g *ServerGroup) OpenAPISchemaType() []string
- func (g ServerGroup) Type() ServerGroupType
- func (g *ServerGroup) UnmarshalJSON(bytes []byte) error
- type ServerGroupEnvVar
- type ServerGroupEnvVars
- type ServerGroupFunc
- type ServerGroupIndexMethod
- type ServerGroupInitContainerMode
- type ServerGroupInitContainers
- func (in *ServerGroupInitContainers) DeepCopy() *ServerGroupInitContainers
- func (in *ServerGroupInitContainers) DeepCopyInto(out *ServerGroupInitContainers)
- func (s *ServerGroupInitContainers) GetContainers() []core.Container
- func (s *ServerGroupInitContainers) GetMode() *ServerGroupInitContainerMode
- func (s *ServerGroupInitContainers) Validate() error
- type ServerGroupNetworkMode
- type ServerGroupPIDMode
- type ServerGroupPortProtocol
- type ServerGroupProbeSpec
- func (in *ServerGroupProbeSpec) DeepCopy() *ServerGroupProbeSpec
- func (in *ServerGroupProbeSpec) DeepCopyInto(out *ServerGroupProbeSpec)
- func (s *ServerGroupProbeSpec) GetFailureThreshold(d int32) int32
- func (s *ServerGroupProbeSpec) GetInitialDelaySeconds(d int32) int32
- func (s *ServerGroupProbeSpec) GetPeriodSeconds(d int32) int32
- func (s *ServerGroupProbeSpec) GetSuccessThreshold(d int32) int32
- func (s *ServerGroupProbeSpec) GetTimeoutSeconds(d int32) int32
- type ServerGroupProbesSpec
- type ServerGroupShutdownMethod
- type ServerGroupSpec
- func (s *ServerGroupSpec) CalculateMemoryReservation(memory int64) int64
- func (in *ServerGroupSpec) DeepCopy() *ServerGroupSpec
- func (in *ServerGroupSpec) DeepCopyInto(out *ServerGroupSpec)
- func (s *ServerGroupSpec) Get() ServerGroupSpec
- func (s *ServerGroupSpec) GetAnnotations() map[string]string
- func (s *ServerGroupSpec) GetArgs() []string
- func (s *ServerGroupSpec) GetCount() int
- func (s *ServerGroupSpec) GetEntrypoint(defaultEntrypoint string) string
- func (s *ServerGroupSpec) GetExporterPort() uint16
- func (s *ServerGroupSpec) GetExternalPortEnabled() bool
- func (s *ServerGroupSpec) GetMaxCount() int
- func (s *ServerGroupSpec) GetMemoryReservation() int64
- func (s *ServerGroupSpec) GetMinCount() int
- func (s *ServerGroupSpec) GetNodeSelector() map[string]string
- func (s *ServerGroupSpec) GetNumactl() *ServerGroupSpecNumactl
- func (s *ServerGroupSpec) GetOverrideDetectedNumberOfCores() bool
- func (s *ServerGroupSpec) GetOverrideDetectedTotalMemory() bool
- func (s *ServerGroupSpec) GetPort() uint16
- func (s *ServerGroupSpec) GetProbesSpec() ServerGroupProbesSpec
- func (s *ServerGroupSpec) GetServiceAccountName() string
- func (s *ServerGroupSpec) GetShutdownDelay(group ServerGroup) int
- func (s *ServerGroupSpec) GetSidecars() []core.Container
- func (s *ServerGroupSpec) GetStorageClassName() string
- func (s *ServerGroupSpec) GetTerminationGracePeriod(group ServerGroup) time.Duration
- func (s *ServerGroupSpec) GetTolerations() []core.Toleration
- func (s *ServerGroupSpec) GetVolumeAllowShrink() booldeprecated
- func (s *ServerGroupSpec) GetVolumeClaimTemplate() *core.PersistentVolumeClaim
- func (s *ServerGroupSpec) Group() ServerGroup
- func (s *ServerGroupSpec) HasProbesSpec() bool
- func (s *ServerGroupSpec) HasVolumeClaimTemplate() bool
- func (s ServerGroupSpec) New() *ServerGroupSpec
- func (s *ServerGroupSpec) ResetImmutableFields(group ServerGroup, fieldPrefix string, target *ServerGroupSpec) []string
- func (s *ServerGroupSpec) SetDefaults(group ServerGroup, used bool, mode DeploymentMode)
- func (s *ServerGroupSpec) SetDefaultsFrom(source ServerGroupSpec)
- func (s *ServerGroupSpec) Validate(group ServerGroup, used bool, mode DeploymentMode, env Environment) error
- func (s *ServerGroupSpec) WithDefaults(group ServerGroup, used bool, mode DeploymentMode) *ServerGroupSpec
- func (s *ServerGroupSpec) WithGroup(group ServerGroup) ServerGroupSpec
- type ServerGroupSpecNumactl
- type ServerGroupSpecPodMode
- func (s *ServerGroupSpecPodMode) Apply(p *core.PodSpec)
- func (in *ServerGroupSpecPodMode) DeepCopy() *ServerGroupSpecPodMode
- func (in *ServerGroupSpecPodMode) DeepCopyInto(out *ServerGroupSpecPodMode)
- func (s *ServerGroupSpecPodMode) GetNetwork() *ServerGroupNetworkMode
- func (s *ServerGroupSpecPodMode) GetPID() *ServerGroupPIDMode
- func (s *ServerGroupSpecPodMode) Validate() error
- type ServerGroupSpecSecurityContext
- func (in *ServerGroupSpecSecurityContext) DeepCopy() *ServerGroupSpecSecurityContext
- func (in *ServerGroupSpecSecurityContext) DeepCopyInto(out *ServerGroupSpecSecurityContext)
- func (s *ServerGroupSpecSecurityContext) GetAddCapabilities() []core.Capability
- func (s *ServerGroupSpecSecurityContext) GetDropAllCapabilities() booldeprecated
- func (s *ServerGroupSpecSecurityContext) NewPodSecurityContext(secured bool) *core.PodSecurityContext
- func (s *ServerGroupSpecSecurityContext) NewSecurityContext(secured ...bool) *core.SecurityContext
- type ServerGroupSpecVolume
- func (in *ServerGroupSpecVolume) DeepCopy() *ServerGroupSpecVolume
- func (in *ServerGroupSpecVolume) DeepCopyInto(out *ServerGroupSpecVolume)
- func (s ServerGroupSpecVolume) RenderVolume(depl meta.Object, group ServerGroup, member MemberStatus) core.Volume
- func (s *ServerGroupSpecVolume) Validate() error
- func (s ServerGroupSpecVolume) Volume() core.Volume
- type ServerGroupSpecVolumeConfigMap
- type ServerGroupSpecVolumeEmptyDir
- type ServerGroupSpecVolumeHostPath
- type ServerGroupSpecVolumeMount
- type ServerGroupSpecVolumeMounts
- type ServerGroupSpecVolumePersistentVolumeClaim
- type ServerGroupSpecVolumeSecret
- type ServerGroupSpecVolumes
- func (in ServerGroupSpecVolumes) DeepCopy() ServerGroupSpecVolumes
- func (in ServerGroupSpecVolumes) DeepCopyInto(out *ServerGroupSpecVolumes)
- func (s ServerGroupSpecVolumes) RenderVolumes(depl meta.Object, group ServerGroup, member MemberStatus) []core.Volume
- func (s ServerGroupSpecVolumes) Validate() error
- func (s ServerGroupSpecVolumes) Volumes() []core.Volume
- type ServerGroupStatus
- type ServerGroupType
- type ServerGroups
- type ServerIDGroupSpec
- func (in *ServerIDGroupSpec) DeepCopy() *ServerIDGroupSpec
- func (in *ServerIDGroupSpec) DeepCopyInto(out *ServerIDGroupSpec)
- func (s *ServerIDGroupSpec) Get() ServerIDGroupSpec
- func (s *ServerIDGroupSpec) GetEntrypoint(defaultEntrypoint string) string
- func (s *ServerIDGroupSpec) GetResources() core.ResourceRequirements
- func (s *ServerIDGroupSpec) GetServiceAccountName() string
- type StorageEngine
- type SyncAuthenticationSpec
- func (in *SyncAuthenticationSpec) DeepCopy() *SyncAuthenticationSpec
- func (in *SyncAuthenticationSpec) DeepCopyInto(out *SyncAuthenticationSpec)
- func (s SyncAuthenticationSpec) GetClientCASecretName() string
- func (s SyncAuthenticationSpec) GetJWTSecretName() string
- func (s SyncAuthenticationSpec) ResetImmutableFields(fieldPrefix string, target *SyncAuthenticationSpec) []string
- func (s *SyncAuthenticationSpec) SetDefaults(defaultJWTSecretName, defaultClientCASecretName string)
- func (s *SyncAuthenticationSpec) SetDefaultsFrom(source SyncAuthenticationSpec)
- func (s SyncAuthenticationSpec) Validate() error
- type SyncExternalAccessSpec
- func (in *SyncExternalAccessSpec) DeepCopy() *SyncExternalAccessSpec
- func (in *SyncExternalAccessSpec) DeepCopyInto(out *SyncExternalAccessSpec)
- func (s SyncExternalAccessSpec) GetAccessPackageSecretNames() []string
- func (s SyncExternalAccessSpec) GetMasterEndpoint() []string
- func (s SyncExternalAccessSpec) ResetImmutableFields(fieldPrefix string, target *SyncExternalAccessSpec) []string
- func (s SyncExternalAccessSpec) ResolveMasterEndpoint(syncServiceHostName string, syncServicePort int) []string
- func (s *SyncExternalAccessSpec) SetDefaults()
- func (s *SyncExternalAccessSpec) SetDefaultsFrom(source SyncExternalAccessSpec)
- func (s SyncExternalAccessSpec) Validate() error
- type SyncSpec
- func (in *SyncSpec) DeepCopy() *SyncSpec
- func (in *SyncSpec) DeepCopyInto(out *SyncSpec)
- func (s SyncSpec) GetSyncImage() string
- func (s SyncSpec) HasSyncImage() bool
- func (s SyncSpec) IsEnabled() bool
- func (s SyncSpec) ResetImmutableFields(fieldPrefix string, target *SyncSpec) []string
- func (s *SyncSpec) SetDefaults(...)
- func (s *SyncSpec) SetDefaultsFrom(source SyncSpec)
- func (s SyncSpec) Validate(mode DeploymentMode) error
- type TLSRotateMode
- type TLSSNISpec
- type TLSSpec
- func (in *TLSSpec) DeepCopy() *TLSSpec
- func (in *TLSSpec) DeepCopyInto(out *TLSSpec)
- func (s TLSSpec) GetAltNames() []string
- func (s TLSSpec) GetCASecretName() string
- func (s TLSSpec) GetParsedAltNames() (dnsNames, ipAddresses, emailAddresses []string, err error)
- func (a TLSSpec) GetSNI() TLSSNISpec
- func (s TLSSpec) GetTTL() Duration
- func (s TLSSpec) IsSecure() bool
- func (s *TLSSpec) SetDefaults(defaultCASecretName string)
- func (s *TLSSpec) SetDefaultsFrom(source TLSSpec)
- func (s TLSSpec) Validate() error
- type Timeout
- type Timeouts
- type TopologyMemberStatus
- type TopologySpec
- type TopologyStatus
- func (in *TopologyStatus) DeepCopy() *TopologyStatus
- func (in *TopologyStatus) DeepCopyInto(out *TopologyStatus)
- func (t *TopologyStatus) Enabled() bool
- func (t *TopologyStatus) Equal(b *TopologyStatus) bool
- func (t *TopologyStatus) GetID() types.UID
- func (t *TopologyStatus) GetLeastUsedZone(group ServerGroup) int
- func (t *TopologyStatus) GetLeastUsedZoneWithFilter(group ServerGroup, filters ...TopologyZoneFilter) int
- func (t *TopologyStatus) IsTopologyEvenlyDistributed(group ServerGroup) bool
- func (t *TopologyStatus) IsTopologyOwned(m *TopologyMemberStatus) bool
- func (t *TopologyStatus) RegisterTopologyLabel(zone int, label string) bool
- func (t *TopologyStatus) RemoveMember(group ServerGroup, id string) bool
- type TopologyStatusZone
- func (t *TopologyStatusZone) AddMember(group ServerGroup, id string)
- func (in *TopologyStatusZone) DeepCopy() *TopologyStatusZone
- func (in *TopologyStatusZone) DeepCopyInto(out *TopologyStatusZone)
- func (t *TopologyStatusZone) Equal(b *TopologyStatusZone) bool
- func (t *TopologyStatusZone) Get(group ServerGroup) List
- func (t *TopologyStatusZone) RemoveMember(group ServerGroup, id string) bool
- type TopologyStatusZoneMembers
- type TopologyStatusZones
- type TopologyZoneFilter
- type Version
Constants ¶
const ( // ActionsDefaultTimeout define default timeout ActionsDefaultTimeout time.Duration = 600 * time.Second // 10m0s // ActionAddMemberDefaultTimeout define default timeout for action ActionAddMember ActionAddMemberDefaultTimeout time.Duration = 600 * time.Second // 10m0s // ActionAppendTLSCACertificateDefaultTimeout define default timeout for action ActionAppendTLSCACertificate ActionAppendTLSCACertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionArangoMemberUpdatePodSpecDefaultTimeout define default timeout for action ActionArangoMemberUpdatePodSpec ActionArangoMemberUpdatePodSpecDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionArangoMemberUpdatePodStatusDefaultTimeout define default timeout for action ActionArangoMemberUpdatePodStatus ActionArangoMemberUpdatePodStatusDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionBackupRestoreDefaultTimeout define default timeout for action ActionBackupRestore ActionBackupRestoreDefaultTimeout time.Duration = 900 * time.Second // 15m0s // ActionBackupRestoreCleanDefaultTimeout define default timeout for action ActionBackupRestoreClean ActionBackupRestoreCleanDefaultTimeout time.Duration = 900 * time.Second // 15m0s // ActionBootstrapSetPasswordDefaultTimeout define default timeout for action ActionBootstrapSetPassword ActionBootstrapSetPasswordDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionBootstrapUpdateDefaultTimeout define default timeout for action ActionBootstrapUpdate ActionBootstrapUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionCleanMemberServiceDefaultTimeout define default timeout for action ActionCleanMemberService ActionCleanMemberServiceDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionCleanOutMemberDefaultTimeout define default timeout for action ActionCleanOutMember ActionCleanOutMemberDefaultTimeout time.Duration = 172800 * time.Second // 48h0m0s // ActionCleanTLSCACertificateDefaultTimeout define default timeout for action ActionCleanTLSCACertificate ActionCleanTLSCACertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionCleanTLSKeyfileCertificateDefaultTimeout define default timeout for action ActionCleanTLSKeyfileCertificate ActionCleanTLSKeyfileCertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionClusterMemberCleanupDefaultTimeout define default timeout for action ActionClusterMemberCleanup ActionClusterMemberCleanupDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionDisableClusterScalingDefaultTimeout define default timeout for action ActionDisableClusterScaling ActionDisableClusterScalingDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionDisableMaintenanceDefaultTimeout define default timeout for action ActionDisableMaintenance ActionDisableMaintenanceDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionDisableMemberMaintenanceDefaultTimeout define default timeout for action ActionDisableMemberMaintenance ActionDisableMemberMaintenanceDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionEnableClusterScalingDefaultTimeout define default timeout for action ActionEnableClusterScaling ActionEnableClusterScalingDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionEnableMaintenanceDefaultTimeout define default timeout for action ActionEnableMaintenance ActionEnableMaintenanceDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionEnableMemberMaintenanceDefaultTimeout define default timeout for action ActionEnableMemberMaintenance ActionEnableMemberMaintenanceDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionEncryptionKeyAddDefaultTimeout define default timeout for action ActionEncryptionKeyAdd ActionEncryptionKeyAddDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionEncryptionKeyPropagatedDefaultTimeout define default timeout for action ActionEncryptionKeyPropagated ActionEncryptionKeyPropagatedDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionEncryptionKeyRefreshDefaultTimeout define default timeout for action ActionEncryptionKeyRefresh ActionEncryptionKeyRefreshDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionEncryptionKeyRemoveDefaultTimeout define default timeout for action ActionEncryptionKeyRemove ActionEncryptionKeyRemoveDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionEncryptionKeyStatusUpdateDefaultTimeout define default timeout for action ActionEncryptionKeyStatusUpdate ActionEncryptionKeyStatusUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionEnforceResignLeadershipDefaultTimeout define default timeout for action ActionEnforceResignLeadership ActionEnforceResignLeadershipDefaultTimeout time.Duration = 2700 * time.Second // 45m0s // ActionIdleDefaultTimeout define default timeout for action ActionIdle ActionIdleDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionJWTAddDefaultTimeout define default timeout for action ActionJWTAdd ActionJWTAddDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionJWTCleanDefaultTimeout define default timeout for action ActionJWTClean ActionJWTCleanDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionJWTPropagatedDefaultTimeout define default timeout for action ActionJWTPropagated ActionJWTPropagatedDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionJWTRefreshDefaultTimeout define default timeout for action ActionJWTRefresh ActionJWTRefreshDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionJWTSetActiveDefaultTimeout define default timeout for action ActionJWTSetActive ActionJWTSetActiveDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionJWTStatusUpdateDefaultTimeout define default timeout for action ActionJWTStatusUpdate ActionJWTStatusUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionKillMemberPodDefaultTimeout define default timeout for action ActionKillMemberPod ActionKillMemberPodDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionLicenseSetDefaultTimeout define default timeout for action ActionLicenseSet ActionLicenseSetDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionMarkToRemoveMemberDefaultTimeout define default timeout for action ActionMarkToRemoveMember ActionMarkToRemoveMemberDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionMemberPhaseUpdateDefaultTimeout define default timeout for action ActionMemberPhaseUpdate ActionMemberPhaseUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionMemberRIDUpdateDefaultTimeout define default timeout for action ActionMemberRIDUpdate ActionMemberRIDUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionMemberStatusSyncDefaultTimeout define default timeout for action ActionMemberStatusSync ActionMemberStatusSyncDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionPVCResizeDefaultTimeout define default timeout for action ActionPVCResize ActionPVCResizeDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionPVCResizedDefaultTimeout define default timeout for action ActionPVCResized ActionPVCResizedDefaultTimeout time.Duration = 900 * time.Second // 15m0s // ActionPlaceHolderDefaultTimeout define default timeout for action ActionPlaceHolder ActionPlaceHolderDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionRebalancerCheckDefaultTimeout define default timeout for action ActionRebalancerCheck ActionRebalancerCheckDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionRebalancerCheckV2DefaultTimeout define default timeout for action ActionRebalancerCheckV2 ActionRebalancerCheckV2DefaultTimeout time.Duration = ActionsDefaultTimeout // ActionRebalancerCleanDefaultTimeout define default timeout for action ActionRebalancerClean ActionRebalancerCleanDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionRebalancerCleanV2DefaultTimeout define default timeout for action ActionRebalancerCleanV2 ActionRebalancerCleanV2DefaultTimeout time.Duration = ActionsDefaultTimeout // ActionRebalancerGenerateDefaultTimeout define default timeout for action ActionRebalancerGenerate ActionRebalancerGenerateDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionRebalancerGenerateV2DefaultTimeout define default timeout for action ActionRebalancerGenerateV2 ActionRebalancerGenerateV2DefaultTimeout time.Duration = ActionsDefaultTimeout // ActionRebuildOutSyncedShardsDefaultTimeout define default timeout for action ActionRebuildOutSyncedShards ActionRebuildOutSyncedShardsDefaultTimeout time.Duration = 86400 * time.Second // 24h0m0s // ActionRecreateMemberDefaultTimeout define default timeout for action ActionRecreateMember ActionRecreateMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s // ActionRefreshTLSCADefaultTimeout define default timeout for action ActionRefreshTLSCA ActionRefreshTLSCADefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionRefreshTLSKeyfileCertificateDefaultTimeout define default timeout for action ActionRefreshTLSKeyfileCertificate ActionRefreshTLSKeyfileCertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionRemoveMemberDefaultTimeout define default timeout for action ActionRemoveMember ActionRemoveMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s // ActionRemoveMemberPVCDefaultTimeout define default timeout for action ActionRemoveMemberPVC ActionRemoveMemberPVCDefaultTimeout time.Duration = 900 * time.Second // 15m0s // ActionRenewTLSCACertificateDefaultTimeout define default timeout for action ActionRenewTLSCACertificate ActionRenewTLSCACertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionRenewTLSCertificateDefaultTimeout define default timeout for action ActionRenewTLSCertificate ActionRenewTLSCertificateDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionResignLeadershipDefaultTimeout define default timeout for action ActionResignLeadership ActionResignLeadershipDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionResourceSyncDefaultTimeout define default timeout for action ActionResourceSync ActionResourceSyncDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionRotateMemberDefaultTimeout define default timeout for action ActionRotateMember ActionRotateMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s // ActionRotateStartMemberDefaultTimeout define default timeout for action ActionRotateStartMember ActionRotateStartMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s // ActionRotateStopMemberDefaultTimeout define default timeout for action ActionRotateStopMember ActionRotateStopMemberDefaultTimeout time.Duration = 900 * time.Second // 15m0s // ActionRuntimeContainerArgsLogLevelUpdateDefaultTimeout define default timeout for action ActionRuntimeContainerArgsLogLevelUpdate ActionRuntimeContainerArgsLogLevelUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionRuntimeContainerImageUpdateDefaultTimeout define default timeout for action ActionRuntimeContainerImageUpdate ActionRuntimeContainerImageUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionRuntimeContainerSyncTolerationsDefaultTimeout define default timeout for action ActionRuntimeContainerSyncTolerations ActionRuntimeContainerSyncTolerationsDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionSetConditionDefaultTimeout define default timeout for action ActionSetCondition ActionSetConditionDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionSetConditionV2DefaultTimeout define default timeout for action ActionSetConditionV2 ActionSetConditionV2DefaultTimeout time.Duration = ActionsDefaultTimeout // ActionSetCurrentImageDefaultTimeout define default timeout for action ActionSetCurrentImage ActionSetCurrentImageDefaultTimeout time.Duration = 21600 * time.Second // 6h0m0s // ActionSetCurrentMemberArchDefaultTimeout define default timeout for action ActionSetCurrentMemberArch ActionSetCurrentMemberArchDefaultTimeout time.Duration = 600 * time.Second // 10m0s // ActionSetMaintenanceConditionDefaultTimeout define default timeout for action ActionSetMaintenanceCondition ActionSetMaintenanceConditionDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionSetMemberConditionDefaultTimeout define default timeout for action ActionSetMemberCondition ActionSetMemberConditionDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionSetMemberConditionV2DefaultTimeout define default timeout for action ActionSetMemberConditionV2 ActionSetMemberConditionV2DefaultTimeout time.Duration = ActionsDefaultTimeout // ActionSetMemberCurrentImageDefaultTimeout define default timeout for action ActionSetMemberCurrentImage ActionSetMemberCurrentImageDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionShutdownMemberDefaultTimeout define default timeout for action ActionShutdownMember ActionShutdownMemberDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionTLSKeyStatusUpdateDefaultTimeout define default timeout for action ActionTLSKeyStatusUpdate ActionTLSKeyStatusUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionTLSPropagatedDefaultTimeout define default timeout for action ActionTLSPropagated ActionTLSPropagatedDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionTimezoneSecretSetDefaultTimeout define default timeout for action ActionTimezoneSecretSet ActionTimezoneSecretSetDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionTopologyDisableDefaultTimeout define default timeout for action ActionTopologyDisable ActionTopologyDisableDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionTopologyEnableDefaultTimeout define default timeout for action ActionTopologyEnable ActionTopologyEnableDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionTopologyMemberAssignmentDefaultTimeout define default timeout for action ActionTopologyMemberAssignment ActionTopologyMemberAssignmentDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionTopologyZonesUpdateDefaultTimeout define default timeout for action ActionTopologyZonesUpdate ActionTopologyZonesUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionUpToDateUpdateDefaultTimeout define default timeout for action ActionUpToDateUpdate ActionUpToDateUpdateDefaultTimeout time.Duration = ActionsDefaultTimeout // ActionUpdateTLSSNIDefaultTimeout define default timeout for action ActionUpdateTLSSNI ActionUpdateTLSSNIDefaultTimeout time.Duration = 600 * time.Second // 10m0s // ActionUpgradeMemberDefaultTimeout define default timeout for action ActionUpgradeMember ActionUpgradeMemberDefaultTimeout time.Duration = 21600 * time.Second // 6h0m0s // ActionWaitForMemberInSyncDefaultTimeout define default timeout for action ActionWaitForMemberInSync ActionWaitForMemberInSyncDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionWaitForMemberReadyDefaultTimeout define default timeout for action ActionWaitForMemberReady ActionWaitForMemberReadyDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionWaitForMemberUpDefaultTimeout define default timeout for action ActionWaitForMemberUp ActionWaitForMemberUpDefaultTimeout time.Duration = 1800 * time.Second // 30m0s // ActionTypeAddMember in scopes Normal. Adds new member to the Member list ActionTypeAddMember ActionType = "AddMember" // ActionTypeAppendTLSCACertificate in scopes Normal. Append Certificate into CA TrustStore ActionTypeAppendTLSCACertificate ActionType = "AppendTLSCACertificate" // ActionTypeArangoMemberUpdatePodSpec in scopes High. Propagate Member Pod spec (requested) ActionTypeArangoMemberUpdatePodSpec ActionType = "ArangoMemberUpdatePodSpec" // ActionTypeArangoMemberUpdatePodStatus in scopes High. Propagate Member Pod status (current) ActionTypeArangoMemberUpdatePodStatus ActionType = "ArangoMemberUpdatePodStatus" // ActionTypeBackupRestore in scopes Normal. Restore selected Backup ActionTypeBackupRestore ActionType = "BackupRestore" // ActionTypeBackupRestoreClean in scopes Normal. Clean restore status in case of restore spec change ActionTypeBackupRestoreClean ActionType = "BackupRestoreClean" // ActionTypeBootstrapSetPassword in scopes Normal. Change password during bootstrap procedure ActionTypeBootstrapSetPassword ActionType = "BootstrapSetPassword" // ActionTypeBootstrapUpdate in scopes Normal. Update bootstrap status ActionTypeBootstrapUpdate ActionType = "BootstrapUpdate" // ActionTypeCleanMemberService in scopes Normal. Removes Server Service ActionTypeCleanMemberService ActionType = "CleanMemberService" // ActionTypeCleanOutMember in scopes Normal. Run the CleanOut job on member ActionTypeCleanOutMember ActionType = "CleanOutMember" // ActionTypeCleanTLSCACertificate in scopes Normal. Remove Certificate from CA TrustStore ActionTypeCleanTLSCACertificate ActionType = "CleanTLSCACertificate" // ActionTypeCleanTLSKeyfileCertificate in scopes Normal. Remove old TLS certificate from server ActionTypeCleanTLSKeyfileCertificate ActionType = "CleanTLSKeyfileCertificate" // ActionTypeClusterMemberCleanup in scopes Normal. Remove member from Cluster if it is gone already (Coordinators) ActionTypeClusterMemberCleanup ActionType = "ClusterMemberCleanup" // ActionTypeDisableClusterScaling in scopes Normal. Disable Cluster Scaling integration // // Deprecated: action is not used anymore ActionTypeDisableClusterScaling ActionType = "DisableClusterScaling" // ActionTypeDisableMaintenance in scopes Normal. Disable ArangoDB maintenance mode ActionTypeDisableMaintenance ActionType = "DisableMaintenance" // ActionTypeDisableMemberMaintenance in scopes Normal. Disable ArangoDB DBServer maintenance mode ActionTypeDisableMemberMaintenance ActionType = "DisableMemberMaintenance" // ActionTypeEnableClusterScaling in scopes Normal. Enable Cluster Scaling integration // // Deprecated: action is not used anymore ActionTypeEnableClusterScaling ActionType = "EnableClusterScaling" // ActionTypeEnableMaintenance in scopes Normal. Enable ArangoDB maintenance mode ActionTypeEnableMaintenance ActionType = "EnableMaintenance" // ActionTypeEnableMemberMaintenance in scopes Normal. Enable ArangoDB DBServer maintenance mode ActionTypeEnableMemberMaintenance ActionType = "EnableMemberMaintenance" // ActionTypeEncryptionKeyAdd in scopes Normal. Add the encryption key to the pool ActionTypeEncryptionKeyAdd ActionType = "EncryptionKeyAdd" // ActionTypeEncryptionKeyPropagated in scopes Normal. Update condition of encryption propagation ActionTypeEncryptionKeyPropagated ActionType = "EncryptionKeyPropagated" // ActionTypeEncryptionKeyRefresh in scopes Normal. Refresh the encryption keys on member ActionTypeEncryptionKeyRefresh ActionType = "EncryptionKeyRefresh" // ActionTypeEncryptionKeyRemove in scopes Normal. Remove the encryption key to the pool ActionTypeEncryptionKeyRemove ActionType = "EncryptionKeyRemove" // ActionTypeEncryptionKeyStatusUpdate in scopes Normal. Update status of encryption propagation ActionTypeEncryptionKeyStatusUpdate ActionType = "EncryptionKeyStatusUpdate" // ActionTypeEnforceResignLeadership in scopes Normal. Run the ResignLeadership job on DBServer and checks data compatibility after ActionTypeEnforceResignLeadership ActionType = "EnforceResignLeadership" // ActionTypeIdle in scopes Normal. Define idle operation in case if preconditions are not meet ActionTypeIdle ActionType = "Idle" // ActionTypeJWTAdd in scopes Normal. Adds new JWT to the pool ActionTypeJWTAdd ActionType = "JWTAdd" // ActionTypeJWTClean in scopes Normal. Remove JWT key from the pool ActionTypeJWTClean ActionType = "JWTClean" // ActionTypeJWTPropagated in scopes Normal. Update condition of JWT propagation ActionTypeJWTPropagated ActionType = "JWTPropagated" // ActionTypeJWTRefresh in scopes Normal. Refresh current JWT secrets on the member ActionTypeJWTRefresh ActionType = "JWTRefresh" // ActionTypeJWTSetActive in scopes Normal. Change active JWT key on the cluster ActionTypeJWTSetActive ActionType = "JWTSetActive" // ActionTypeJWTStatusUpdate in scopes Normal. Update status of JWT propagation ActionTypeJWTStatusUpdate ActionType = "JWTStatusUpdate" // ActionTypeKillMemberPod in scopes High and Normal. Execute Delete on Pod (put pod in Terminating state) ActionTypeKillMemberPod ActionType = "KillMemberPod" // ActionTypeLicenseSet in scopes Normal. Update Cluster license (3.9+) ActionTypeLicenseSet ActionType = "LicenseSet" // ActionTypeMarkToRemoveMember in scopes Normal. Marks member to be removed. Used when member Pod is annotated with replace annotation ActionTypeMarkToRemoveMember ActionType = "MarkToRemoveMember" // ActionTypeMemberPhaseUpdate in scopes High. Change member phase ActionTypeMemberPhaseUpdate ActionType = "MemberPhaseUpdate" // ActionTypeMemberRIDUpdate in scopes High. Update Run ID of member // // Deprecated: action is not used anymore ActionTypeMemberRIDUpdate ActionType = "MemberRIDUpdate" // ActionTypeMemberStatusSync in scopes High. Sync ArangoMember Status with ArangoDeployment Status, to keep Member information up to date ActionTypeMemberStatusSync ActionType = "MemberStatusSync" // ActionTypePVCResize in scopes Normal. Start the resize procedure. Updates PVC Requests field ActionTypePVCResize ActionType = "PVCResize" // ActionTypePVCResized in scopes Normal. Waits for PVC resize to be completed ActionTypePVCResized ActionType = "PVCResized" // ActionTypePlaceHolder in scopes Normal. Empty placeholder action ActionTypePlaceHolder ActionType = "PlaceHolder" // ActionTypeRebalancerCheck in scopes Normal. Check Rebalancer job progress ActionTypeRebalancerCheck ActionType = "RebalancerCheck" // ActionTypeRebalancerCheckV2 in scopes Normal. Check Rebalancer job progress ActionTypeRebalancerCheckV2 ActionType = "RebalancerCheckV2" // ActionTypeRebalancerClean in scopes Normal. Cleans Rebalancer jobs ActionTypeRebalancerClean ActionType = "RebalancerClean" // ActionTypeRebalancerCleanV2 in scopes Normal. Cleans Rebalancer jobs ActionTypeRebalancerCleanV2 ActionType = "RebalancerCleanV2" // ActionTypeRebalancerGenerate in scopes Normal. Generates the Rebalancer plan ActionTypeRebalancerGenerate ActionType = "RebalancerGenerate" // ActionTypeRebalancerGenerateV2 in scopes Normal. Generates the Rebalancer plan ActionTypeRebalancerGenerateV2 ActionType = "RebalancerGenerateV2" // ActionTypeRebuildOutSyncedShards in scopes High. Run Rebuild Out Synced Shards procedure for DBServers ActionTypeRebuildOutSyncedShards ActionType = "RebuildOutSyncedShards" // ActionTypeRecreateMember in scopes Normal. Recreate member with same ID and Data ActionTypeRecreateMember ActionType = "RecreateMember" // ActionTypeRefreshTLSCA in scopes Normal. Refresh internal CA ActionTypeRefreshTLSCA ActionType = "RefreshTLSCA" // ActionTypeRefreshTLSKeyfileCertificate in scopes Normal. Recreate Server TLS Certificate secret ActionTypeRefreshTLSKeyfileCertificate ActionType = "RefreshTLSKeyfileCertificate" // ActionTypeRemoveMember in scopes Normal. Removes member from the Cluster and Status ActionTypeRemoveMember ActionType = "RemoveMember" // ActionTypeRemoveMemberPVC in scopes Normal. Removes member PVC and enforce recreate procedure ActionTypeRemoveMemberPVC ActionType = "RemoveMemberPVC" // ActionTypeRenewTLSCACertificate in scopes Normal. Recreate Managed CA secret ActionTypeRenewTLSCACertificate ActionType = "RenewTLSCACertificate" // ActionTypeRenewTLSCertificate in scopes Normal. Recreate Server TLS Certificate secret ActionTypeRenewTLSCertificate ActionType = "RenewTLSCertificate" // ActionTypeResignLeadership in scopes Normal. Run the ResignLeadership job on DBServer ActionTypeResignLeadership ActionType = "ResignLeadership" // ActionTypeResourceSync in scopes Normal. Runs the Resource sync ActionTypeResourceSync ActionType = "ResourceSync" // ActionTypeRotateMember in scopes Normal. Waits for Pod restart and recreation ActionTypeRotateMember ActionType = "RotateMember" // ActionTypeRotateStartMember in scopes Normal. Start member rotation. After this action member is down ActionTypeRotateStartMember ActionType = "RotateStartMember" // ActionTypeRotateStopMember in scopes Normal. Finalize member rotation. After this action member is started back ActionTypeRotateStopMember ActionType = "RotateStopMember" // ActionTypeRuntimeContainerArgsLogLevelUpdate in scopes Normal. Change ArangoDB Member log levels in runtime ActionTypeRuntimeContainerArgsLogLevelUpdate ActionType = "RuntimeContainerArgsLogLevelUpdate" // ActionTypeRuntimeContainerImageUpdate in scopes Normal. Update Container Image in runtime ActionTypeRuntimeContainerImageUpdate ActionType = "RuntimeContainerImageUpdate" // ActionTypeRuntimeContainerSyncTolerations in scopes Normal. Update Pod Tolerations in runtime ActionTypeRuntimeContainerSyncTolerations ActionType = "RuntimeContainerSyncTolerations" // ActionTypeSetCondition in scopes High. Set deployment condition // // Deprecated: action is not used anymore ActionTypeSetCondition ActionType = "SetCondition" // ActionTypeSetConditionV2 in scopes High. Set deployment condition ActionTypeSetConditionV2 ActionType = "SetConditionV2" // ActionTypeSetCurrentImage in scopes Normal. Update deployment current image after image discovery ActionTypeSetCurrentImage ActionType = "SetCurrentImage" // ActionTypeSetCurrentMemberArch in scopes Normal. Set current member architecture ActionTypeSetCurrentMemberArch ActionType = "SetCurrentMemberArch" // ActionTypeSetMaintenanceCondition in scopes Normal. Update ArangoDB maintenance condition ActionTypeSetMaintenanceCondition ActionType = "SetMaintenanceCondition" // ActionTypeSetMemberCondition in scopes High. Set member condition // // Deprecated: action is not used anymore ActionTypeSetMemberCondition ActionType = "SetMemberCondition" // ActionTypeSetMemberConditionV2 in scopes High. Set member condition ActionTypeSetMemberConditionV2 ActionType = "SetMemberConditionV2" // ActionTypeSetMemberCurrentImage in scopes Normal. Update Member current image ActionTypeSetMemberCurrentImage ActionType = "SetMemberCurrentImage" // ActionTypeShutdownMember in scopes Normal. Sends Shutdown requests and waits for container to be stopped ActionTypeShutdownMember ActionType = "ShutdownMember" // ActionTypeTLSKeyStatusUpdate in scopes Normal. Update Status of TLS propagation process ActionTypeTLSKeyStatusUpdate ActionType = "TLSKeyStatusUpdate" // ActionTypeTLSPropagated in scopes Normal. Update TLS propagation condition ActionTypeTLSPropagated ActionType = "TLSPropagated" // ActionTypeTimezoneSecretSet in scopes Normal. Set timezone details in cluster ActionTypeTimezoneSecretSet ActionType = "TimezoneSecretSet" // ActionTypeTopologyDisable in scopes Normal. Disable TopologyAwareness ActionTypeTopologyDisable ActionType = "TopologyDisable" // ActionTypeTopologyEnable in scopes Normal. Enable TopologyAwareness ActionTypeTopologyEnable ActionType = "TopologyEnable" // ActionTypeTopologyMemberAssignment in scopes Normal. Update TopologyAwareness Members assignments ActionTypeTopologyMemberAssignment ActionType = "TopologyMemberAssignment" // ActionTypeTopologyZonesUpdate in scopes Normal. Update TopologyAwareness Zones info ActionTypeTopologyZonesUpdate ActionType = "TopologyZonesUpdate" // ActionTypeUpToDateUpdate in scopes Normal. Update UpToDate condition ActionTypeUpToDateUpdate ActionType = "UpToDateUpdate" // ActionTypeUpdateTLSSNI in scopes Normal. Update certificate in SNI ActionTypeUpdateTLSSNI ActionType = "UpdateTLSSNI" // ActionTypeUpgradeMember in scopes Normal. Run the Upgrade procedure on member ActionTypeUpgradeMember ActionType = "UpgradeMember" // ActionTypeWaitForMemberInSync in scopes Normal. Wait for member to be in sync. In case of DBServer waits for shards. In case of Agents to catch-up on Agency index ActionTypeWaitForMemberInSync ActionType = "WaitForMemberInSync" // ActionTypeWaitForMemberReady in scopes Normal. Wait for member Ready condition ActionTypeWaitForMemberReady ActionType = "WaitForMemberReady" // ActionTypeWaitForMemberUp in scopes Normal. Wait for member to be responsive ActionTypeWaitForMemberUp ActionType = "WaitForMemberUp" )
const ( // ArangoDeploymentArchitectureAMD64 define const for architecture for amd64 ArangoDeploymentArchitectureAMD64 ArangoDeploymentArchitectureType = "amd64" // ArangoDeploymentArchitectureARM64 define const for architecture for arm64 ArangoDeploymentArchitectureARM64 ArangoDeploymentArchitectureType = "arm64" // ArangoDeploymentArchitectureDefault define default architecture used by Operator ArangoDeploymentArchitectureDefault = ArangoDeploymentArchitectureAMD64 // ArangoDeploymentArchitectureCurrent define current Operator architecture ArangoDeploymentArchitectureCurrent = ArangoDeploymentArchitectureType(runtime.GOARCH) )
const ( DeploymentImageDiscoveryDirectMode = "direct" DeploymentImageDiscoveryKubeletMode = "kubelet" )
const ( ProbeTypeLiveness = "liveness" ProbeTypeReadiness = "readiness" ProbeTypeStartUp = "startup" )
const ( ServerGroupUnknown ServerGroup = 0 ServerGroupSingle ServerGroup = 1 ServerGroupAgents ServerGroup = 2 ServerGroupDBServers ServerGroup = 3 ServerGroupCoordinators ServerGroup = 4 ServerGroupSyncMasters ServerGroup = 5 ServerGroupSyncWorkers ServerGroup = 6 ServerGroupGateways ServerGroup = 7 ServerGroupImageDiscovery ServerGroup = -1 ServerGroupSingleString = "single" ServerGroupAgentsString = "agent" ServerGroupDBServersString = "dbserver" ServerGroupCoordinatorsString = "coordinator" ServerGroupSyncMastersString = "syncmaster" ServerGroupSyncWorkersString = "syncworker" ServerGroupGatewaysString = "gateways" ServerGroupImageDiscoveryString = "id" ServerGroupSingleAbbreviatedString = "sngl" ServerGroupAgentsAbbreviatedString = "agnt" ServerGroupDBServersAbbreviatedString = "prmr" ServerGroupCoordinatorsAbbreviatedString = "crdn" ServerGroupSyncMastersAbbreviatedString = "syma" ServerGroupSyncWorkersAbbreviatedString = "sywo" ServerGroupGatewaysAbbreviatedString = "gway" ServerGroupImageDiscoveryAbbreviatedString = "id" )
const ( ServerGroupReservedContainerNameServer = "server" ServerGroupReservedContainerNameExporter = "exporter" )
const ( ServerGroupReservedInitContainerNameLifecycle = "init-lifecycle" ServerGroupReservedInitContainerNameUUID = "uuid" ServerGroupReservedInitContainerNameWait = "wait" ServerGroupReservedInitContainerNameStartup = "arango-init-startup" ServerGroupReservedInitContainerNameUpgrade = "upgrade" ServerGroupReservedInitContainerNameVersionCheck = "version-check" )
const ( ServerGroupSpecVolumeRenderParamDeploymentName = "DEPLOYMENT_NAME" ServerGroupSpecVolumeRenderParamDeploymentNamespace = "DEPLOYMENT_NAMESPACE" ServerGroupSpecVolumeRenderParamMemberID = "MEMBER_ID" ServerGroupSpecVolumeRenderParamMemberRoleAbbr = "ROLE_ABBR" ServerGroupSpecVolumeRenderParamMemberRole = "ROLE" )
const ArangoDeploymentRebalancerDefaultParallelMoves = 32
const (
ArangoDeploymentVersion = "v1"
)
const (
// CASecretNameDisabled is the value of CASecretName to use for disabling authentication.
CASecretNameDisabled = "None"
)
const (
DefaultMaintenanceGracePeriod = 30 * time.Minute
)
const (
DefaultTLSTTL = Duration("2610h") // About 3 month
)
const DefaultTopologySpecLabel = "topology.kubernetes.io/zone"
const InfiniteTimeout time.Duration = 0
const (
// JWTSecretNameDisabled is the value of JWTSecretName to use for disabling authentication.
JWTSecretNameDisabled = "None"
)
const ( // MemberIDPreviousAction is used for Action.MemberID when the MemberID // should be derived from the previous action. MemberIDPreviousAction = "@previous" )
const (
ParamPodUID = "PodUID"
)
const ServerGroupSpecNumactlPathDefault = "/usr/bin/numactl"
const (
// UserNameRoot root user name
UserNameRoot = "root"
)
Variables ¶
var ( // ValidationError indicates a validation failure ValidationError = errors.New("validation failed") // AlreadyExistsError indicates an object that already exists AlreadyExistsError = errors.New("already exists") // NotFoundError indicates an object that cannot be found NotFoundError = errors.New("not found") )
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme SchemeGroupVersion = schema.GroupVersion{Group: deployment.ArangoDeploymentGroupName, Version: ArangoDeploymentVersion} )
var ( // AllServerGroups contains a constant list of all known server groups AllServerGroups = []ServerGroup{ ServerGroupAgents, ServerGroupSingle, ServerGroupDBServers, ServerGroupCoordinators, ServerGroupSyncMasters, ServerGroupSyncWorkers, ServerGroupGateways, } // AllArangoDServerGroups contains a constant list of all ArangoD server groups AllArangoDServerGroups = []ServerGroup{ ServerGroupAgents, ServerGroupSingle, ServerGroupDBServers, ServerGroupCoordinators, } )
var (
DefaultImage = "arangodb/arangodb:latest"
)
Functions ¶
func ActionDefaultTimeout ¶
func ActionDefaultTimeout(a ActionType) time.Duration
func GetAllArchFromNodeSelector ¶
func GetAllArchFromNodeSelector(selectors []core.NodeSelectorTerm) map[ArangoDeploymentArchitectureType]bool
func IsAlreadyExists ¶
IsAlreadyExists return true when the given error is or is caused by a AlreadyExistsError.
func IsNotFound ¶
IsNotFound return true when the given error is or is caused by a NotFoundError.
func IsRestrictedVolumeName ¶
IsRestrictedVolumeName check of volume name is restricted, for example for originally mounted volumes
func IsValidation ¶
IsValidation return true when the given error is or is caused by a ValidationError.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource gets an ArangoCluster GroupResource for a specified resource
Types ¶
type Action ¶
type Action struct { // ID of this action (unique for every action) ID string `json:"id"` // SetID define the unique ID of current action set SetID types.UID `json:"setID,omitempty"` // Type of action. Type ActionType `json:"type"` // ID reference of the member involved in this action (if any) MemberID string `json:"memberID,omitempty"` // Group involved in this action Group ServerGroup `json:"group,omitempty"` // CreationTime is set when the action is created. CreationTime meta.Time `json:"creationTime"` // StartTime is set when the action has been started, but needs to wait to be finished. StartTime *meta.Time `json:"startTime,omitempty"` // Reason for this action Reason string `json:"reason,omitempty"` // Image used in can of a SetCurrentImage action. Image string `json:"image,omitempty"` // Params additional parameters used for action Params map[string]string `json:"params,omitempty"` // Locals additional storage for local variables which are produced during the action. Locals PlanLocals `json:"locals,omitempty"` // ID reference of the task involved in this action (if any) TaskID types.UID `json:"taskID,omitempty"` // Architecture of the member involved in this action (if any) Architecture ArangoDeploymentArchitectureType `json:"arch,omitempty"` // Progress describes the status of the current action. Progress string `json:"progress,omitempty"` }
Action represents a single action to be taken to update a deployment.
func NewAction ¶
func NewAction(actionType ActionType, group ServerGroup, memberID string, reason ...string) Action
NewAction instantiates a new Action.
func NewActionSet ¶
NewActionSet add new SetID vale to the actions
func (*Action) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Action.
func (*Action) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Action) SetArch ¶
func (a Action) SetArch(arch ArangoDeploymentArchitectureType) Action
SetArch sets the Architecture field to the given value and returns the modified
type ActionBuilder ¶
type ActionBuilder interface { // NewAction instantiates a new Action. NewAction(actionType ActionType, reason ...string) Action // Group returns ServerGroup for this builder Group() ServerGroup // MemberID returns Member ID for this builder MemberID() string }
ActionBuilder allows to generate actions based on predefined group and member id
func NewActionBuilder ¶
func NewActionBuilder(group ServerGroup, memberID string) ActionBuilder
NewActionBuilder create new action builder with provided group and id
type ActionPriority ¶
type ActionPriority int
ActionPriority define action priority
const ( // ActionPriorityNormal define Normal priority plan ActionPriorityNormal ActionPriority = iota // ActionPriorityHigh define High priority plan ActionPriorityHigh // ActionPriorityResource define Resource priority plan ActionPriorityResource ActionPriorityUnknown )
func GetActionPriority ¶
func GetActionPriority(a ActionType) ActionPriority
type ActionTimeouts ¶
type ActionTimeouts map[ActionType]Timeout
func (ActionTimeouts) DeepCopy ¶
func (in ActionTimeouts) DeepCopy() ActionTimeouts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionTimeouts.
func (ActionTimeouts) DeepCopyInto ¶
func (in ActionTimeouts) DeepCopyInto(out *ActionTimeouts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ActionType ¶
type ActionType string
ActionType is a strongly typed name for a plan action item
func (ActionType) DefaultTimeout ¶
func (a ActionType) DefaultTimeout() time.Duration
func (ActionType) Internal ¶
func (a ActionType) Internal() bool
Internal returns true if action is considered to be internal
func (ActionType) Optional ¶
func (a ActionType) Optional() bool
Optional returns true if action execution wont abort Plan
func (ActionType) Priority ¶
func (a ActionType) Priority() ActionPriority
Priority returns action priority
func (ActionType) String ¶
func (a ActionType) String() string
type ArangoClusterSynchronization ¶
type ArangoClusterSynchronization struct { meta.TypeMeta `json:",inline"` meta.ObjectMeta `json:"metadata,omitempty"` Spec ArangoClusterSynchronizationSpec `json:"spec,omitempty"` Status ArangoClusterSynchronizationStatus `json:"status,omitempty"` }
ArangoClusterSynchronization contains definition and status of the ArangoDB type Job.
func (*ArangoClusterSynchronization) AsOwner ¶
func (a *ArangoClusterSynchronization) AsOwner() meta.OwnerReference
AsOwner creates an OwnerReference for the given job
func (*ArangoClusterSynchronization) DeepCopy ¶
func (in *ArangoClusterSynchronization) DeepCopy() *ArangoClusterSynchronization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoClusterSynchronization.
func (*ArangoClusterSynchronization) DeepCopyInto ¶
func (in *ArangoClusterSynchronization) DeepCopyInto(out *ArangoClusterSynchronization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoClusterSynchronization) DeepCopyObject ¶
func (in *ArangoClusterSynchronization) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ArangoClusterSynchronizationDeploymentStatus ¶
type ArangoClusterSynchronizationDeploymentStatus struct { Name string `json:"name"` Namespace string `json:"namespace"` UID types.UID `json:"uid"` }
func (*ArangoClusterSynchronizationDeploymentStatus) DeepCopy ¶
func (in *ArangoClusterSynchronizationDeploymentStatus) DeepCopy() *ArangoClusterSynchronizationDeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoClusterSynchronizationDeploymentStatus.
func (*ArangoClusterSynchronizationDeploymentStatus) DeepCopyInto ¶
func (in *ArangoClusterSynchronizationDeploymentStatus) DeepCopyInto(out *ArangoClusterSynchronizationDeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ArangoClusterSynchronizationKubeConfigSpec ¶
type ArangoClusterSynchronizationKubeConfigSpec struct { SecretName string `json:"secretName"` SecretKey string `json:"secretKey"` Namespace string `json:"namespace"` }
func (*ArangoClusterSynchronizationKubeConfigSpec) DeepCopy ¶
func (in *ArangoClusterSynchronizationKubeConfigSpec) DeepCopy() *ArangoClusterSynchronizationKubeConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoClusterSynchronizationKubeConfigSpec.
func (*ArangoClusterSynchronizationKubeConfigSpec) DeepCopyInto ¶
func (in *ArangoClusterSynchronizationKubeConfigSpec) DeepCopyInto(out *ArangoClusterSynchronizationKubeConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoClusterSynchronizationKubeConfigSpec) Validate ¶
func (a *ArangoClusterSynchronizationKubeConfigSpec) Validate() error
type ArangoClusterSynchronizationList ¶
type ArangoClusterSynchronizationList struct { meta.TypeMeta `json:",inline"` meta.ListMeta `json:"metadata,omitempty"` Items []ArangoClusterSynchronization `json:"items"` }
ArangoClusterSynchronizationList is a list of ArangoDB jobs.
func (*ArangoClusterSynchronizationList) DeepCopy ¶
func (in *ArangoClusterSynchronizationList) DeepCopy() *ArangoClusterSynchronizationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoClusterSynchronizationList.
func (*ArangoClusterSynchronizationList) DeepCopyInto ¶
func (in *ArangoClusterSynchronizationList) DeepCopyInto(out *ArangoClusterSynchronizationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoClusterSynchronizationList) DeepCopyObject ¶
func (in *ArangoClusterSynchronizationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ArangoClusterSynchronizationSpec ¶
type ArangoClusterSynchronizationSpec struct { DeploymentName string `json:"deploymentName,omitempty"` KubeConfig *ArangoClusterSynchronizationKubeConfigSpec `json:"kubeconfig,omitempty"` }
func (*ArangoClusterSynchronizationSpec) DeepCopy ¶
func (in *ArangoClusterSynchronizationSpec) DeepCopy() *ArangoClusterSynchronizationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoClusterSynchronizationSpec.
func (*ArangoClusterSynchronizationSpec) DeepCopyInto ¶
func (in *ArangoClusterSynchronizationSpec) DeepCopyInto(out *ArangoClusterSynchronizationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ArangoClusterSynchronizationStatus ¶
type ArangoClusterSynchronizationStatus struct { Deployment *ArangoClusterSynchronizationDeploymentStatus `json:"deployment,omitempty"` RemoteDeployment *ArangoClusterSynchronizationDeploymentStatus `json:"remoteDeployment,omitempty"` Conditions ConditionList `json:"conditions,omitempty"` }
func (*ArangoClusterSynchronizationStatus) DeepCopy ¶
func (in *ArangoClusterSynchronizationStatus) DeepCopy() *ArangoClusterSynchronizationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoClusterSynchronizationStatus.
func (*ArangoClusterSynchronizationStatus) DeepCopyInto ¶
func (in *ArangoClusterSynchronizationStatus) DeepCopyInto(out *ArangoClusterSynchronizationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ArangoDeployment ¶
type ArangoDeployment struct { meta.TypeMeta `json:",inline"` meta.ObjectMeta `json:"metadata,omitempty"` Spec DeploymentSpec `json:"spec,omitempty"` Status DeploymentStatus `json:"status,omitempty"` }
ArangoDeployment contains the entire Kubernetes info for an ArangoDB database deployment.
func (*ArangoDeployment) AsOwner ¶
func (d *ArangoDeployment) AsOwner() meta.OwnerReference
AsOwner creates an OwnerReference for the given deployment
func (*ArangoDeployment) DeepCopy ¶
func (in *ArangoDeployment) DeepCopy() *ArangoDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoDeployment.
func (*ArangoDeployment) DeepCopyInto ¶
func (in *ArangoDeployment) DeepCopyInto(out *ArangoDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoDeployment) DeepCopyObject ¶
func (in *ArangoDeployment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ArangoDeployment) ForeachServerGroup ¶
func (d *ArangoDeployment) ForeachServerGroup(cb ServerGroupFunc, status *DeploymentStatus) error
ForeachServerGroup calls the given callback for all server groups. If the callback returns an error, this error is returned and no other server groups are processed. Groups are processed in this order: agents, single, dbservers, coordinators, syncmasters, syncworkers, gateways
func (*ArangoDeployment) ForeachServerGroupAccepted ¶
func (d *ArangoDeployment) ForeachServerGroupAccepted(cb ServerGroupFunc, status *DeploymentStatus) error
ForeachServerGroupAccepted calls the given callback for all accepted server groups. If the callback returns an error, this error is returned and no other server groups are processed. Groups are processed in this order: agents, single, dbservers, coordinators, syncmasters, syncworkers, gateways
func (ArangoDeployment) GetAcceptedSpec ¶
func (d ArangoDeployment) GetAcceptedSpec() DeploymentSpec
func (ArangoDeployment) IsAccepted ¶
func (d ArangoDeployment) IsAccepted() (bool, error)
IsAccepted checks if accepted version match current version in spec
func (ArangoDeployment) IsUpToDate ¶
func (d ArangoDeployment) IsUpToDate() (bool, error)
IsUpToDate checks if applied version match current version in spec
type ArangoDeploymentArchitecture ¶
type ArangoDeploymentArchitecture []ArangoDeploymentArchitectureType
ArangoDeploymentArchitecture defines the list of supported architectures. +doc/enum: amd64|Use processors with the x86-64 architecture. +doc/enum: arm64|Use processors with the 64-bit ARM architecture.
func (ArangoDeploymentArchitecture) AsNodeSelectorRequirement ¶
func (a ArangoDeploymentArchitecture) AsNodeSelectorRequirement() core.NodeSelectorTerm
func (ArangoDeploymentArchitecture) DeepCopy ¶
func (in ArangoDeploymentArchitecture) DeepCopy() ArangoDeploymentArchitecture
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoDeploymentArchitecture.
func (ArangoDeploymentArchitecture) DeepCopyInto ¶
func (in ArangoDeploymentArchitecture) DeepCopyInto(out *ArangoDeploymentArchitecture)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ArangoDeploymentArchitecture) GetDefault ¶
func (a ArangoDeploymentArchitecture) GetDefault() ArangoDeploymentArchitectureType
func (ArangoDeploymentArchitecture) IsArchAllowed ¶
func (a ArangoDeploymentArchitecture) IsArchAllowed(arch ArangoDeploymentArchitectureType) bool
func (ArangoDeploymentArchitecture) Validate ¶
func (a ArangoDeploymentArchitecture) Validate() error
type ArangoDeploymentArchitectureType ¶
type ArangoDeploymentArchitectureType string
func (ArangoDeploymentArchitectureType) AsNodeSelectorRequirement ¶
func (a ArangoDeploymentArchitectureType) AsNodeSelectorRequirement() core.NodeSelectorTerm
func (*ArangoDeploymentArchitectureType) Default ¶
func (a *ArangoDeploymentArchitectureType) Default(def ArangoDeploymentArchitectureType) ArangoDeploymentArchitectureType
func (*ArangoDeploymentArchitectureType) Equal ¶
func (a *ArangoDeploymentArchitectureType) Equal(other *ArangoDeploymentArchitectureType) bool
func (ArangoDeploymentArchitectureType) IsArchMismatch ¶
func (a ArangoDeploymentArchitectureType) IsArchMismatch(deploymentArch ArangoDeploymentArchitecture, memberArch *ArangoDeploymentArchitectureType) bool
func (ArangoDeploymentArchitectureType) String ¶
func (a ArangoDeploymentArchitectureType) String() string
func (ArangoDeploymentArchitectureType) Validate ¶
func (a ArangoDeploymentArchitectureType) Validate() error
type ArangoDeploymentList ¶
type ArangoDeploymentList struct { meta.TypeMeta `json:",inline"` // Standard list metadata // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata meta.ListMeta `json:"metadata,omitempty"` Items []ArangoDeployment `json:"items"` }
ArangoDeploymentList is a list of ArangoDB clusters.
func (*ArangoDeploymentList) DeepCopy ¶
func (in *ArangoDeploymentList) DeepCopy() *ArangoDeploymentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoDeploymentList.
func (*ArangoDeploymentList) DeepCopyInto ¶
func (in *ArangoDeploymentList) DeepCopyInto(out *ArangoDeploymentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoDeploymentList) DeepCopyObject ¶
func (in *ArangoDeploymentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ArangoDeploymentRebalancerOptimizersSpec ¶
type ArangoDeploymentRebalancerOptimizersSpec struct {
Leader *bool `json:"leader,omitempty"`
}
func (*ArangoDeploymentRebalancerOptimizersSpec) DeepCopy ¶
func (in *ArangoDeploymentRebalancerOptimizersSpec) DeepCopy() *ArangoDeploymentRebalancerOptimizersSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoDeploymentRebalancerOptimizersSpec.
func (*ArangoDeploymentRebalancerOptimizersSpec) DeepCopyInto ¶
func (in *ArangoDeploymentRebalancerOptimizersSpec) DeepCopyInto(out *ArangoDeploymentRebalancerOptimizersSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoDeploymentRebalancerOptimizersSpec) IsLeaderEnabled ¶
func (a *ArangoDeploymentRebalancerOptimizersSpec) IsLeaderEnabled() bool
type ArangoDeploymentRebalancerReadersSpec ¶
type ArangoDeploymentRebalancerReadersSpec struct { // Count Enable Shard Count machanism // // Deprecated: does not work in Rebalancer V2 Count *bool `json:"count,omitempty"` }
func (*ArangoDeploymentRebalancerReadersSpec) DeepCopy ¶
func (in *ArangoDeploymentRebalancerReadersSpec) DeepCopy() *ArangoDeploymentRebalancerReadersSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoDeploymentRebalancerReadersSpec.
func (*ArangoDeploymentRebalancerReadersSpec) DeepCopyInto ¶
func (in *ArangoDeploymentRebalancerReadersSpec) DeepCopyInto(out *ArangoDeploymentRebalancerReadersSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoDeploymentRebalancerReadersSpec) IsCountEnabled ¶
func (a *ArangoDeploymentRebalancerReadersSpec) IsCountEnabled() bool
type ArangoDeploymentRebalancerSpec ¶
type ArangoDeploymentRebalancerSpec struct { Enabled *bool `json:"enabled"` ParallelMoves *int `json:"parallelMoves,omitempty"` Readers *ArangoDeploymentRebalancerReadersSpec `json:"readers,omitempty"` Optimizers *ArangoDeploymentRebalancerOptimizersSpec `json:"optimizers,omitempty"` }
func (*ArangoDeploymentRebalancerSpec) DeepCopy ¶
func (in *ArangoDeploymentRebalancerSpec) DeepCopy() *ArangoDeploymentRebalancerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoDeploymentRebalancerSpec.
func (*ArangoDeploymentRebalancerSpec) DeepCopyInto ¶
func (in *ArangoDeploymentRebalancerSpec) DeepCopyInto(out *ArangoDeploymentRebalancerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoDeploymentRebalancerSpec) GetParallelMoves ¶
func (a *ArangoDeploymentRebalancerSpec) GetParallelMoves() int
func (*ArangoDeploymentRebalancerSpec) IsEnabled ¶
func (a *ArangoDeploymentRebalancerSpec) IsEnabled() bool
type ArangoDeploymentRebalancerStatus ¶
type ArangoDeploymentRebalancerStatus struct { LastCheckTime *meta.Time `json:"lastCheckTime,omitempty"` MoveJobs []string `json:"moveJobs,omitempty"` }
func (*ArangoDeploymentRebalancerStatus) DeepCopy ¶
func (in *ArangoDeploymentRebalancerStatus) DeepCopy() *ArangoDeploymentRebalancerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoDeploymentRebalancerStatus.
func (*ArangoDeploymentRebalancerStatus) DeepCopyInto ¶
func (in *ArangoDeploymentRebalancerStatus) DeepCopyInto(out *ArangoDeploymentRebalancerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoDeploymentRebalancerStatus) IsMoveInProgress ¶
func (a *ArangoDeploymentRebalancerStatus) IsMoveInProgress() bool
type ArangoDeploymentRecoverySpec ¶
type ArangoDeploymentRecoverySpec struct {
AutoRecover *bool `json:"autoRecover"`
}
func (*ArangoDeploymentRecoverySpec) DeepCopy ¶
func (in *ArangoDeploymentRecoverySpec) DeepCopy() *ArangoDeploymentRecoverySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoDeploymentRecoverySpec.
func (*ArangoDeploymentRecoverySpec) DeepCopyInto ¶
func (in *ArangoDeploymentRecoverySpec) DeepCopyInto(out *ArangoDeploymentRecoverySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoDeploymentRecoverySpec) Get ¶
func (a *ArangoDeploymentRecoverySpec) Get() ArangoDeploymentRecoverySpec
func (ArangoDeploymentRecoverySpec) GetAutoRecover ¶
func (a ArangoDeploymentRecoverySpec) GetAutoRecover() bool
type ArangoMember ¶
type ArangoMember struct { meta.TypeMeta `json:",inline"` meta.ObjectMeta `json:"metadata,omitempty"` Spec ArangoMemberSpec `json:"spec,omitempty"` Status ArangoMemberStatus `json:"status,omitempty"` }
ArangoMember contains the entire Kubernetes info for an ArangoDB database members.
func (*ArangoMember) AsOwner ¶
func (a *ArangoMember) AsOwner() meta.OwnerReference
AsOwner creates an OwnerReference for the given member
func (*ArangoMember) DeepCopy ¶
func (in *ArangoMember) DeepCopy() *ArangoMember
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoMember.
func (*ArangoMember) DeepCopyInto ¶
func (in *ArangoMember) DeepCopyInto(out *ArangoMember)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoMember) DeepCopyObject ¶
func (in *ArangoMember) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ArangoMemberList ¶
type ArangoMemberList struct { meta.TypeMeta `json:",inline"` // Standard list metadata // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata meta.ListMeta `json:"metadata,omitempty"` Items []ArangoMember `json:"items"` }
ArangoMemberList is a list of ArangoDB cluster members.
func (*ArangoMemberList) DeepCopy ¶
func (in *ArangoMemberList) DeepCopy() *ArangoMemberList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoMemberList.
func (*ArangoMemberList) DeepCopyInto ¶
func (in *ArangoMemberList) DeepCopyInto(out *ArangoMemberList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoMemberList) DeepCopyObject ¶
func (in *ArangoMemberList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ArangoMemberPodTemplate ¶
type ArangoMemberPodTemplate struct { // PodSpec specifies the Pod Spec used for this Member. // +doc/type: core.PodTemplateSpec // +doc/link: Documentation of core.PodTemplateSpec|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podtemplatespec-v1-core PodSpec *core.PodTemplateSpec `json:"podSpec,omitempty"` // PodSpecChecksum keep the Pod Spec Checksum (without ignored fields). PodSpecChecksum string `json:"podSpecChecksum,omitempty"` // Checksum keep the Pod Spec Checksum (with ignored fields). Checksum string `json:"checksum,omitempty"` // Deprecated: Endpoint is not saved into the template Endpoint *string `json:"endpoint,omitempty"` }
func GetArangoMemberPodTemplate ¶
func GetArangoMemberPodTemplate(pod *core.PodTemplateSpec, podSpecChecksum string) (*ArangoMemberPodTemplate, error)
func (*ArangoMemberPodTemplate) DeepCopy ¶
func (in *ArangoMemberPodTemplate) DeepCopy() *ArangoMemberPodTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoMemberPodTemplate.
func (*ArangoMemberPodTemplate) DeepCopyInto ¶
func (in *ArangoMemberPodTemplate) DeepCopyInto(out *ArangoMemberPodTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoMemberPodTemplate) EqualPodSpecChecksum ¶
func (a *ArangoMemberPodTemplate) EqualPodSpecChecksum(checksum string) bool
func (*ArangoMemberPodTemplate) Equals ¶
func (a *ArangoMemberPodTemplate) Equals(b *ArangoMemberPodTemplate) bool
func (*ArangoMemberPodTemplate) GetChecksum ¶
func (a *ArangoMemberPodTemplate) GetChecksum() string
func (*ArangoMemberPodTemplate) GetTemplate ¶
func (a *ArangoMemberPodTemplate) GetTemplate() *core.PodTemplateSpec
func (*ArangoMemberPodTemplate) GetTemplateChecksum ¶
func (a *ArangoMemberPodTemplate) GetTemplateChecksum() string
func (*ArangoMemberPodTemplate) RotationNeeded ¶
func (a *ArangoMemberPodTemplate) RotationNeeded(b *ArangoMemberPodTemplate) bool
func (*ArangoMemberPodTemplate) SetChecksum ¶
func (a *ArangoMemberPodTemplate) SetChecksum(s string)
func (*ArangoMemberPodTemplate) SetTemplate ¶
func (a *ArangoMemberPodTemplate) SetTemplate(t *core.PodTemplateSpec)
func (*ArangoMemberPodTemplate) SetTemplateChecksum ¶
func (a *ArangoMemberPodTemplate) SetTemplateChecksum(s string)
type ArangoMemberSpec ¶
type ArangoMemberSpec struct { // Group define Member Groups. // +doc/type: string Group ServerGroup `json:"group,omitempty"` ID string `json:"id,omitempty"` // DeploymentUID define Deployment UID. DeploymentUID types.UID `json:"deploymentUID,omitempty"` // Overrides define Member Overrides (Override values from ServerGroup). Overrides *ArangoMemberSpecOverrides `json:"overrides,omitempty"` // Template keeps template which is gonna be applied on the Pod. Template *ArangoMemberPodTemplate `json:"template,omitempty"` // DeletionPriority define Deletion Priority. // Higher value means higher priority. Default is 0. // Example: set 1 for Coordinator which should be deleted first and scale down coordinators by one. DeletionPriority *int `json:"deletion_priority,omitempty"` }
func (*ArangoMemberSpec) DeepCopy ¶
func (in *ArangoMemberSpec) DeepCopy() *ArangoMemberSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoMemberSpec.
func (*ArangoMemberSpec) DeepCopyInto ¶
func (in *ArangoMemberSpec) DeepCopyInto(out *ArangoMemberSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoMemberSpec) GetDeletionPriority ¶
func (a *ArangoMemberSpec) GetDeletionPriority() int
type ArangoMemberSpecOverrides ¶
type ArangoMemberSpecOverrides struct { // VolumeClaimTemplate specifies a template for volume claims. Overrides template provided on the group level. // +doc/type: core.PersistentVolumeClaim // +doc/link: Documentation of core.PersistentVolumeClaim|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#persistentvolumeclaim-v1-core VolumeClaimTemplate *core.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"` // Resources holds resource requests & limits. Overrides template provided on the group level. // +doc/type: core.ResourceRequirements // +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core Resources core.ResourceRequirements `json:"resources,omitempty"` }
func (*ArangoMemberSpecOverrides) DeepCopy ¶
func (in *ArangoMemberSpecOverrides) DeepCopy() *ArangoMemberSpecOverrides
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoMemberSpecOverrides.
func (*ArangoMemberSpecOverrides) DeepCopyInto ¶
func (in *ArangoMemberSpecOverrides) DeepCopyInto(out *ArangoMemberSpecOverrides)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoMemberSpecOverrides) GetResources ¶
func (a *ArangoMemberSpecOverrides) GetResources(g *ServerGroupSpec) core.ResourceRequirements
func (*ArangoMemberSpecOverrides) GetStorageClassName ¶
func (a *ArangoMemberSpecOverrides) GetStorageClassName(g *ServerGroupSpec) string
func (*ArangoMemberSpecOverrides) GetVolumeClaimTemplate ¶
func (a *ArangoMemberSpecOverrides) GetVolumeClaimTemplate(g *ServerGroupSpec) *core.PersistentVolumeClaim
func (*ArangoMemberSpecOverrides) HasVolumeClaimTemplate ¶
func (a *ArangoMemberSpecOverrides) HasVolumeClaimTemplate(g *ServerGroupSpec) bool
type ArangoMemberStatus ¶
type ArangoMemberStatus struct { Conditions ConditionList `json:"conditions,omitempty"` Template *ArangoMemberPodTemplate `json:"template,omitempty"` // Message keeps the information about time when ArangoMember Status was modified last time LastUpdateTime meta.Time `json:"lastUpdateTime,omitempty"` // Message keeps the information about ArangoMember Message in the String format Message string `json:"message,omitempty"` }
func (*ArangoMemberStatus) DeepCopy ¶
func (in *ArangoMemberStatus) DeepCopy() *ArangoMemberStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoMemberStatus.
func (*ArangoMemberStatus) DeepCopyInto ¶
func (in *ArangoMemberStatus) DeepCopyInto(out *ArangoMemberStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ArangoMemberStatus) InSync ¶
func (a ArangoMemberStatus) InSync(status MemberStatus) bool
func (*ArangoMemberStatus) Propagate ¶
func (a *ArangoMemberStatus) Propagate(status MemberStatus) (changed bool)
type ArangoTask ¶
type ArangoTask struct { meta.TypeMeta `json:",inline"` meta.ObjectMeta `json:"metadata,omitempty"` Spec ArangoTaskSpec `json:"spec,omitempty"` Status ArangoTaskStatus `json:"status,omitempty"` }
ArangoTask contains task definition info.
func (*ArangoTask) DeepCopy ¶
func (in *ArangoTask) DeepCopy() *ArangoTask
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoTask.
func (*ArangoTask) DeepCopyInto ¶
func (in *ArangoTask) DeepCopyInto(out *ArangoTask)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoTask) DeepCopyObject ¶
func (in *ArangoTask) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ArangoTaskDetails ¶
type ArangoTaskDetails []byte
func (ArangoTaskDetails) DeepCopy ¶
func (in ArangoTaskDetails) DeepCopy() ArangoTaskDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoTaskDetails.
func (ArangoTaskDetails) DeepCopyInto ¶
func (in ArangoTaskDetails) DeepCopyInto(out *ArangoTaskDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ArangoTaskDetails) Get ¶
func (a ArangoTaskDetails) Get(i interface{}) error
func (ArangoTaskDetails) MarshalJSON ¶
func (a ArangoTaskDetails) MarshalJSON() ([]byte, error)
func (*ArangoTaskDetails) Set ¶
func (a *ArangoTaskDetails) Set(i interface{}) error
func (*ArangoTaskDetails) UnmarshalJSON ¶
func (a *ArangoTaskDetails) UnmarshalJSON(bytes []byte) error
type ArangoTaskList ¶
type ArangoTaskList struct { meta.TypeMeta `json:",inline"` // Standard list metadata // More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata meta.ListMeta `json:"metadata,omitempty"` Items []ArangoTask `json:"items"` }
ArangoTaskList is a list of ArangoDB tasks.
func (*ArangoTaskList) DeepCopy ¶
func (in *ArangoTaskList) DeepCopy() *ArangoTaskList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoTaskList.
func (*ArangoTaskList) DeepCopyInto ¶
func (in *ArangoTaskList) DeepCopyInto(out *ArangoTaskList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ArangoTaskList) DeepCopyObject ¶
func (in *ArangoTaskList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ArangoTaskSpec ¶
type ArangoTaskSpec struct { Type ArangoTaskType `json:"type,omitempty"` Details ArangoTaskDetails `json:"details,omitempty"` }
func (*ArangoTaskSpec) DeepCopy ¶
func (in *ArangoTaskSpec) DeepCopy() *ArangoTaskSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoTaskSpec.
func (*ArangoTaskSpec) DeepCopyInto ¶
func (in *ArangoTaskSpec) DeepCopyInto(out *ArangoTaskSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ArangoTaskState ¶
type ArangoTaskState string
const ( ArangoTaskUnknownState ArangoTaskState = "" ArangoTaskPendingState ArangoTaskState = "Pending" ArangoTaskRunningState ArangoTaskState = "Running" ArangoTaskSuccessState ArangoTaskState = "Success" ArangoTaskFailedState ArangoTaskState = "Failed" )
type ArangoTaskStatus ¶
type ArangoTaskStatus struct { AcceptedSpec *ArangoTaskSpec `json:"acceptedSpec,omitempty"` State ArangoTaskState `json:"state,omitempty"` Details ArangoTaskDetails `json:"details,omitempty"` }
func (*ArangoTaskStatus) DeepCopy ¶
func (in *ArangoTaskStatus) DeepCopy() *ArangoTaskStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ArangoTaskStatus.
func (*ArangoTaskStatus) DeepCopyInto ¶
func (in *ArangoTaskStatus) DeepCopyInto(out *ArangoTaskStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ArangoTaskType ¶
type ArangoTaskType string
type AuthenticationSpec ¶
type AuthenticationSpec struct { // JWTSecretName setting specifies the name of a kubernetes `Secret` that contains a secret key used for generating // JWT tokens to access all ArangoDB servers. // When no name is specified, it defaults to `<deployment-name>-jwt`. // To disable authentication, set this value to `None`. // If you specify a name of a `Secret`, that secret must have the key value in a data field named `token`. // If you specify a name of a `Secret` that does not exist, a random key is created and stored in a `Secret` with given name. // Changing secret key results in restarting of a whole cluster. JWTSecretName *string `json:"jwtSecretName,omitempty"` }
AuthenticationSpec holds authentication specific configuration settings
func (*AuthenticationSpec) DeepCopy ¶
func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationSpec.
func (*AuthenticationSpec) DeepCopyInto ¶
func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AuthenticationSpec) GetJWTSecretName ¶
func (s AuthenticationSpec) GetJWTSecretName() string
GetJWTSecretName returns the value of jwtSecretName.
func (AuthenticationSpec) IsAuthenticated ¶
func (s AuthenticationSpec) IsAuthenticated() bool
IsAuthenticated returns true if authentication is enabled. Returns false other (when JWTSecretName == "None").
func (AuthenticationSpec) ResetImmutableFields ¶
func (s AuthenticationSpec) ResetImmutableFields(fieldPrefix string, target *AuthenticationSpec) []string
ResetImmutableFields replaces all immutable fields in the given target with values from the source spec. It returns a list of fields that have been reset. Field names are relative to given field prefix.
func (*AuthenticationSpec) SetDefaults ¶
func (s *AuthenticationSpec) SetDefaults(defaultJWTSecretName string)
SetDefaults fills in missing defaults
func (*AuthenticationSpec) SetDefaultsFrom ¶
func (s *AuthenticationSpec) SetDefaultsFrom(source AuthenticationSpec)
SetDefaultsFrom fills unspecified fields with a value from given source spec.
func (AuthenticationSpec) Validate ¶
func (s AuthenticationSpec) Validate(required bool) error
Validate the given spec
type BackOff ¶
type BackOff map[BackOffKey]meta.Time
func (BackOff) CombineLatest ¶
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.
func (BackOff) MarshalJSON ¶
func (BackOff) Process ¶
func (b BackOff) Process(key BackOffKey) bool
type BackOffKey ¶
type BackOffKey string
type BootstrapSpec ¶
type BootstrapSpec struct { // PasswordSecretNames contains a map of username to password-secret-name // This setting specifies a secret name for the credentials per specific users. // When a deployment is created the operator will setup the user accounts // according to the credentials given by the secret. If the secret doesn't exist // the operator creates a secret with a random password. // There are two magic values for the secret name: // - `None` specifies no action. This disables root password randomization. This is the default value. (Thus the root password is empty - not recommended) // - `Auto` specifies automatic name generation, which is `<deploymentname>-root-password`. // +doc/type: map[string]string // +doc/link: How to set root user password|../how-to/set_root_user_password.md PasswordSecretNames PasswordSecretNameList `json:"passwordSecretNames,omitempty"` }
BootstrapSpec contains information for cluster bootstrapping
func (*BootstrapSpec) DeepCopy ¶
func (in *BootstrapSpec) DeepCopy() *BootstrapSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootstrapSpec.
func (*BootstrapSpec) DeepCopyInto ¶
func (in *BootstrapSpec) DeepCopyInto(out *BootstrapSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BootstrapSpec) SetDefaults ¶
func (b *BootstrapSpec) SetDefaults(deploymentname string)
SetDefaults fills in default values when a field is not specified.
func (*BootstrapSpec) SetDefaultsFrom ¶
func (b *BootstrapSpec) SetDefaultsFrom(source BootstrapSpec)
SetDefaultsFrom fills unspecified fields with a value from given source spec.
func (*BootstrapSpec) Validate ¶
func (b *BootstrapSpec) Validate() error
Validate the specification.
type ChaosSpec ¶
type ChaosSpec struct { // Enabled switches the chaos monkey for a deployment on or off. Enabled *bool `json:"enabled,omitempty"` // Interval is the time between events Interval *time.Duration `json:"interval,omitempty"` // KillPodProbability is the chance of a pod being killed during an event KillPodProbability *Percent `json:"kill-pod-probability,omitempty"` }
ChaosSpec holds configuration for the deployment chaos monkey.
func (*ChaosSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChaosSpec.
func (*ChaosSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ChaosSpec) GetInterval ¶
GetInterval returns the value of interval.
func (ChaosSpec) GetKillPodProbability ¶
GetKillPodProbability returns the value of kill-pod-probability.
func (*ChaosSpec) SetDefaults ¶
func (s *ChaosSpec) SetDefaults()
SetDefaults fills in missing defaults
func (*ChaosSpec) SetDefaultsFrom ¶
SetDefaultsFrom fills unspecified fields with a value from given source spec.
type Condition ¶
type Condition struct { // Type of condition. Type ConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status core.ConditionStatus `json:"status"` // The last time this condition was updated. LastUpdateTime meta.Time `json:"lastUpdateTime,omitempty"` // Last time the condition transitioned from one status to another. LastTransitionTime meta.Time `json:"lastTransitionTime,omitempty"` // The reason for the condition's last transition. Reason string `json:"reason,omitempty"` // A human readable message indicating details about the transition. Message string `json:"message,omitempty"` // Hash keep propagation hash id, for example checksum of secret Hash string `json:"hash,omitempty"` // Params keeps additional params for the condition Params ConditionParams `json:"params,omitempty"` }
Condition represents one current condition of a deployment or deployment member. A condition might not show up if it is not happening. For example, if a cluster is not upgrading, the Upgrading condition would not show up.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionCheck ¶
type ConditionCheck interface { Evaluate() bool Exists() ConditionCheck IsTrue() ConditionCheck IsFalse() ConditionCheck LastTransition(d time.Duration) ConditionCheck }
type ConditionList ¶
type ConditionList []Condition
ConditionList is a list of conditions. Each type is allowed only once.
func (ConditionList) Check ¶
func (list ConditionList) Check(conditionType ConditionType) ConditionCheck
Check create a condition checker.
func (ConditionList) DeepCopy ¶
func (in ConditionList) DeepCopy() ConditionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionList.
func (ConditionList) DeepCopyInto ¶
func (in ConditionList) DeepCopyInto(out *ConditionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConditionList) Equal ¶
func (list ConditionList) Equal(other ConditionList) bool
Equal checks for equality
func (ConditionList) Get ¶
func (list ConditionList) Get(conditionType ConditionType) (Condition, bool)
Get a condition by type. Returns true if found, false if not found.
func (ConditionList) Index ¶
func (list ConditionList) Index(conditionType ConditionType) int
func (ConditionList) IsTrue ¶
func (list ConditionList) IsTrue(conditionType ConditionType) bool
IsTrue return true when a condition with given type exists and its status is `True`.
func (*ConditionList) Remove ¶
func (list *ConditionList) Remove(conditionType ConditionType) bool
Remove the condition with given type. Returns true if removed, or false if not found.
func (*ConditionList) Touch ¶
func (list *ConditionList) Touch(conditionType ConditionType) bool
Touch update condition LastUpdateTime if condition exists
func (*ConditionList) Update ¶
func (list *ConditionList) Update(conditionType ConditionType, status bool, reason, message string) bool
Update the condition, replacing an old condition with same type (if any) Returns true when changes were made, false otherwise.
func (*ConditionList) UpdateWithHash ¶
func (list *ConditionList) UpdateWithHash(conditionType ConditionType, status bool, reason, message, hash string) bool
UpdateWithHash updates the condition, replacing an old condition with same type (if any) Returns true when changes were made, false otherwise.
type ConditionParam ¶
type ConditionParam string
ConditionParam is a strongly typed condition parameter
const ( // ConditionParamContainerUpdatingName define parameter used during Image Runtime update ConditionParamContainerUpdatingName ConditionParam = "updatingContainerName" )
type ConditionParams ¶
type ConditionParams map[ConditionParam]string
func (ConditionParams) DeepCopy ¶
func (in ConditionParams) DeepCopy() ConditionParams
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConditionParams.
func (ConditionParams) DeepCopyInto ¶
func (in ConditionParams) DeepCopyInto(out *ConditionParams)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ConditionParams) Equal ¶
func (c ConditionParams) Equal(b ConditionParams) bool
Equal compare two ConditionParams objects
type ConditionType ¶
type ConditionType string
ConditionType is a strongly typed condition name
const ( // ConditionTypeReady indicates that the member or entire deployment is ready and running normally. ConditionTypeReady ConditionType = "Ready" // ConditionTypeStarted indicates that the member was ready at least once. ConditionTypeStarted ConditionType = "Started" // ConditionTypeReachable indicates that the member is reachable. ConditionTypeReachable ConditionType = "Reachable" // ConditionTypeScheduled indicates that the member primary pod is scheduled. ConditionTypeScheduled ConditionType = "Scheduled" // ConditionTypeScheduleSpecChanged indicates that the member schedule spec was changed. ConditionTypeScheduleSpecChanged ConditionType = "ScheduleSpecChanged" // ConditionTypeServing indicates that the member core services are running. ConditionTypeServing ConditionType = "Serving" // ConditionTypeActive indicates that the member server container started. ConditionTypeActive ConditionType = "Active" // ConditionTypeTerminated indicates that the member has terminated and will not restart. ConditionTypeTerminated ConditionType = "Terminated" // ConditionTypeAutoUpgrade indicates that the member has to be started with `--database.auto-upgrade` once. ConditionTypeAutoUpgrade ConditionType = "AutoUpgrade" // ConditionTypeCleanedOut indicates that the member (dbserver) has been cleaned out. // Always check in combination with ConditionTypeTerminated. ConditionTypeCleanedOut ConditionType = "CleanedOut" // ConditionTypeAgentRecoveryNeeded indicates that the member (agent) will no // longer recover from its current volume and there has to be rebuild // using the recovery procedure. ConditionTypeAgentRecoveryNeeded ConditionType = "AgentRecoveryNeeded" // ConditionTypePodSchedulingFailure indicates that one or more pods belonging to the deployment cannot be schedule. ConditionTypePodSchedulingFailure ConditionType = "PodSchedulingFailure" // ConditionTypeMemberOfCluster indicates that the member is a known member of the ArangoDB cluster. ConditionTypeMemberOfCluster ConditionType = "MemberOfCluster" // ConditionTypeTerminating indicates that the member is terminating but not yet terminated. ConditionTypeTerminating ConditionType = "Terminating" // ConditionTypeUpToDate indicates that the deployment is up to date. ConditionTypeUpToDate ConditionType = "UpToDate" // ConditionTypeSpecAccepted indicates that the deployment spec has been accepted. ConditionTypeSpecAccepted ConditionType = "SpecAccepted" // ConditionTypeSpecPropagated indicates that the deployment has been at least once UpToDate after spec acceptance. ConditionTypeSpecPropagated ConditionType = "SpecPropagated" // ConditionTypeMemberVolumeUnschedulable indicates that the member cannot schedued due to volume issue. ConditionTypeMemberVolumeUnschedulable ConditionType = "MemberVolumeUnschedulable" // ConditionTypeMarkedToRemove indicates that the member is marked to be removed. ConditionTypeMarkedToRemove ConditionType = "MarkedToRemove" // ConditionTypeScaleDownCandidate indicates that the member will be picked in ScaleDown operation (Currently not used). // Deprecated: will be removed in 1.3.0 ConditionTypeScaleDownCandidate ConditionType = "ScaleDownCandidate" // ConditionTypeUpgradeFailed indicates that upgrade failed ConditionTypeUpgradeFailed ConditionType = "UpgradeFailed" // ConditionTypeArchitectureMismatch indicates that the member has a different architecture than the deployment. ConditionTypeArchitectureMismatch ConditionType = "ArchitectureMismatch" // ConditionTypeArchitectureChangeCannotBeApplied indicates that the member has a different architecture than the requested one. ConditionTypeArchitectureChangeCannotBeApplied ConditionType = "ArchitectureChangeCannotBeApplied" // ConditionTypeMemberMaintenanceMode indicates that Maintenance is enabled on particular member ConditionTypeMemberMaintenanceMode ConditionType = "MemberMaintenanceMode" // ConditionTypeMaintenanceMode indicates that Maintenance is enabled ConditionTypeMaintenanceMode ConditionType = "MaintenanceMode" // ConditionTypePendingRestart indicates that restart is required ConditionTypePendingRestart ConditionType = "PendingRestart" // ConditionTypeRestart indicates that restart will be started ConditionTypeRestart ConditionType = "Restart" // MemberReplacementRequired indicates that the member requires a replacement to proceed with next actions. MemberReplacementRequired ConditionType = "MemberReplacementRequired" // ConditionTypePendingTLSRotation indicates that TLS rotation is pending ConditionTypePendingTLSRotation ConditionType = "PendingTLSRotation" // ConditionTypePendingUpdate indicates that runtime update is pending ConditionTypePendingUpdate ConditionType = "PendingUpdate" // ConditionTypeUpdating indicates that runtime update is in progress ConditionTypeUpdating ConditionType = "Updating" // ConditionTypeUpdateFailed indicates that runtime update failed ConditionTypeUpdateFailed ConditionType = "UpdateFailed" // ConditionTypeTopologyAware indicates that the member is deployed with TopologyAwareness. ConditionTypeTopologyAware ConditionType = "TopologyAware" // ConditionTypePVCResizePending indicates that the member has to be restarted due to PVC Resized pending action ConditionTypePVCResizePending ConditionType = "PVCResizePending" // ConditionTypeLicenseSet indicates that license V2 is set on cluster. ConditionTypeLicenseSet ConditionType = "LicenseSet" // ConditionTypeBackupInProgress indicates that there is Backup in progress on cluster ConditionTypeBackupInProgress ConditionType = "BackupInProgress" // ConditionTypeUpgradeInProgress indicates that there is upgrade in progress on cluster ConditionTypeUpgradeInProgress ConditionType = "UpgradeInProgress" // ConditionTypeUpdateInProgress indicates that there is update in progress on cluster ConditionTypeUpdateInProgress ConditionType = "UpdateInProgress" // ConditionTypeMaintenance indicates that maintenance is enabled on cluster ConditionTypeMaintenance ConditionType = "Maintenance" // ConditionTypeSyncEnabled Define if sync is enabled ConditionTypeSyncEnabled ConditionType = "SyncEnabled" )
const ( // ConditionTypeSecretsChanged indicates that the value of one of more secrets used by // the deployment have changed. Once that is the case, the operator will no longer // touch the deployment, until the original secrets have been restored. ConditionTypeSecretsChanged ConditionType = "SecretsChanged" // ConditionTypeBootstrapCompleted indicates that the initial cluster bootstrap has been completed. ConditionTypeBootstrapCompleted ConditionType = "BootstrapCompleted" // ConditionTypeBootstrapSucceded indicates that the initial cluster bootstrap completed successfully. ConditionTypeBootstrapSucceded ConditionType = "BootstrapSucceded" )
func (ConditionType) String ¶
func (c ConditionType) String() string
type DatabaseSpec ¶
type DatabaseSpec struct { // Maintenance manage maintenance mode on Cluster side. Requires maintenance feature to be enabled Maintenance *bool `json:"maintenance,omitempty"` }
func (*DatabaseSpec) DeepCopy ¶
func (in *DatabaseSpec) DeepCopy() *DatabaseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseSpec.
func (*DatabaseSpec) DeepCopyInto ¶
func (in *DatabaseSpec) DeepCopyInto(out *DatabaseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseSpec) GetMaintenance ¶
func (m *DatabaseSpec) GetMaintenance() bool
type DeploymentCommunicationMethod ¶
type DeploymentCommunicationMethod string
DeploymentCommunicationMethod define communication method used for inter-cluster communication
const ( // DefaultDeploymentCommunicationMethod define default communication method. DefaultDeploymentCommunicationMethod = DeploymentCommunicationMethodHeadlessService // DeploymentCommunicationMethodHeadlessService define old communication mechanism, based on headless service. DeploymentCommunicationMethodHeadlessService DeploymentCommunicationMethod = "headless" // DeploymentCommunicationMethodDNS define ClusterIP Service DNS based communication. DeploymentCommunicationMethodDNS DeploymentCommunicationMethod = "dns" // DeploymentCommunicationMethodShortDNS define ClusterIP Service DNS based communication. Use namespaced short DNS (used in migration) DeploymentCommunicationMethodShortDNS DeploymentCommunicationMethod = "short-dns" // DeploymentCommunicationMethodHeadlessDNS define Headless Service DNS based communication. DeploymentCommunicationMethodHeadlessDNS DeploymentCommunicationMethod = "headless-dns" // DeploymentCommunicationMethodIP define ClusterIP Service IP based communication. DeploymentCommunicationMethodIP DeploymentCommunicationMethod = "ip" )
func (*DeploymentCommunicationMethod) Get ¶
func (d *DeploymentCommunicationMethod) Get() DeploymentCommunicationMethod
Get returns communication method from pointer. If pointer is nil default is returned.
func (DeploymentCommunicationMethod) New ¶
func (d DeploymentCommunicationMethod) New() *DeploymentCommunicationMethod
New returns pointer.
func (*DeploymentCommunicationMethod) ServiceClusterIP ¶
func (d *DeploymentCommunicationMethod) ServiceClusterIP() string
ServiceClusterIP returns Service ClusterIP for communication method
func (*DeploymentCommunicationMethod) ServiceType ¶
func (d *DeploymentCommunicationMethod) ServiceType() core.ServiceType
ServiceType returns Service Type for communication method
func (DeploymentCommunicationMethod) String ¶
func (d DeploymentCommunicationMethod) String() string
String returns string representation of method.
type DeploymentFeatures ¶
type DeploymentFeatures struct {
FoxxQueues *bool `json:"foxx.queues,omitempty"`
}
func (*DeploymentFeatures) DeepCopy ¶
func (in *DeploymentFeatures) DeepCopy() *DeploymentFeatures
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentFeatures.
func (*DeploymentFeatures) DeepCopyInto ¶
func (in *DeploymentFeatures) DeepCopyInto(out *DeploymentFeatures)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentFeatures) GetFoxxQueues ¶
func (d *DeploymentFeatures) GetFoxxQueues() bool
GetFoxxQueues return if foxx queues are enabled. Defaults to true.
type DeploymentImageDiscoveryModeSpec ¶
type DeploymentImageDiscoveryModeSpec string
func NewDeploymentImageDiscoveryModeSpec ¶
func NewDeploymentImageDiscoveryModeSpec(mode DeploymentImageDiscoveryModeSpec) *DeploymentImageDiscoveryModeSpec
func (*DeploymentImageDiscoveryModeSpec) Get ¶
func (d *DeploymentImageDiscoveryModeSpec) Get() DeploymentImageDiscoveryModeSpec
func (DeploymentImageDiscoveryModeSpec) Validate ¶
func (d DeploymentImageDiscoveryModeSpec) Validate() error
type DeploymentMemberPropagationMode ¶
type DeploymentMemberPropagationMode string
const ( // DeploymentMemberPropagationModeDefault Define default propagation mode DeploymentMemberPropagationModeDefault = DeploymentMemberPropagationModeAlways // DeploymentMemberPropagationModeAlways define mode which restart member whenever change in pod is discovered DeploymentMemberPropagationModeAlways DeploymentMemberPropagationMode = "always" // DeploymentMemberPropagationModeOnRestart propagate member spec whenever pod is restarted. Do not restart member by default DeploymentMemberPropagationModeOnRestart DeploymentMemberPropagationMode = "on-restart" )
func (*DeploymentMemberPropagationMode) Equal ¶
func (d *DeploymentMemberPropagationMode) Equal(b *DeploymentMemberPropagationMode) bool
func (*DeploymentMemberPropagationMode) Get ¶
func (d *DeploymentMemberPropagationMode) Get() DeploymentMemberPropagationMode
func (DeploymentMemberPropagationMode) New ¶
func (d DeploymentMemberPropagationMode) New() *DeploymentMemberPropagationMode
func (DeploymentMemberPropagationMode) String ¶
func (d DeploymentMemberPropagationMode) String() string
type DeploymentMode ¶
type DeploymentMode string
DeploymentMode specifies the type of ArangoDB deployment to create.
const ( // DeploymentModeSingle yields a single server DeploymentModeSingle DeploymentMode = "Single" // DeploymentModeActiveFailover yields an agency and a active-failover server pair DeploymentModeActiveFailover DeploymentMode = "ActiveFailover" // DeploymentModeCluster yields an full cluster (agency, dbservers & coordinators) DeploymentModeCluster DeploymentMode = "Cluster" )
func ModeOrDefault ¶
func ModeOrDefault(input *DeploymentMode, defaultValue ...DeploymentMode) DeploymentMode
ModeOrDefault returns the default value (or empty string) if input is nil, otherwise returns the referenced value.
func NewMode ¶
func NewMode(input DeploymentMode) *DeploymentMode
NewMode returns a reference to a string with given value.
func NewModeOrNil ¶
func NewModeOrNil(input *DeploymentMode) *DeploymentMode
NewModeOrNil returns nil if input is nil, otherwise returns a clone of the given value.
func (*DeploymentMode) Get ¶
func (m *DeploymentMode) Get() DeploymentMode
Get mode or default value
func (DeploymentMode) HasAgents ¶
func (m DeploymentMode) HasAgents() bool
HasAgents returns true when the given mode is "ActiveFailover" or "Cluster".
func (DeploymentMode) HasCoordinators ¶
func (m DeploymentMode) HasCoordinators() bool
HasCoordinators returns true when the given mode is "Cluster".
func (DeploymentMode) HasDBServers ¶
func (m DeploymentMode) HasDBServers() bool
HasDBServers returns true when the given mode is "Cluster".
func (DeploymentMode) HasSingleServers ¶
func (m DeploymentMode) HasSingleServers() bool
HasSingleServers returns true when the given mode is "Single" or "ActiveFailover".
func (DeploymentMode) IsCluster ¶
func (m DeploymentMode) IsCluster() bool
IsCluster returns true if the deployment mode is cluster
func (DeploymentMode) New ¶
func (m DeploymentMode) New() *DeploymentMode
Nww return pointer to mode
func (DeploymentMode) ServingGroup ¶
func (m DeploymentMode) ServingGroup() ServerGroup
ServingGroup returns mode serving group
func (*DeploymentMode) String ¶
func (m *DeploymentMode) String() string
String return string from mode
func (DeploymentMode) SupportsSync ¶
func (m DeploymentMode) SupportsSync() bool
SupportsSync returns true when the given mode supports dc2dc replication.
func (DeploymentMode) Validate ¶
func (m DeploymentMode) Validate() error
Validate the mode. Return errors when validation fails, nil on success.
type DeploymentPhase ¶
type DeploymentPhase string
DeploymentPhase is a strongly typed lifetime phase of a deployment
const ( // DeploymentPhaseNone indicates that the phase is not set yet DeploymentPhaseNone DeploymentPhase = "" // DeploymentPhaseRunning indicates that the deployment is under control of the // ArangoDeployment operator. DeploymentPhaseRunning DeploymentPhase = "Running" // DeploymentPhaseFailed indicates that a deployment is in a failed state // from which automatic recovery is impossible. Inspect `Reason` for more info. DeploymentPhaseFailed DeploymentPhase = "Failed" )
func (DeploymentPhase) IsFailed ¶
func (cs DeploymentPhase) IsFailed() bool
IsFailed returns true if given state is DeploymentStateFailed
type DeploymentRestoreResult ¶
type DeploymentRestoreResult struct { RequestedFrom string `json:"requestedFrom"` State DeploymentRestoreState `json:"state"` Message string `json:"message,omitempty"` }
func (*DeploymentRestoreResult) DeepCopy ¶
func (in *DeploymentRestoreResult) DeepCopy() *DeploymentRestoreResult
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentRestoreResult.
func (*DeploymentRestoreResult) DeepCopyInto ¶
func (in *DeploymentRestoreResult) DeepCopyInto(out *DeploymentRestoreResult)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentRestoreResult) Equal ¶
func (dr *DeploymentRestoreResult) Equal(other *DeploymentRestoreResult) bool
type DeploymentRestoreState ¶
type DeploymentRestoreState string
const ( DeploymentRestoreStateRestoring DeploymentRestoreState = "Restoring" DeploymentRestoreStateRestored DeploymentRestoreState = "Restored" DeploymentRestoreStateRestoreFailed DeploymentRestoreState = "RestoreFailed" )
type DeploymentSpec ¶
type DeploymentSpec struct { // Mode specifies the type of ArangoDB deployment to create. // +doc/enum: Cluster|Full cluster. Defaults to 3 Agents, 3 DB-Servers & 3 Coordinators. // +doc/enum: ActiveFailover|Active-failover single pair. Defaults to 3 Agents and 2 single servers. // +doc/enum: Single|Single server only (note this does not provide high availability or reliability). // +doc/immutable: Change of the ArangoDeployment Mode is not possible after creation. Mode *DeploymentMode `json:"mode,omitempty"` // Environment setting specifies the type of environment in which the deployment is created. // +doc/enum: Development|This value optimizes the deployment for development use. It is possible to run a deployment on a small number of nodes (e.g. minikube). // +doc/enum: Production|This value optimizes the deployment for production use. It puts required affinity constraints on all pods to avoid Agents & DB-Servers from running on the same machine. Environment *Environment `json:"environment,omitempty"` // StorageEngine specifies the type of storage engine used for all servers in the cluster. // +doc/enum: RocksDB|To use the RocksDB storage engine. // +doc/enum: MMFiles|To use the MMFiles storage engine. Deprecated. // +doc/immutable: This setting cannot be changed after the cluster has been created. // +doc/default: RocksDB StorageEngine *StorageEngine `json:"storageEngine,omitempty"` // Image specifies the docker image to use for all ArangoDB servers. // In a development environment this setting defaults to arangodb/arangodb:latest. // For production environments this is a required setting without a default value. // It is highly recommend to use explicit version (not latest) for production environments. Image *string `json:"image,omitempty"` // ImagePullPolicy specifies the pull policy for the docker image to use for all ArangoDB servers. // +doc/type: core.PullPolicy // +doc/enum: Always|Means that kubelet always attempts to pull the latest image. Container will fail If the pull fails. // +doc/enum: Never|Means that kubelet never pulls an image, but only uses a local image. Container will fail if the image isn't present // +doc/enum: IfNotPresent|Means that kubelet pulls if the image isn't present on disk. Container will fail if the image isn't present and the pull fails. // +doc/link: Documentation of core.PullPolicy|https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy ImagePullPolicy *core.PullPolicy `json:"imagePullPolicy,omitempty"` // ImagePullSecrets specifies the list of image pull secrets for the docker image to use for all ArangoDB servers. ImagePullSecrets []string `json:"imagePullSecrets,omitempty"` // ImageDiscoveryMode specifies the image discovery mode. // +doc/enum: kubelet|Use sha256 of the discovered image in the pods // +doc/enum: direct|Use image provided in the spec.image directly in the pods ImageDiscoveryMode *DeploymentImageDiscoveryModeSpec `json:"imageDiscoveryMode,omitempty"` // DowntimeAllowed setting is used to allow automatic reconciliation actions that yield some downtime of the ArangoDB deployment. // When this setting is set to false, no automatic action that may result in downtime is allowed. // If the need for such an action is detected, an event is added to the ArangoDeployment. // Once this setting is set to true, the automatic action is executed. // Operations that may result in downtime are: // - Rotating TLS CA certificate // Note: It is still possible that there is some downtime when the Kubernetes cluster is down, or in a bad state, irrespective of the value of this setting. // +doc/default: false DowntimeAllowed *bool `json:"downtimeAllowed,omitempty"` // DisableIPv6 setting prevents the use of IPv6 addresses by ArangoDB servers. // This setting cannot be changed after the deployment has been created. // +doc/default: false DisableIPv6 *bool `json:"disableIPv6,omitempty"` // Upgrade allows to configure upgrade-related options Upgrade *DeploymentUpgradeSpec `json:"upgrade,omitempty"` // Features allows to configure feature flags Features *DeploymentFeatures `json:"features,omitempty"` // NetworkAttachedVolumes // If set to `true`, a ResignLeadership operation will be triggered when a DB-Server pod is evicted (rather than a CleanOutServer operation). // Furthermore, the pod will simply be redeployed on a different node, rather than cleaned and retired and replaced by a new member. // You must only set this option to true if your persistent volumes are “movable” in the sense that they can be mounted from a different k8s node, like in the case of network attached volumes. // If your persistent volumes are tied to a specific pod, you must leave this option on false. // +doc/default: true NetworkAttachedVolumes *bool `json:"networkAttachedVolumes,omitempty"` // Annotations specifies the annotations added to all ArangoDeployment owned resources (pods, services, PVC’s, PDB’s). Annotations map[string]string `json:"annotations,omitempty"` // AnnotationsIgnoreList list regexp or plain definitions which annotations should be ignored AnnotationsIgnoreList []string `json:"annotationsIgnoreList,omitempty"` // AnnotationsMode defines annotations mode which should be use while overriding annotations. // +doc/enum: disabled|Disable annotations/labels override. Default if there is no annotations/labels set in ArangoDeployment // +doc/enum: append|Add new annotations/labels without affecting old ones // +doc/enum: replace|Replace existing annotations/labels AnnotationsMode *LabelsMode `json:"annotationsMode,omitempty"` // Labels specifies the labels added to Pods in this group. Labels map[string]string `json:"labels,omitempty"` // LabelsIgnoreList list regexp or plain definitions which labels should be ignored LabelsIgnoreList []string `json:"labelsIgnoreList,omitempty"` // LabelsMode Define labels mode which should be use while overriding labels // +doc/enum: disabled|Disable annotations/labels override. Default if there is no annotations/labels set in ArangoDeployment // +doc/enum: append|Add new annotations/labels without affecting old ones // +doc/enum: replace|Replace existing annotations/labels LabelsMode *LabelsMode `json:"labelsMode,omitempty"` // RestoreFrom setting specifies a `ArangoBackup` resource name the cluster should be restored from. // After a restore or failure to do so, the status of the deployment contains information about the restore operation in the restore key. // It will contain some of the following fields: // - `requestedFrom`: name of the ArangoBackup used to restore from. // - `message`: optional message explaining why the restore failed. // - `state`: state indicating if the restore was successful or not. Possible values: Restoring, Restored, RestoreFailed // If the restoreFrom key is removed from the spec, the restore key is deleted as well. // A new restore attempt is made if and only if either in the status restore is not set or if spec.restoreFrom and status.requestedFrom are different. RestoreFrom *string `json:"restoreFrom,omitempty"` // RestoreEncryptionSecret specifies optional name of secret which contains encryption key used for restore RestoreEncryptionSecret *string `json:"restoreEncryptionSecret,omitempty"` // AllowUnsafeUpgrade determines if upgrade on missing member or with not in sync shards is allowed AllowUnsafeUpgrade *bool `json:"allowUnsafeUpgrade,omitempty"` // ExternalAccess holds configuration for the external access provided for the deployment. ExternalAccess ExternalAccessSpec `json:"externalAccess"` // RocksDB holds rocksdb-specific configuration settings RocksDB RocksDBSpec `json:"rocksdb"` // Authentication holds authentication configuration settings Authentication AuthenticationSpec `json:"auth"` // TLS holds TLS configuration settings TLS TLSSpec `json:"tls"` // Sync holds Deployment-to-Deployment synchronization configuration settings Sync SyncSpec `json:"sync"` // License holds license settings License LicenseSpec `json:"license"` // Metrics holds metrics configuration settings Metrics MetricsSpec `json:"metrics"` // Lifecycle holds lifecycle configuration settings Lifecycle LifecycleSpec `json:"lifecycle,omitempty"` // ServerIDGroupSpec contains the specification for Image Discovery image. ID *ServerIDGroupSpec `json:"id,omitempty"` // Database holds information about database state, like maintenance mode Database *DatabaseSpec `json:"database,omitempty"` // Single contains specification for servers running in deployment mode `Single` or `ActiveFailover`. Single ServerGroupSpec `json:"single"` // Agents contains specification for Agency pods running in deployment mode `Cluster` or `ActiveFailover`. Agents ServerGroupSpec `json:"agents"` // DBServers contains specification for DBServer pods running in deployment mode `Cluster` or `ActiveFailover`. DBServers ServerGroupSpec `json:"dbservers"` // Coordinators contains specification for Coordinator pods running in deployment mode `Cluster` or `ActiveFailover`. Coordinators ServerGroupSpec `json:"coordinators"` // SyncMasters contains specification for Syncmaster pods running in deployment mode `Cluster`. SyncMasters ServerGroupSpec `json:"syncmasters"` // SyncWorkers contains specification for Syncworker pods running in deployment mode `Cluster`. SyncWorkers ServerGroupSpec `json:"syncworkers"` // Gateways contain specification for Gateway pods running in deployment mode `Single` or `Cluster`. Gateways *ServerGroupSpec `json:"gateways,omitempty"` // MemberPropagationMode defines how changes to pod spec should be propogated. // Changes to a pod’s configuration require a restart of that pod in almost all cases. // Pods are restarted eagerly by default, which can cause more restarts than desired, especially when updating arangod as well as the operator. // The propagation of the configuration changes can be deferred to the next restart, either triggered manually by the user or by another operation like an upgrade. // This reduces the number of restarts for upgrading both the server and the operator from two to one. // +doc/enum: always|Restart the member as soon as a configuration change is discovered // +doc/enum: on-restart|Wait until the next restart to change the member configuration MemberPropagationMode *DeploymentMemberPropagationMode `json:"memberPropagationMode,omitempty"` // ChaosSpec can be used for chaos-monkey testing of your ArangoDeployment Chaos ChaosSpec `json:"chaos"` // Recovery specifies configuration related to cluster recovery. Recovery *ArangoDeploymentRecoverySpec `json:"recovery,omitempty"` // Bootstrap contains information for cluster bootstrapping Bootstrap BootstrapSpec `json:"bootstrap,omitempty"` // Timeouts object allows to configure various time-outs Timeouts *Timeouts `json:"timeouts,omitempty"` // ClusterDomain define domain used in the kubernetes cluster. // Required only of domain is not set to default (cluster.local) // +doc/default: cluster.local ClusterDomain *string `json:"ClusterDomain,omitempty"` // CommunicationMethod define communication method used in deployment // +doc/enum: headless|Define old communication mechanism, based on headless service. // +doc/enum: dns|Define ClusterIP Service DNS based communication. // +doc/enum: short-dns|Define ClusterIP Service DNS based communication. Use namespaced short DNS (used in migration) // +doc/enum: headless-dns|Define Headless Service DNS based communication. // +doc/enum: ip|Define ClusterIP Service IP based communication. CommunicationMethod *DeploymentCommunicationMethod `json:"communicationMethod,omitempty"` // Topology define topology adjustment details, Enterprise only Topology *TopologySpec `json:"topology,omitempty"` // Rebalancer defines the rebalancer specification Rebalancer *ArangoDeploymentRebalancerSpec `json:"rebalancer,omitempty"` // Architecture defines the list of supported architectures. // First element on the list is marked as default architecture. // Possible values are: // - `amd64`: Use processors with the x86-64 architecture. // - `arm64`: Use processors with the 64-bit ARM architecture. // The setting expects a list of strings, but you should only specify a single // list item for the architecture, except when you want to migrate from one // architecture to the other. The first list item defines the new default // architecture for the deployment that you want to migrate to. // +doc/link: Architecture Change|../how-to/arch_change.md // +doc/type: []string // +doc/default: ['amd64'] Architecture ArangoDeploymentArchitecture `json:"architecture,omitempty"` // Timezone if specified, will set a timezone for deployment. // Must be in format accepted by "tzdata", e.g. `America/New_York` or `Europe/London` Timezone *string `json:"timezone,omitempty"` // Gateway defined main Gateway configuration. Gateway *DeploymentSpecGateway `json:"gateway,omitempty"` // Integration defined main Integration configuration. Integration *DeploymentSpecIntegration `json:"integration,omitempty"` }
DeploymentSpec contains the spec part of a ArangoDeployment resource.
func (DeploymentSpec) Checksum ¶
func (s DeploymentSpec) Checksum() (string, error)
Checksum return checksum of current ArangoDeployment Spec section
func (*DeploymentSpec) DeepCopy ¶
func (in *DeploymentSpec) DeepCopy() *DeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentSpec.
func (*DeploymentSpec) DeepCopyInto ¶
func (in *DeploymentSpec) DeepCopyInto(out *DeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentSpec) Equal ¶
func (s *DeploymentSpec) Equal(other *DeploymentSpec) bool
Equal compares two DeploymentSpec
func (*DeploymentSpec) GetAllowMemberRecreation ¶
func (s *DeploymentSpec) GetAllowMemberRecreation(group ServerGroup) bool
GetAllowMemberRecreation returns member recreation policy based on group and settings
func (DeploymentSpec) GetAnnotations ¶
func (s DeploymentSpec) GetAnnotations() map[string]string
GetAnnotations returns the annotations of this group
func (DeploymentSpec) GetCoreContainers ¶
func (s DeploymentSpec) GetCoreContainers(group ServerGroup) utils.StringList
GetCoreContainers returns all containers' names which must running in the pod for the given group of servers.
func (DeploymentSpec) GetEnvironment ¶
func (s DeploymentSpec) GetEnvironment() Environment
GetEnvironment returns the value of environment.
func (DeploymentSpec) GetGroupPort ¶
func (s DeploymentSpec) GetGroupPort(group ServerGroup) uint16
func (DeploymentSpec) GetImage ¶
func (s DeploymentSpec) GetImage() string
GetImage returns the value of image.
func (DeploymentSpec) GetImagePullPolicy ¶
func (s DeploymentSpec) GetImagePullPolicy() core.PullPolicy
GetImagePullPolicy returns the value of imagePullPolicy.
func (DeploymentSpec) GetListenAddr ¶
func (s DeploymentSpec) GetListenAddr() string
GetListenAddr returns "[::]" or "0.0.0.0" depending on IsDisableIPv6
func (DeploymentSpec) GetMode ¶
func (s DeploymentSpec) GetMode() DeploymentMode
GetMode returns the value of mode.
func (*DeploymentSpec) GetRestoreFrom ¶
func (s *DeploymentSpec) GetRestoreFrom() string
GetRestoreFrom returns the restore from string or empty string if not set
func (DeploymentSpec) GetServerGroupSpec ¶
func (s DeploymentSpec) GetServerGroupSpec(group ServerGroup) ServerGroupSpec
GetServerGroupSpec returns the server group spec (from this deployment spec) for the given group.
func (DeploymentSpec) GetStorageEngine ¶
func (s DeploymentSpec) GetStorageEngine() StorageEngine
GetStorageEngine returns the value of storageEngine.
func (DeploymentSpec) GetSyncImage ¶
func (s DeploymentSpec) GetSyncImage() string
GetSyncImage returns, if set, Sync.Image or the default image.
func (*DeploymentSpec) HasRestoreFrom ¶
func (s *DeploymentSpec) HasRestoreFrom() bool
HasRestoreFrom returns true if RestoreFrom is set
func (DeploymentSpec) IsAuthenticated ¶
func (s DeploymentSpec) IsAuthenticated() bool
IsAuthenticated returns true when authentication is enabled
func (DeploymentSpec) IsDevelopment ¶
func (s DeploymentSpec) IsDevelopment() bool
IsDevelopment returns true when the spec contains a Development environment.
func (DeploymentSpec) IsDisableIPv6 ¶
func (s DeploymentSpec) IsDisableIPv6() bool
IsDisableIPv6 returns the value of disableIPv6.
func (DeploymentSpec) IsDowntimeAllowed ¶
func (s DeploymentSpec) IsDowntimeAllowed() bool
IsDowntimeAllowed returns the value of downtimeAllowed.
func (DeploymentSpec) IsGatewayEnabled ¶
func (s DeploymentSpec) IsGatewayEnabled() bool
IsGatewayEnabled returns true when the deployment has gateways enabled.
func (DeploymentSpec) IsNetworkAttachedVolumes ¶
func (s DeploymentSpec) IsNetworkAttachedVolumes() bool
IsNetworkAttachedVolumes returns the value of networkAttachedVolumes, default false
func (DeploymentSpec) IsProduction ¶
func (s DeploymentSpec) IsProduction() bool
IsProduction returns true when the spec contains a Production environment.
func (DeploymentSpec) IsSecure ¶
func (s DeploymentSpec) IsSecure() bool
IsSecure returns true when SSL is enabled
func (DeploymentSpec) ResetImmutableFields ¶
func (s DeploymentSpec) ResetImmutableFields(target *DeploymentSpec) []string
ResetImmutableFields replaces all immutable fields in the given target with values from the source spec. It returns a list of fields that have been reset. Field names are relative to `spec.`.
func (*DeploymentSpec) SetDefaults ¶
func (s *DeploymentSpec) SetDefaults(deploymentName string)
SetDefaults fills in default values when a field is not specified.
func (*DeploymentSpec) SetDefaultsFrom ¶
func (s *DeploymentSpec) SetDefaultsFrom(source DeploymentSpec)
SetDefaultsFrom fills unspecified fields with a value from given source spec.
func (*DeploymentSpec) UpdateServerGroupSpec ¶
func (s *DeploymentSpec) UpdateServerGroupSpec(group ServerGroup, gspec ServerGroupSpec)
UpdateServerGroupSpec returns the server group spec (from this deployment spec) for the given group.
func (*DeploymentSpec) Validate ¶
func (s *DeploymentSpec) Validate() error
Validate the specification. Return errors when validation fails, nil on success.
type DeploymentSpecGateway ¶
type DeploymentSpecGateway struct { // Enabled setting enables/disables support for gateway in the cluster. // When enabled, the cluster will contain a number of `gateway` servers. // +doc/default: false Enabled *bool `json:"enabled,omitempty"` // Dynamic setting enables/disables support dynamic configuration of the gateway in the cluster. // When enabled, gateway config will be reloaded by ConfigMap live updates. // +doc/default: false Dynamic *bool `json:"dynamic,omitempty"` // Image is the image to use for the gateway. // By default, the image is determined by the operator. Image *string `json:"image"` }
func (*DeploymentSpecGateway) DeepCopy ¶
func (in *DeploymentSpecGateway) DeepCopy() *DeploymentSpecGateway
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentSpecGateway.
func (*DeploymentSpecGateway) DeepCopyInto ¶
func (in *DeploymentSpecGateway) DeepCopyInto(out *DeploymentSpecGateway)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentSpecGateway) GetImage ¶
func (d *DeploymentSpecGateway) GetImage() string
GetImage returns the image to use for the gateway.
func (*DeploymentSpecGateway) IsDynamic ¶
func (d *DeploymentSpecGateway) IsDynamic() bool
IsDynamic returns whether the gateway dynamic config is enabled.
func (*DeploymentSpecGateway) IsEnabled ¶
func (d *DeploymentSpecGateway) IsEnabled() bool
IsEnabled returns whether the gateway is enabled.
func (*DeploymentSpecGateway) Validate ¶
func (d *DeploymentSpecGateway) Validate() error
Validate the given spec
type DeploymentSpecIntegration ¶
type DeploymentSpecIntegration struct { // Sidecar define the integration sidecar spec Sidecar *schedulerIntegrationApi.Sidecar `json:"sidecar,omitempty"` }
func (*DeploymentSpecIntegration) DeepCopy ¶
func (in *DeploymentSpecIntegration) DeepCopy() *DeploymentSpecIntegration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentSpecIntegration.
func (*DeploymentSpecIntegration) DeepCopyInto ¶
func (in *DeploymentSpecIntegration) DeepCopyInto(out *DeploymentSpecIntegration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentSpecIntegration) GetSidecar ¶
func (d *DeploymentSpecIntegration) GetSidecar() *schedulerIntegrationApi.Sidecar
func (*DeploymentSpecIntegration) Validate ¶
func (d *DeploymentSpecIntegration) Validate() error
Validate the given spec
type DeploymentStatus ¶
type DeploymentStatus struct { // Phase holds the current lifetime phase of the deployment Phase DeploymentPhase `json:"phase,omitempty"` // Reason contains a human readable reason for reaching the current state (can be empty) Reason string `json:"reason,omitempty"` // Reason for current state // AppliedVersion defines checksum of applied spec AppliedVersion string `json:"appliedVersion"` // AcceptedSpecVersion defines checksum of accepted spec AcceptedSpecVersion *string `json:"acceptedSpecVersion,omitempty"` // ServiceName holds the name of the Service a client can use (inside the k8s cluster) // to access ArangoDB. ServiceName string `json:"serviceName,omitempty"` // SyncServiceName holds the name of the Service a client can use (inside the k8s cluster) // to access syncmasters (only set when dc2dc synchronization is enabled). SyncServiceName string `json:"syncServiceName,omitempty"` ExporterServiceName string `json:"exporterServiceName,omitempty"` ExporterServiceMonitorName string `json:"exporterServiceMonitorName,omitempty"` Restore *DeploymentRestoreResult `json:"restore,omitempty"` // Images holds a list of ArangoDB images with their ID and ArangoDB version. Images ImageInfoList `json:"arangodb-images,omitempty"` // Image that is currently being used when new pods are created CurrentImage *ImageInfo `json:"current-image,omitempty"` // Members holds the status for all members in all server groups Members DeploymentStatusMembers `json:"members"` // Conditions specific to the entire deployment Conditions ConditionList `json:"conditions,omitempty"` // Plan to update this deployment Plan Plan `json:"plan,omitempty"` // HighPriorityPlan to update this deployment. Executed before plan HighPriorityPlan Plan `json:"highPriorityPlan,omitempty"` // ResourcesPlan to update this deployment. Executed before plan, after highPlan ResourcesPlan Plan `json:"resourcesPlan,omitempty"` // AcceptedSpec contains the last specification that was accepted by the operator. AcceptedSpec *DeploymentSpec `json:"accepted-spec,omitempty"` // SecretHashes keeps a sha256 hash of secret values, so we can // detect changes in secret values. SecretHashes *SecretHashes `json:"secret-hashes,omitempty"` // Hashes keep status of hashes in deployment Hashes DeploymentStatusHashes `json:"hashes,omitempty"` // ForceStatusReload if set to true forces a reload of the status from the custom resource. ForceStatusReload *bool `json:"force-status-reload,omitempty"` // Agency keeps information about agency Agency *DeploymentStatusAgencyInfo `json:"agency,omitempty"` Topology *TopologyStatus `json:"topology,omitempty"` Rebalancer *ArangoDeploymentRebalancerStatus `json:"rebalancer,omitempty"` BackOff BackOff `json:"backoff,omitempty"` Version *Version `json:"version,omitempty"` Timezone *string `json:"timezone,omitempty"` Single *ServerGroupStatus `json:"single,omitempty"` Agents *ServerGroupStatus `json:"agents,omitempty"` DBServers *ServerGroupStatus `json:"dbservers,omitempty"` Coordinators *ServerGroupStatus `json:"coordinators,omitempty"` SyncMasters *ServerGroupStatus `json:"syncmasters,omitempty"` SyncWorkers *ServerGroupStatus `json:"syncworkers,omitempty"` Gateways *ServerGroupStatus `json:"gateways,omitempty"` }
DeploymentStatus contains the status part of a Cluster resource.
func (*DeploymentStatus) DeepCopy ¶
func (in *DeploymentStatus) DeepCopy() *DeploymentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatus.
func (*DeploymentStatus) DeepCopyInto ¶
func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentStatus) Equal ¶
func (ds *DeploymentStatus) Equal(other DeploymentStatus) bool
Equal checks for equality
func (DeploymentStatus) GetServerGroupStatus ¶
func (ds DeploymentStatus) GetServerGroupStatus(group ServerGroup) ServerGroupStatus
GetServerGroupStatus returns the server group status (from this deployment status) for the given group.
func (*DeploymentStatus) IsForceReload ¶
func (ds *DeploymentStatus) IsForceReload() bool
IsForceReload returns true if ForceStatusReload is set to true
func (*DeploymentStatus) IsPlanEmpty ¶
func (ds *DeploymentStatus) IsPlanEmpty() bool
func (*DeploymentStatus) NonInternalActions ¶
func (ds *DeploymentStatus) NonInternalActions() int
func (*DeploymentStatus) UpdateServerGroupStatus ¶
func (ds *DeploymentStatus) UpdateServerGroupStatus(group ServerGroup, gspec ServerGroupStatus)
UpdateServerGroupStatus returns the server group status (from this deployment status) for the given group.
type DeploymentStatusAgencyIDs ¶
type DeploymentStatusAgencyIDs []string
func (DeploymentStatusAgencyIDs) DeepCopy ¶
func (in DeploymentStatusAgencyIDs) DeepCopy() DeploymentStatusAgencyIDs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatusAgencyIDs.
func (DeploymentStatusAgencyIDs) DeepCopyInto ¶
func (in DeploymentStatusAgencyIDs) DeepCopyInto(out *DeploymentStatusAgencyIDs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DeploymentStatusAgencyIDs) Equal ¶
func (d DeploymentStatusAgencyIDs) Equal(b DeploymentStatusAgencyIDs) bool
func (DeploymentStatusAgencyIDs) Sort ¶
func (d DeploymentStatusAgencyIDs) Sort()
type DeploymentStatusAgencyInfo ¶
type DeploymentStatusAgencyInfo struct { Size *DeploymentStatusAgencySize `json:"size,omitempty"` IDs DeploymentStatusAgencyIDs `json:"ids,omitempty"` }
func (*DeploymentStatusAgencyInfo) DeepCopy ¶
func (in *DeploymentStatusAgencyInfo) DeepCopy() *DeploymentStatusAgencyInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatusAgencyInfo.
func (*DeploymentStatusAgencyInfo) DeepCopyInto ¶
func (in *DeploymentStatusAgencyInfo) DeepCopyInto(out *DeploymentStatusAgencyInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentStatusAgencyInfo) Equal ¶
func (d *DeploymentStatusAgencyInfo) Equal(b *DeploymentStatusAgencyInfo) bool
type DeploymentStatusAgencySize ¶
type DeploymentStatusAgencySize int
func (*DeploymentStatusAgencySize) Equal ¶
func (d *DeploymentStatusAgencySize) Equal(b *DeploymentStatusAgencySize) bool
type DeploymentStatusHashes ¶
type DeploymentStatusHashes struct { Encryption DeploymentStatusHashesEncryption `json:"rocksDBEncryption,omitempty"` TLS DeploymentStatusHashesTLS `json:"tls,omitempty"` JWT DeploymentStatusHashesJWT `json:"jwt,omitempty"` }
func (*DeploymentStatusHashes) DeepCopy ¶
func (in *DeploymentStatusHashes) DeepCopy() *DeploymentStatusHashes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatusHashes.
func (*DeploymentStatusHashes) DeepCopyInto ¶
func (in *DeploymentStatusHashes) DeepCopyInto(out *DeploymentStatusHashes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentStatusHashesEncryption ¶
type DeploymentStatusHashesEncryption struct { Keys sharedApi.HashList `json:"keys,omitempty"` Propagated bool `json:"propagated,omitempty"` }
func (*DeploymentStatusHashesEncryption) DeepCopy ¶
func (in *DeploymentStatusHashesEncryption) DeepCopy() *DeploymentStatusHashesEncryption
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatusHashesEncryption.
func (*DeploymentStatusHashesEncryption) DeepCopyInto ¶
func (in *DeploymentStatusHashesEncryption) DeepCopyInto(out *DeploymentStatusHashesEncryption)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentStatusHashesJWT ¶
type DeploymentStatusHashesJWT struct { Active string `json:"active,omitempty"` Passive sharedApi.HashList `json:"passive,omitempty"` Propagated bool `json:"propagated,omitempty"` }
func (*DeploymentStatusHashesJWT) DeepCopy ¶
func (in *DeploymentStatusHashesJWT) DeepCopy() *DeploymentStatusHashesJWT
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatusHashesJWT.
func (*DeploymentStatusHashesJWT) DeepCopyInto ¶
func (in *DeploymentStatusHashesJWT) DeepCopyInto(out *DeploymentStatusHashesJWT)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentStatusHashesTLS ¶
type DeploymentStatusHashesTLS struct { CA *string `json:"ca,omitempty"` Truststore sharedApi.HashList `json:"truststore,omitempty"` Propagated bool `json:"propagated,omitempty"` }
func (*DeploymentStatusHashesTLS) DeepCopy ¶
func (in *DeploymentStatusHashesTLS) DeepCopy() *DeploymentStatusHashesTLS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatusHashesTLS.
func (*DeploymentStatusHashesTLS) DeepCopyInto ¶
func (in *DeploymentStatusHashesTLS) DeepCopyInto(out *DeploymentStatusHashesTLS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentStatusMemberElement ¶
type DeploymentStatusMemberElement struct { Group ServerGroup `json:"group,omitempty"` Member MemberStatus `json:"member,omitempty"` }
DeploymentStatusMemberElement holds one specific element with group and member status
func (*DeploymentStatusMemberElement) DeepCopy ¶
func (in *DeploymentStatusMemberElement) DeepCopy() *DeploymentStatusMemberElement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatusMemberElement.
func (*DeploymentStatusMemberElement) DeepCopyInto ¶
func (in *DeploymentStatusMemberElement) DeepCopyInto(out *DeploymentStatusMemberElement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentStatusMemberElements ¶
type DeploymentStatusMemberElements []DeploymentStatusMemberElement
func (DeploymentStatusMemberElements) DeepCopy ¶
func (in DeploymentStatusMemberElements) DeepCopy() DeploymentStatusMemberElements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatusMemberElements.
func (DeploymentStatusMemberElements) DeepCopyInto ¶
func (in DeploymentStatusMemberElements) DeepCopyInto(out *DeploymentStatusMemberElements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DeploymentStatusMemberElements) ForEach ¶
func (d DeploymentStatusMemberElements) ForEach(f func(id int))
type DeploymentStatusMemberElementsCondFunc ¶
type DeploymentStatusMemberElementsCondFunc func(a DeploymentStatusMemberElement) bool
type DeploymentStatusMemberElementsSortFunc ¶
type DeploymentStatusMemberElementsSortFunc func(a, b DeploymentStatusMemberElement) bool
type DeploymentStatusMembers ¶
type DeploymentStatusMembers struct { Single MemberStatusList `json:"single,omitempty"` Agents MemberStatusList `json:"agents,omitempty"` DBServers MemberStatusList `json:"dbservers,omitempty"` Coordinators MemberStatusList `json:"coordinators,omitempty"` SyncMasters MemberStatusList `json:"syncmasters,omitempty"` SyncWorkers MemberStatusList `json:"syncworkers,omitempty"` Gateways MemberStatusList `json:"gateways,omitempty"` }
DeploymentStatusMembers holds the member status of all server groups
func (*DeploymentStatusMembers) Add ¶
func (ds *DeploymentStatusMembers) Add(status MemberStatus, group ServerGroup) error
Add adds the given status in the given group.
func (DeploymentStatusMembers) AllMembersReady ¶
func (ds DeploymentStatusMembers) AllMembersReady(mode DeploymentMode, syncEnabled, gatewayEnabled bool) bool
AllMembersReady returns true when all members, that must be ready for the given mode are in the Ready state.
func (DeploymentStatusMembers) AsList ¶
func (ds DeploymentStatusMembers) AsList() DeploymentStatusMemberElements
func (DeploymentStatusMembers) AsListInGroup ¶
func (ds DeploymentStatusMembers) AsListInGroup(group ServerGroup) DeploymentStatusMemberElements
func (DeploymentStatusMembers) AsListInGroups ¶
func (ds DeploymentStatusMembers) AsListInGroups(groups ...ServerGroup) DeploymentStatusMemberElements
func (DeploymentStatusMembers) ContainsID ¶
func (ds DeploymentStatusMembers) ContainsID(id string) bool
ContainsID returns true if the given set of members contains a member with given ID.
func (*DeploymentStatusMembers) DeepCopy ¶
func (in *DeploymentStatusMembers) DeepCopy() *DeploymentStatusMembers
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentStatusMembers.
func (*DeploymentStatusMembers) DeepCopyInto ¶
func (in *DeploymentStatusMembers) DeepCopyInto(out *DeploymentStatusMembers)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (DeploymentStatusMembers) ElementByID ¶
func (ds DeploymentStatusMembers) ElementByID(id string) (MemberStatus, ServerGroup, bool)
ElementByID returns the element in the given list that has the given ID and true. If no such element exists, false is returned.
func (DeploymentStatusMembers) Equal ¶
func (ds DeploymentStatusMembers) Equal(other DeploymentStatusMembers) bool
Equal checks for equality
func (DeploymentStatusMembers) ForServerGroup ¶
func (ds DeploymentStatusMembers) ForServerGroup(cb MemberStatusFunc, group ServerGroup) error
ForServerGroup calls the given callback for specified server group. Deprecated. Use AsListInGroup or MembersOfGroup
func (DeploymentStatusMembers) ForeachServerGroup ¶
func (ds DeploymentStatusMembers) ForeachServerGroup(cb MemberStatusFunc) error
ForeachServerGroup calls the given callback for all server groups. If the callback returns an error, this error is returned and the callback is not called for the remaining groups. Deprecated. Use AsList instead
func (DeploymentStatusMembers) ForeachServerInGroups ¶
func (ds DeploymentStatusMembers) ForeachServerInGroups(cb MemberStatusFunc, groups ...ServerGroup) error
ForeachServerInGroups calls the given callback for specified server groups. Deprecated. Use AsListInGroups instead
func (DeploymentStatusMembers) MemberStatusByPVCName ¶
func (ds DeploymentStatusMembers) MemberStatusByPVCName(pvcName string) (MemberStatus, ServerGroup, bool)
MemberStatusByPVCName returns a reference to the element in the given set of lists that has the given PVC name. If no such element exists, nil is returned.
func (DeploymentStatusMembers) MemberStatusByPodName ¶
func (ds DeploymentStatusMembers) MemberStatusByPodName(podName string) (MemberStatus, ServerGroup, bool)
MemberStatusByPodName returns a reference to the element in the given set of lists that has the given pod name. Returns member status and group which the pod belong to. If no such element exists, false is returned.
func (DeploymentStatusMembers) MembersOfGroup ¶
func (ds DeploymentStatusMembers) MembersOfGroup(group ServerGroup) MemberStatusList
MembersOfGroup returns the member list of the given group
func (DeploymentStatusMembers) PodNames ¶
func (ds DeploymentStatusMembers) PodNames() []string
PodNames returns all members pod names
func (*DeploymentStatusMembers) RemoveByID ¶
func (ds *DeploymentStatusMembers) RemoveByID(id string, group ServerGroup) error
RemoveByID a member with given ID from the given group. Returns a NotFoundError if the ID of the given member or group cannot be found.
func (*DeploymentStatusMembers) Update ¶
func (ds *DeploymentStatusMembers) Update(status MemberStatus, group ServerGroup) error
Update updates the given status in the given group.
type DeploymentUpgradeSpec ¶
type DeploymentUpgradeSpec struct { // AutoUpgrade flag specifies if upgrade should be auto-injected, even if is not required (in case of stuck) // +doc/default: false AutoUpgrade bool `json:"autoUpgrade"` // DebugLog flag specifies if containers running upgrade process should print more debugging information. // This applies only to init containers. // +doc/default: false DebugLog bool `json:"debugLog"` }
func (*DeploymentUpgradeSpec) DeepCopy ¶
func (in *DeploymentUpgradeSpec) DeepCopy() *DeploymentUpgradeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentUpgradeSpec.
func (*DeploymentUpgradeSpec) DeepCopyInto ¶
func (in *DeploymentUpgradeSpec) DeepCopyInto(out *DeploymentUpgradeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DeploymentUpgradeSpec) Get ¶
func (d *DeploymentUpgradeSpec) Get() DeploymentUpgradeSpec
type Duration ¶
type Duration string
Duration is a period of time, specified in go time.Duration format. This is intended to allow human friendly TTL's to be specified.
func DurationOrDefault ¶
DurationOrDefault returns the default value (or empty string) if input is nil, otherwise returns the referenced value.
func NewDuration ¶
NewDuration returns a reference to a Duration with given value.
func NewDurationOrNil ¶
NewDurationOrNil returns nil if input is nil, otherwise returns a clone of the given value.
func (Duration) AsDuration ¶
AsDuration parses the duration to a time.Duration value. In case of a parse error, 0 is returned.
type Environment ¶
type Environment string
Environment in which to run the cluster
const ( // EnvironmentDevelopment yields a cluster optimized for development EnvironmentDevelopment Environment = "Development" // EnvironmentProduction yields a cluster optimized for production EnvironmentProduction Environment = "Production" )
func EnvironmentOrDefault ¶
func EnvironmentOrDefault(input *Environment, defaultValue ...Environment) Environment
EnvironmentOrDefault returns the default value (or empty string) if input is nil, otherwise returns the referenced value.
func NewEnvironment ¶
func NewEnvironment(input Environment) *Environment
NewEnvironment returns a reference to a string with given value.
func NewEnvironmentOrNil ¶
func NewEnvironmentOrNil(input *Environment) *Environment
NewEnvironmentOrNil returns nil if input is nil, otherwise returns a clone of the given value.
func (Environment) IsProduction ¶
func (e Environment) IsProduction() bool
IsProduction returns true when the given environment is a production environment.
func (Environment) Validate ¶
func (e Environment) Validate() error
Validate the environment. Return errors when validation fails, nil on success.
type EphemeralVolume ¶
type EphemeralVolume struct { // Size define size of the ephemeral volume // +doc/type: resource.Quantity // +doc/link: Documentation of resource.Quantity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#quantity-resource-core Size *resource.Quantity `json:"size"` }
EphemeralVolume keeps information about ephemeral volumes.
func (*EphemeralVolume) DeepCopy ¶
func (in *EphemeralVolume) DeepCopy() *EphemeralVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralVolume.
func (*EphemeralVolume) DeepCopyInto ¶
func (in *EphemeralVolume) DeepCopyInto(out *EphemeralVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EphemeralVolumes ¶
type EphemeralVolumes struct { // Apps define apps ephemeral volume in case if `ephemeral-volumes` feature is enabled. Apps *EphemeralVolume `json:"apps,omitempty"` // Temp define temp ephemeral volume in case if `ephemeral-volumes` feature is enabled. Temp *EphemeralVolume `json:"temp,omitempty"` }
EphemeralVolumes keeps info about ephemeral volumes. Used only with `ephemeral-volumes` feature.
func (*EphemeralVolumes) DeepCopy ¶
func (in *EphemeralVolumes) DeepCopy() *EphemeralVolumes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EphemeralVolumes.
func (*EphemeralVolumes) DeepCopyInto ¶
func (in *EphemeralVolumes) DeepCopyInto(out *EphemeralVolumes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EphemeralVolumes) GetAppsSize ¶
func (e *EphemeralVolumes) GetAppsSize() *resource.Quantity
GetAppsSize returns apps volume size with default value of nil.
func (*EphemeralVolumes) GetTempSize ¶
func (e *EphemeralVolumes) GetTempSize() *resource.Quantity
GetTempSize returns temp volume size with default value of nil.
type ExternalAccessSpec ¶
type ExternalAccessSpec struct { // Type specifies the type of Service that will be created to provide access to the ArangoDB deployment from outside the Kubernetes cluster. // +doc/enum: Auto|Create a Service of type LoadBalancer and fallback to a Service or type NodePort when the LoadBalancer is not assigned an IP address. // +doc/enum: None|limit access to application running inside the Kubernetes cluster. // +doc/enum: LoadBalancer|Create a Service of type LoadBalancer for the ArangoDB deployment. // +doc/enum: NodePort|Create a Service of type NodePort for the ArangoDB deployment. Type *ExternalAccessType `json:"type,omitempty"` // NodePort define optional port used in case of Auto or NodePort type. // This setting is used when `spec.externalAccess.type` is set to `NodePort` or `Auto`. // If you do not specify this setting, a random port will be chosen automatically. NodePort *int `json:"nodePort,omitempty"` // LoadBalancerIP define optional IP used to configure a load-balancer on, in case of Auto or LoadBalancer type. // If you do not specify this setting, an IP will be chosen automatically by the load-balancer provisioner. LoadBalancerIP *string `json:"loadBalancerIP,omitempty"` // LoadBalancerSourceRanges define LoadBalancerSourceRanges used for LoadBalancer Service type // If specified and supported by the platform, this will restrict traffic through the cloud-provider // load-balancer will be restricted to the specified client IPs. This field will be ignored if the // cloud-provider does not support the feature. // +doc/link: Cloud Provider Firewall|https://kubernetes.io/docs/tasks/access-application-cluster/configure-cloud-provider-firewall/ LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges,omitempty"` // AdvertisedEndpoint is passed to the coordinators/single servers for advertising a specific endpoint AdvertisedEndpoint *string `json:"advertisedEndpoint,omitempty"` // ManagedServiceNames keeps names of services which are not managed by KubeArangoDB. // It is only relevant when type of service is `managed`. ManagedServiceNames []string `json:"managedServiceNames,omitempty"` }
ExternalAccessSpec holds configuration for the external access provided for the deployment.
func (*ExternalAccessSpec) DeepCopy ¶
func (in *ExternalAccessSpec) DeepCopy() *ExternalAccessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalAccessSpec.
func (*ExternalAccessSpec) DeepCopyInto ¶
func (in *ExternalAccessSpec) DeepCopyInto(out *ExternalAccessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ExternalAccessSpec) GetAdvertisedEndpoint ¶
func (s ExternalAccessSpec) GetAdvertisedEndpoint() string
GetAdvertisedEndpoint returns the advertised endpoint or empty string if none was specified
func (ExternalAccessSpec) GetLoadBalancerIP ¶
func (s ExternalAccessSpec) GetLoadBalancerIP() string
GetLoadBalancerIP returns the value of loadBalancerIP.
func (ExternalAccessSpec) GetManagedServiceNames ¶
func (s ExternalAccessSpec) GetManagedServiceNames() []string
GetManagedServiceNames returns a list of managed service names.
func (ExternalAccessSpec) GetNodePort ¶
func (s ExternalAccessSpec) GetNodePort() int
GetNodePort returns the value of nodePort.
func (ExternalAccessSpec) GetType ¶
func (s ExternalAccessSpec) GetType() ExternalAccessType
GetType returns the value of type.
func (ExternalAccessSpec) HasAdvertisedEndpoint ¶
func (s ExternalAccessSpec) HasAdvertisedEndpoint() bool
HasAdvertisedEndpoint return whether an advertised endpoint was specified or not
func (ExternalAccessSpec) ResetImmutableFields ¶
func (s ExternalAccessSpec) ResetImmutableFields(fieldPrefix string, target *ExternalAccessSpec) []string
ResetImmutableFields replaces all immutable fields in the given target with values from the source spec. It returns a list of fields that have been reset. Field names are relative to given field prefix.
func (*ExternalAccessSpec) SetDefaults ¶
func (s *ExternalAccessSpec) SetDefaults()
SetDefaults fills in missing defaults
func (*ExternalAccessSpec) SetDefaultsFrom ¶
func (s *ExternalAccessSpec) SetDefaultsFrom(source ExternalAccessSpec)
SetDefaultsFrom fills unspecified fields with a value from given source spec.
func (ExternalAccessSpec) Validate ¶
func (s ExternalAccessSpec) Validate() error
Validate the given spec
type ExternalAccessType ¶
type ExternalAccessType string
ExternalAccessType specifies the type of external access provides for the deployment
const ( // ExternalAccessTypeNone yields a cluster with no external access ExternalAccessTypeNone ExternalAccessType = "None" // ExternalAccessTypeAuto yields a cluster with an automatic selection for external access ExternalAccessTypeAuto ExternalAccessType = "Auto" // ExternalAccessTypeLoadBalancer yields a cluster with a service of type `LoadBalancer` to provide external access ExternalAccessTypeLoadBalancer ExternalAccessType = "LoadBalancer" // ExternalAccessTypeNodePort yields a cluster with a service of type `NodePort` to provide external access ExternalAccessTypeNodePort ExternalAccessType = "NodePort" // ExternalAccessTypeManaged yields a cluster with a service which controls only selector. ExternalAccessTypeManaged ExternalAccessType = "Managed" )
func ExternalAccessTypeOrDefault ¶
func ExternalAccessTypeOrDefault(input *ExternalAccessType, defaultValue ...ExternalAccessType) ExternalAccessType
ExternalAccessTypeOrDefault returns the default value (or empty string) if input is nil, otherwise returns the referenced value.
func NewExternalAccessType ¶
func NewExternalAccessType(input ExternalAccessType) *ExternalAccessType
NewExternalAccessType returns a reference to a string with given value.
func NewExternalAccessTypeOrNil ¶
func NewExternalAccessTypeOrNil(input *ExternalAccessType) *ExternalAccessType
NewExternalAccessTypeOrNil returns nil if input is nil, otherwise returns a clone of the given value.
func (ExternalAccessType) AsServiceType ¶
func (t ExternalAccessType) AsServiceType() core.ServiceType
AsServiceType returns the k8s ServiceType for this ExternalAccessType. If type is "Auto", ServiceTypeLoadBalancer is returned.
func (ExternalAccessType) IsAuto ¶
func (t ExternalAccessType) IsAuto() bool
func (ExternalAccessType) IsLoadBalancer ¶
func (t ExternalAccessType) IsLoadBalancer() bool
func (ExternalAccessType) IsManaged ¶
func (t ExternalAccessType) IsManaged() bool
func (ExternalAccessType) IsNodePort ¶
func (t ExternalAccessType) IsNodePort() bool
func (ExternalAccessType) IsNone ¶
func (t ExternalAccessType) IsNone() bool
func (ExternalAccessType) Validate ¶
func (t ExternalAccessType) Validate() error
Validate the type. Return errors when validation fails, nil on success.
type ImageInfo ¶
type ImageInfo struct { Image string `json:"image"` // Human provided name of the image ImageID string `json:"image-id,omitempty"` // Unique ID (with SHA256) of the image ArangoDBVersion driver.Version `json:"arangodb-version,omitempty"` // ArangoDB version within the image Enterprise bool `json:"enterprise,omitempty"` // If set, this is an enterprise image }
ImageInfo contains an ID of an image and the ArangoDB version inside the image.
func (*ImageInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageInfo.
func (*ImageInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageInfoList ¶
type ImageInfoList []ImageInfo
ImageInfoList is a list of image infos
func (ImageInfoList) Add ¶
func (l ImageInfoList) Add(i ...ImageInfo) ImageInfoList
func (*ImageInfoList) AddOrUpdate ¶
func (l *ImageInfoList) AddOrUpdate(info ImageInfo)
AddOrUpdate adds the given info to the given list, if its image does not exist in the list. If the image does exist in the list, its entry is replaced by the given info. If not found, false is returned.
func (ImageInfoList) DeepCopy ¶
func (in ImageInfoList) DeepCopy() ImageInfoList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageInfoList.
func (ImageInfoList) DeepCopyInto ¶
func (in ImageInfoList) DeepCopyInto(out *ImageInfoList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageInfoList) Equal ¶
func (l ImageInfoList) Equal(other ImageInfoList) bool
Equal compares to ImageInfoList
func (ImageInfoList) GetByImage ¶
func (l ImageInfoList) GetByImage(image string) (ImageInfo, bool)
GetByImage returns the info in the given list for the image with given name. If not found, false is returned.
func (ImageInfoList) GetByImageID ¶
func (l ImageInfoList) GetByImageID(imageID string) (ImageInfo, bool)
GetByImageID returns the info in the given list for the image with given id. If not found, false is returned.
type LabelsMode ¶
type LabelsMode string
const ( // LabelsDisabledMode disable annotations/labels override. Default if there is no annotations/labels set in ArangoDeployment LabelsDisabledMode LabelsMode = "disabled" // LabelsAppendMode add new annotations/labels without affecting old ones LabelsAppendMode LabelsMode = "append" // LabelsReplaceMode replace existing annotations/labels LabelsReplaceMode LabelsMode = "replace" )
func (*LabelsMode) Get ¶
func (a *LabelsMode) Get(def LabelsMode) LabelsMode
func (LabelsMode) New ¶
func (a LabelsMode) New() *LabelsMode
type LicenseSpec ¶
type LicenseSpec struct { // SecretName setting specifies the name of a kubernetes `Secret` that contains // the license key token used for enterprise images. This value is not used for // the Community Edition. SecretName *string `json:"secretName,omitempty"` }
LicenseSpec holds the license related information
func (*LicenseSpec) DeepCopy ¶
func (in *LicenseSpec) DeepCopy() *LicenseSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LicenseSpec.
func (*LicenseSpec) DeepCopyInto ¶
func (in *LicenseSpec) DeepCopyInto(out *LicenseSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (LicenseSpec) GetSecretName ¶
func (s LicenseSpec) GetSecretName() string
GetSecretName returns the license key if set. Empty string otherwise.
func (LicenseSpec) HasSecretName ¶
func (s LicenseSpec) HasSecretName() bool
HasSecretName returns true if a license key secret name was set
func (*LicenseSpec) SetDefaultsFrom ¶
func (s *LicenseSpec) SetDefaultsFrom(other LicenseSpec)
SetDefaultsFrom fills all values not set in s with values from other
func (LicenseSpec) Validate ¶
func (s LicenseSpec) Validate() error
Validate validates the LicenseSpec
type LifecycleSpec ¶
type LifecycleSpec struct { // Resources holds resource requests & limits // +doc/type: core.ResourceRequirements // +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core Resources core.ResourceRequirements `json:"resources,omitempty"` }
func (*LifecycleSpec) DeepCopy ¶
func (in *LifecycleSpec) DeepCopy() *LifecycleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LifecycleSpec.
func (*LifecycleSpec) DeepCopyInto ¶
func (in *LifecycleSpec) DeepCopyInto(out *LifecycleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LifecycleSpec) SetDefaultsFrom ¶
func (s *LifecycleSpec) SetDefaultsFrom(source LifecycleSpec)
SetDefaultsFrom fills unspecified fields with a value from given source spec.
type List ¶
type List []string
func (List) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new List.
func (List) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MemberPersistentVolumeClaimStatus ¶
type MemberPersistentVolumeClaimStatus struct {
Name string `json:"name"`
}
func (*MemberPersistentVolumeClaimStatus) DeepCopy ¶
func (in *MemberPersistentVolumeClaimStatus) DeepCopy() *MemberPersistentVolumeClaimStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemberPersistentVolumeClaimStatus.
func (*MemberPersistentVolumeClaimStatus) DeepCopyInto ¶
func (in *MemberPersistentVolumeClaimStatus) DeepCopyInto(out *MemberPersistentVolumeClaimStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MemberPersistentVolumeClaimStatus) Equal ¶
func (m *MemberPersistentVolumeClaimStatus) Equal(other *MemberPersistentVolumeClaimStatus) bool
func (*MemberPersistentVolumeClaimStatus) GetName ¶
func (m *MemberPersistentVolumeClaimStatus) GetName() string
func (*MemberPersistentVolumeClaimStatus) Propagate ¶
func (m *MemberPersistentVolumeClaimStatus) Propagate(s *MemberStatus)
type MemberPhase ¶
type MemberPhase string
MemberPhase is a strongly typed lifetime phase of a deployment member
const ( // MemberPhaseNone indicates that the state is not set yet MemberPhaseNone MemberPhase = "" // MemberPhasePending indicates that member propagation has been started MemberPhasePending MemberPhase = "Pending" // MemberPhaseCreated indicates that all resources needed for the member have been created MemberPhaseCreated MemberPhase = "Created" // MemberPhaseCreationFailed indicates that creation of member resources was not possible, fallback to MemberPhaseCreated state MemberPhaseCreationFailed MemberPhase = "CreationFailed" // MemberPhaseFailed indicates that the member is gone beyond hope of recovery. It must be replaced with a new member. MemberPhaseFailed MemberPhase = "Failed" // MemberPhaseCleanOut indicates that a dbserver is in the process of being cleaned out MemberPhaseCleanOut MemberPhase = "CleanOut" // MemberPhaseDrain indicates that a dbserver is in the process of being cleaned out as result of draining a node MemberPhaseDrain MemberPhase = "Drain" // MemberPhaseResign indicates that a dbserver is in the process of resigning for a shutdown MemberPhaseResign MemberPhase = "Resign" // MemberPhaseShuttingDown indicates that a member is shutting down MemberPhaseShuttingDown MemberPhase = "ShuttingDown" // MemberPhaseRotating indicates that a member is being rotated MemberPhaseRotating MemberPhase = "Rotating" // MemberPhaseRotateStart indicates that a member is being rotated but wont get up outside of plan MemberPhaseRotateStart MemberPhase = "RotateStart" // MemberPhaseUpgrading indicates that a member is in the process of upgrading its database data format MemberPhaseUpgrading MemberPhase = "Upgrading" )
func (MemberPhase) IsCreatedOrDrain ¶
func (p MemberPhase) IsCreatedOrDrain() bool
IsCreatedOrDrain returns true when given phase is MemberPhaseCreated or MemberPhaseDrain
func (MemberPhase) IsFailed ¶
func (p MemberPhase) IsFailed() bool
IsFailed returns true when given phase == "Failed"
func (MemberPhase) IsPending ¶
func (p MemberPhase) IsPending() bool
IsPending returns true when given phase == "" OR "Pending"
func (MemberPhase) IsReady ¶
func (p MemberPhase) IsReady() bool
IsReady returns true when given phase == "Created"
func (MemberPhase) String ¶
func (p MemberPhase) String() string
String returns string from MemberPhase
type MemberPodStatus ¶
type MemberPodStatus struct { Name string `json:"name"` UID types.UID `json:"uid"` SpecVersion string `json:"specVersion,omitempty"` }
func (*MemberPodStatus) DeepCopy ¶
func (in *MemberPodStatus) DeepCopy() *MemberPodStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemberPodStatus.
func (*MemberPodStatus) DeepCopyInto ¶
func (in *MemberPodStatus) DeepCopyInto(out *MemberPodStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MemberPodStatus) Equal ¶
func (m *MemberPodStatus) Equal(other *MemberPodStatus) bool
func (*MemberPodStatus) GetName ¶
func (m *MemberPodStatus) GetName() string
func (*MemberPodStatus) GetUID ¶
func (m *MemberPodStatus) GetUID() types.UID
func (*MemberPodStatus) Propagate ¶
func (m *MemberPodStatus) Propagate(s *MemberStatus)
type MemberStatus ¶
type MemberStatus struct { // ID holds the unique ID of the member. // This id is also used within the ArangoDB cluster to identify this server. ID string `json:"id"` // UID holds the unique UID of the member. // UID is created once member run in AddMember action. UID types.UID `json:"uid,omitempty"` // RID holds the ID of the member run. // Value is updated in Pending Phase. RID types.UID `json:"rid,omitempty"` // ClusterID holds the ID of the Arango deployment. ClusterID types.UID `json:"cid,omitempty"` // Phase holds the current lifetime phase of this member Phase MemberPhase `json:"phase"` // CreatedAt holds the creation timestamp of this member. CreatedAt meta.Time `json:"created-at"` // Conditions specific to this member Conditions ConditionList `json:"conditions,omitempty"` // RecentTerminations holds the times when this member was recently terminated. // First entry is the oldest. (do not add omitempty, since we want to be able to switch from a list to an empty list) RecentTerminations []meta.Time `json:"recent-terminations"` // IsInitialized is set after the very first time a pod was created for this member. // After that, DBServers must have a UUID field or fail. IsInitialized bool `json:"initialized"` // CleanoutJobID holds the ID of the agency job for cleaning out this server CleanoutJobID string `json:"cleanout-job-id,omitempty"` // ArangoVersion holds the ArangoDB version in member ArangoVersion driver.Version `json:"arango-version,omitempty"` // ImageId holds the members ArangoDB image ID ImageID string `json:"image-id,omitempty"` // Image holds image details Image *ImageInfo `json:"image,omitempty"` // OldImage holds old image defails OldImage *ImageInfo `json:"old-image,omitempty"` // Architecture defines Image architecture type Architecture *ArangoDeploymentArchitectureType `json:"architecture,omitempty"` // Upgrade define if upgrade should be enforced during next execution Upgrade bool `json:"upgrade,omitempty"` // Topology define topology member status assignment Topology *TopologyMemberStatus `json:"topology,omitempty"` Pod *MemberPodStatus `json:"pod,omitempty"` SecondaryPod *MemberPodStatus `json:"secondaryPod,omitempty"` // PersistentVolumeClaim keeps information about PVC for Primary Pod PersistentVolumeClaim *MemberPersistentVolumeClaimStatus `json:"persistentVolumeClaim,omitempty"` // SecondaryPersistentVolumeClaim keeps information about PVC for SecondaryPod SecondaryPersistentVolumeClaim *MemberPersistentVolumeClaimStatus `json:"secondaryPersistentVolumeClaim,omitempty"` // Deprecated // SideCarSpecs contains map of specifications specified for side cars // +doc/type: map[string]core.Container // +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#container-v1-core SideCarSpecs map[string]core.Container `json:"sidecars-specs,omitempty"` // Deprecated // PodName holds the name of the Pod that currently runs this member PodName string `json:"podName,omitempty"` // Deprecated // PodUID holds the UID of the Pod that currently runs this member PodUID types.UID `json:"podUID,omitempty"` // Deprecated // PodSpecVersion holds the checksum of Pod spec that currently runs this member. Used to rotate pods PodSpecVersion string `json:"podSpecVersion,omitempty"` // Deprecated // PersistentVolumeClaimName holds the name of the persistent volume claim used for this member (if any). PersistentVolumeClaimName string `json:"persistentVolumeClaimName,omitempty"` // Deprecated // Endpoint definition how member should be reachable Endpoint *string `json:"-"` }
MemberStatus holds the current status of a single member (server)
func (MemberStatus) Age ¶
func (s MemberStatus) Age() time.Duration
Age returns the duration since the creation timestamp of this member.
func (MemberStatus) ArangoMemberName ¶
func (s MemberStatus) ArangoMemberName(deploymentName string, group ServerGroup) string
ArangoMemberName create member name from given member
func (*MemberStatus) DeepCopy ¶
func (in *MemberStatus) DeepCopy() *MemberStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemberStatus.
func (*MemberStatus) DeepCopyInto ¶
func (in *MemberStatus) DeepCopyInto(out *MemberStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MemberStatus) Equal ¶
func (s MemberStatus) Equal(other MemberStatus) bool
Equal checks for equality
func (*MemberStatus) GetEndpoint ¶
func (s *MemberStatus) GetEndpoint(defaultEndpoint string) string
Deprecated
func (MemberStatus) IsNotReadySince ¶
func (s MemberStatus) IsNotReadySince(timestamp time.Time) bool
IsNotReadySince returns true when the given member has not been ready since the given timestamp. That means it: - A) Was created before timestamp and never reached a ready state or - B) The Ready condition is set to false, and last transision is before timestamp
func (MemberStatus) RecentTerminationsSince ¶
func (s MemberStatus) RecentTerminationsSince(timestamp time.Time) int
RecentTerminationsSince returns the number of terminations since the given timestamp.
func (*MemberStatus) RemoveTerminationsBefore ¶
func (s *MemberStatus) RemoveTerminationsBefore(timestamp time.Time) int
RemoveTerminationsBefore removes all recent terminations before the given timestamp. It returns the number of terminations that have been removed.
type MemberStatusFunc ¶
type MemberStatusFunc func(group ServerGroup, list MemberStatusList) error
MemberStatusFunc is a callback which is used to traverse a specific group of servers and check their status.
type MemberStatusList ¶
type MemberStatusList []MemberStatus
MemberStatusList is a list of MemberStatus entries
func (MemberStatusList) AllConditionTrueSince ¶
func (l MemberStatusList) AllConditionTrueSince(cond ConditionType, status core.ConditionStatus, period time.Duration) bool
AllConditionTrueSince returns true if all members satisfy the condition since the given period
func (MemberStatusList) AllFailed ¶
func (l MemberStatusList) AllFailed() bool
AllFailed returns true if all members are failed
func (MemberStatusList) AllMembersReady ¶
func (l MemberStatusList) AllMembersReady() bool
AllMembersReady returns the true if all members are in the Ready state.
func (MemberStatusList) AllMembersServing ¶
func (l MemberStatusList) AllMembersServing() bool
AllMembersServing returns the true if all members are in the Serving state.
func (MemberStatusList) ContainsID ¶
func (l MemberStatusList) ContainsID(id string) bool
ContainsID returns true if the given list contains a member with given ID.
func (MemberStatusList) DeepCopy ¶
func (in MemberStatusList) DeepCopy() MemberStatusList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MemberStatusList.
func (MemberStatusList) DeepCopyInto ¶
func (in MemberStatusList) DeepCopyInto(out *MemberStatusList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MemberStatusList) ElementByID ¶
func (l MemberStatusList) ElementByID(id string) (MemberStatus, bool)
ElementByID returns the element in the given list that has the given ID and true. If no such element exists, false is returned.
func (MemberStatusList) ElementByPVCName ¶
func (l MemberStatusList) ElementByPVCName(pvcName string) (MemberStatus, bool)
ElementByPVCName returns the element in the given list that has the given PVC name and true. If no such element exists, an empty element and false is returned.
func (MemberStatusList) ElementByPodName ¶
func (l MemberStatusList) ElementByPodName(podName string) (MemberStatus, bool)
ElementByPodName returns the element in the given list that has the given pod name and true. If no such element exists, an empty element and false is returned.
func (MemberStatusList) Equal ¶
func (l MemberStatusList) Equal(other MemberStatusList) bool
Equal checks for equality
func (MemberStatusList) MembersReady ¶
func (l MemberStatusList) MembersReady() int
MembersReady returns the number of members that are in the Ready state.
func (MemberStatusList) MembersServing ¶
func (l MemberStatusList) MembersServing() int
MembersServing returns the number of members that are in the Serving state.
func (MemberStatusList) SelectMemberToRemove ¶
func (l MemberStatusList) SelectMemberToRemove(selectors ...MemberToRemoveSelector) (MemberStatus, error)
SelectMemberToRemove selects a member from the given list that should be removed in a ScaleDown action. Returns an error if the list is empty. Deprecated: will be removed in 1.3.0 since ScaleDown annotation is already removed
type MemberToRemoveSelector ¶
type MemberToRemoveSelector func(m MemberStatusList) (string, error)
type MetricsAuthenticationSpec ¶
type MetricsAuthenticationSpec struct { // JWTTokenSecretName contains the name of the JWT kubernetes secret used for authentication JWTTokenSecretName *string `json:"jwtTokenSecretName,omitempty"` }
MetricsAuthenticationSpec contains spec for authentication with arangodb
func (*MetricsAuthenticationSpec) DeepCopy ¶
func (in *MetricsAuthenticationSpec) DeepCopy() *MetricsAuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsAuthenticationSpec.
func (*MetricsAuthenticationSpec) DeepCopyInto ¶
func (in *MetricsAuthenticationSpec) DeepCopyInto(out *MetricsAuthenticationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricsMode ¶
type MetricsMode string
MetricsMode defines mode for metrics exporter
const ( // MetricsModeExporter starts sidecar container with // Deprecated MetricsModeExporter MetricsMode = "exporter" // MetricsModeSidecar behaves exactly the same as MetricsModeExporter // Deprecated MetricsModeSidecar MetricsMode = "sidecar" // MetricsModeInternal exposes metrics using ArangoD endpoint // Deprecated MetricsModeInternal MetricsMode = "internal" )
func (*MetricsMode) Get ¶
func (m *MetricsMode) Get() MetricsMode
func (MetricsMode) GetMetricsEndpoint ¶
func (m MetricsMode) GetMetricsEndpoint() string
GetMetricsEndpoint Deprecated
func (MetricsMode) New ¶
func (m MetricsMode) New() *MetricsMode
type MetricsServiceMonitorSpec ¶
type MetricsServiceMonitorSpec struct { Enabled *bool `json:"enabled,omitempty"` Labels map[string]string `json:"labels,omitempty"` }
func (*MetricsServiceMonitorSpec) DeepCopy ¶
func (in *MetricsServiceMonitorSpec) DeepCopy() *MetricsServiceMonitorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsServiceMonitorSpec.
func (*MetricsServiceMonitorSpec) DeepCopyInto ¶
func (in *MetricsServiceMonitorSpec) DeepCopyInto(out *MetricsServiceMonitorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MetricsServiceMonitorSpec) GetLabels ¶
func (m *MetricsServiceMonitorSpec) GetLabels(def map[string]string) map[string]string
func (*MetricsServiceMonitorSpec) IsEnabled ¶
func (m *MetricsServiceMonitorSpec) IsEnabled() bool
type MetricsSpec ¶
type MetricsSpec struct { // Enabled if this is set to `true`, the operator runs a sidecar container for // every Agent, DB-Server, Coordinator and Single server. // +doc/default: false // +doc/link: Metrics collection|../metrics.md Enabled *bool `json:"enabled,omitempty"` // Image used for the Metrics Sidecar // // Deprecated: Image is now extracted from Operator Pod Image *string `json:"image,omitempty"` Authentication MetricsAuthenticationSpec `json:"authentication,omitempty"` // Resources holds resource requests & limits // +doc/type: core.ResourceRequirements // +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core Resources core.ResourceRequirements `json:"resources,omitempty"` // Mode define metrics exported mode // // Deprecated: Not used anymore Mode *MetricsMode `json:"mode,omitempty"` // TLS defines if TLS should be enabled on Metrics exporter endpoint. // This option will enable TLS only if TLS is enabled on ArangoDeployment, // otherwise `true` value will not take any effect. // +doc/default: true TLS *bool `json:"tls,omitempty"` ServiceMonitor *MetricsServiceMonitorSpec `json:"serviceMonitor,omitempty"` Port *uint16 `json:"port,omitempty"` // Extensions keeps the information about Metrics Extensions Extensions *MetricsSpecExtensions `json:"extensions,omitempty"` }
MetricsSpec contains spec for arangodb exporter
func (*MetricsSpec) DeepCopy ¶
func (in *MetricsSpec) DeepCopy() *MetricsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsSpec.
func (*MetricsSpec) DeepCopyInto ¶
func (in *MetricsSpec) DeepCopyInto(out *MetricsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MetricsSpec) GetExtensions ¶
func (s *MetricsSpec) GetExtensions() *MetricsSpecExtensions
func (*MetricsSpec) GetImage ¶
func (s *MetricsSpec) GetImage() string
GetImage returns the Image or empty string Deprecated
func (*MetricsSpec) GetJWTTokenSecretName ¶
func (s *MetricsSpec) GetJWTTokenSecretName() string
GetJWTTokenSecretName returns the token secret name or empty string
func (*MetricsSpec) GetPort ¶
func (s *MetricsSpec) GetPort() uint16
func (*MetricsSpec) HasImage ¶
func (s *MetricsSpec) HasImage() bool
HasImage returns whether a image was specified or not Deprecated
func (*MetricsSpec) HasJWTTokenSecretName ¶
func (s *MetricsSpec) HasJWTTokenSecretName() bool
HasJWTTokenSecretName returns true if a secret name was specified
func (*MetricsSpec) IsEnabled ¶
func (s *MetricsSpec) IsEnabled() bool
IsEnabled returns whether metrics are enabled or not
func (*MetricsSpec) IsTLS ¶
func (s *MetricsSpec) IsTLS() bool
func (MetricsSpec) ResetImmutableFields ¶
func (s MetricsSpec) ResetImmutableFields(fieldPrefix string, target *MetricsSpec) []string
ResetImmutableFields replaces all immutable fields in the given target with values from the source spec.
func (*MetricsSpec) SetDefaults ¶
func (s *MetricsSpec) SetDefaults(defaultTokenName string, isAuthenticated bool)
SetDefaults sets default values
func (*MetricsSpec) SetDefaultsFrom ¶
func (s *MetricsSpec) SetDefaultsFrom(source MetricsSpec)
SetDefaultsFrom fills unspecified fields with a value from given source spec.
type MetricsSpecExtensions ¶
type MetricsSpecExtensions struct { // UsageMetrics enables ArangoDB Usage metrics scrape. Affects only DBServers in the Cluster mode. // +doc/default: false // +doc/link: Documentation|https://docs.arangodb.com/devel/develop/http-api/monitoring/metrics/#get-usage-metrics // +doc/important: UsageMetrics needs to be also enabled via DBServer Arguments UsageMetrics *bool `json:"usageMetrics,omitempty"` }
MetricsSpecExtensions defines enabled extensions for MetricsExporter
func (*MetricsSpecExtensions) DeepCopy ¶
func (in *MetricsSpecExtensions) DeepCopy() *MetricsSpecExtensions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricsSpecExtensions.
func (*MetricsSpecExtensions) DeepCopyInto ¶
func (in *MetricsSpecExtensions) DeepCopyInto(out *MetricsSpecExtensions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MetricsSpecExtensions) GetUsageMetrics ¶
func (m *MetricsSpecExtensions) GetUsageMetrics() bool
type MonitoringSpec ¶
type MonitoringSpec struct { // TokenSecretName setting specifies the name of a kubernetes `Secret` that contains // the bearer token used for accessing all monitoring endpoints of all arangod/arangosync servers. // When not specified, no monitoring token is used. TokenSecretName *string `json:"tokenSecretName,omitempty"` }
MonitoringSpec holds monitoring specific configuration settings
func (*MonitoringSpec) DeepCopy ¶
func (in *MonitoringSpec) DeepCopy() *MonitoringSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MonitoringSpec.
func (*MonitoringSpec) DeepCopyInto ¶
func (in *MonitoringSpec) DeepCopyInto(out *MonitoringSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MonitoringSpec) GetTokenSecretName ¶
func (s MonitoringSpec) GetTokenSecretName() string
GetTokenSecretName returns the value of tokenSecretName.
func (*MonitoringSpec) SetDefaults ¶
func (s *MonitoringSpec) SetDefaults(defaultTokenSecretName string)
SetDefaults fills in missing defaults
func (*MonitoringSpec) SetDefaultsFrom ¶
func (s *MonitoringSpec) SetDefaultsFrom(source MonitoringSpec)
SetDefaultsFrom fills unspecified fields with a value from given source spec.
type PVCResizeMode ¶
type PVCResizeMode string
const ( PVCResizeModeRuntime PVCResizeMode = "runtime" PVCResizeModeRotate PVCResizeMode = "rotate" )
func (*PVCResizeMode) Get ¶
func (p *PVCResizeMode) Get() PVCResizeMode
func (PVCResizeMode) String ¶
func (p PVCResizeMode) String() string
type PasswordSecretName ¶
type PasswordSecretName string
PasswordSecretName contains user password secret name
const ( // PasswordSecretNameNone is magic value for no action PasswordSecretNameNone PasswordSecretName = "None" // PasswordSecretNameAuto is magic value for autogenerate name PasswordSecretNameAuto PasswordSecretName = "Auto" )
func (PasswordSecretName) Get ¶
func (p PasswordSecretName) Get() string
func (PasswordSecretName) IsAuto ¶
func (p PasswordSecretName) IsAuto() bool
IsAuto returns true if p is Auto
func (PasswordSecretName) IsNone ¶
func (p PasswordSecretName) IsNone() bool
IsNone returns true if p is None or p is empty
type PasswordSecretNameList ¶
type PasswordSecretNameList map[string]PasswordSecretName
PasswordSecretNameList is a map from username to secretnames
func NewPasswordSecretNameListOrNil ¶
func NewPasswordSecretNameListOrNil(list PasswordSecretNameList) PasswordSecretNameList
NewPasswordSecretNameListOrNil returns nil if input is nil, otherwise returns a clone of the given value.
func (PasswordSecretNameList) DeepCopy ¶
func (in PasswordSecretNameList) DeepCopy() PasswordSecretNameList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PasswordSecretNameList.
func (PasswordSecretNameList) DeepCopyInto ¶
func (in PasswordSecretNameList) DeepCopyInto(out *PasswordSecretNameList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PasswordSecretNameList) GetSecretName ¶
func (s PasswordSecretNameList) GetSecretName(user string) PasswordSecretName
GetSecretName returns the secret name given by the specs. Or None if not set.
type Percent ¶
type Percent int
Percent is a percentage between 0 and 100.
func NewPercent ¶
NewPercent returns a reference to a percent with given value.
func NewPercentOrNil ¶
NewPercentOrNil returns nil if input is nil, otherwise returns a clone of the given value.
func PercentOrDefault ¶
PercentOrDefault returns the default value or 0 if input is nil, otherwise returns the referenced value.
type Plan ¶
type Plan []Action
Plan is a list of actions that will be taken to update a deployment. Only 1 action is in progress at a time. The operator will wait for that action to be completely and then remove the action.
func (Plan) AfterFirst ¶
AfterFirst adds actions when condition will return false
func (Plan) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Plan.
func (Plan) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Plan) NonInternalActions ¶
func (Plan) WrapWithPlan ¶
WrapWithPlan wraps plan with plan
type PlanLocalKey ¶
type PlanLocalKey string
func (PlanLocalKey) Register ¶
func (p PlanLocalKey) Register(action Action, format string, args ...interface{}) Action
func (PlanLocalKey) String ¶
func (p PlanLocalKey) String() string
type PlanLocals ¶
type PlanLocals map[PlanLocalKey]string
func (*PlanLocals) Add ¶
func (p *PlanLocals) Add(key PlanLocalKey, value string, override bool) bool
func (PlanLocals) DeepCopy ¶
func (in PlanLocals) DeepCopy() PlanLocals
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlanLocals.
func (PlanLocals) DeepCopyInto ¶
func (in PlanLocals) DeepCopyInto(out *PlanLocals)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PlanLocals) Equal ¶
func (p PlanLocals) Equal(other PlanLocals) bool
func (PlanLocals) Get ¶
func (p PlanLocals) Get(key PlanLocalKey) (string, bool)
func (PlanLocals) GetWithParent ¶
func (p PlanLocals) GetWithParent(parent PlanLocals, key PlanLocalKey) (string, bool)
func (*PlanLocals) Merge ¶
func (p *PlanLocals) Merge(merger PlanLocals) (changed bool)
func (*PlanLocals) Remove ¶
func (p *PlanLocals) Remove(key PlanLocalKey) bool
type RocksDBEncryptionSpec ¶
type RocksDBEncryptionSpec struct { // KeySecretName setting specifies the name of a Kubernetes `Secret` that contains an encryption key used for encrypting all data stored by ArangoDB servers. // When an encryption key is used, encryption of the data in the cluster is enabled, without it encryption is disabled. // The default value is empty. // This requires the Enterprise Edition. // The encryption key cannot be changed after the cluster has been created. // The secret specified by this setting, must have a data field named 'key' containing an encryption key that is exactly 32 bytes long. KeySecretName *string `json:"keySecretName,omitempty"` }
RocksDBEncryptionSpec holds rocksdb encryption at rest specific configuration settings
func (*RocksDBEncryptionSpec) DeepCopy ¶
func (in *RocksDBEncryptionSpec) DeepCopy() *RocksDBEncryptionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RocksDBEncryptionSpec.
func (*RocksDBEncryptionSpec) DeepCopyInto ¶
func (in *RocksDBEncryptionSpec) DeepCopyInto(out *RocksDBEncryptionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RocksDBEncryptionSpec) GetKeySecretName ¶
func (s RocksDBEncryptionSpec) GetKeySecretName() string
GetKeySecretName returns the value of keySecretName.
func (RocksDBEncryptionSpec) IsEncrypted ¶
func (s RocksDBEncryptionSpec) IsEncrypted() bool
IsEncrypted returns true when an encryption key secret name is provided, false otherwise.
type RocksDBSpec ¶
type RocksDBSpec struct {
Encryption RocksDBEncryptionSpec `json:"encryption"`
}
RocksDBSpec holds rocksdb specific configuration settings
func (*RocksDBSpec) DeepCopy ¶
func (in *RocksDBSpec) DeepCopy() *RocksDBSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RocksDBSpec.
func (*RocksDBSpec) DeepCopyInto ¶
func (in *RocksDBSpec) DeepCopyInto(out *RocksDBSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RocksDBSpec) IsEncrypted ¶
func (s RocksDBSpec) IsEncrypted() bool
IsEncrypted returns true when an encryption key secret name is provided, false otherwise.
func (RocksDBSpec) ResetImmutableFields ¶
func (s RocksDBSpec) ResetImmutableFields(fieldPrefix string, target *RocksDBSpec) []string
ResetImmutableFields replaces all immutable fields in the given target with values from the source spec. It returns a list of fields that have been reset. Field names are relative to given field prefix.
func (*RocksDBSpec) SetDefaults ¶
func (s *RocksDBSpec) SetDefaults()
SetDefaults fills in missing defaults
func (*RocksDBSpec) SetDefaultsFrom ¶
func (s *RocksDBSpec) SetDefaultsFrom(source RocksDBSpec)
SetDefaultsFrom fills unspecified fields with a value from given source spec.
type SecretHashes ¶
type SecretHashes struct { // AuthJWT contains the hash of the auth.jwtSecretName secret AuthJWT string `json:"auth-jwt,omitempty"` // RocksDBEncryptionKey contains the hash of the rocksdb.encryption.keySecretName secret RocksDBEncryptionKey string `json:"rocksdb-encryption-key,omitempty"` // TLSCA contains the hash of the tls.caSecretName secret TLSCA string `json:"tls-ca,omitempty"` // SyncTLSCA contains the hash of the sync.tls.caSecretName secret SyncTLSCA string `json:"sync-tls-ca,omitempty"` // User's map contains hashes for each user Users map[string]string `json:"users,omitempty"` }
SecretHashes keeps track of the value of secrets so we can detect changes. For each used secret, a sha256 hash is stored.
func NewEmptySecretHashes ¶
func NewEmptySecretHashes() *SecretHashes
NewEmptySecretHashes creates new empty structure
func (*SecretHashes) DeepCopy ¶
func (in *SecretHashes) DeepCopy() *SecretHashes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretHashes.
func (*SecretHashes) DeepCopyInto ¶
func (in *SecretHashes) DeepCopyInto(out *SecretHashes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecretHashes) Equal ¶
func (sh *SecretHashes) Equal(other *SecretHashes) bool
Equal compares two SecretHashes
type ServerGroup ¶
type ServerGroup int
func ServerGroupFromAbbreviatedRole ¶
func ServerGroupFromAbbreviatedRole(label string) ServerGroup
ServerGroupFromAbbreviatedRole returns ServerGroup from abbreviated role
func ServerGroupFromRole ¶
func ServerGroupFromRole(label string) ServerGroup
ServerGroupFromRole returns ServerGroup from role
func (ServerGroup) AsRole ¶
func (g ServerGroup) AsRole() string
AsRole returns the "role" value for the given group.
func (ServerGroup) AsRoleAbbreviated ¶
func (g ServerGroup) AsRoleAbbreviated() string
AsRoleAbbreviated returns the abbreviation of the "role" value for the given group.
func (ServerGroup) DefaultTerminationGracePeriod ¶
func (g ServerGroup) DefaultTerminationGracePeriod() time.Duration
DefaultTerminationGracePeriod returns the default period between SIGTERM & SIGKILL for a server in the given group.
func (ServerGroup) Enabled ¶
func (g ServerGroup) Enabled(mode DeploymentMode) bool
Enabled checks if group is enabled for a mode
func (ServerGroup) IsArangod ¶
func (g ServerGroup) IsArangod() bool
IsArangod returns true when the groups runs servers of type `arangod`.
func (ServerGroup) IsArangosync ¶
func (g ServerGroup) IsArangosync() bool
IsArangosync returns true when the groups runs servers of type `arangosync`.
func (ServerGroup) IsExportMetrics ¶
func (g ServerGroup) IsExportMetrics() bool
IsExportMetrics return true when the group can be used with the arangodbexporter
func (ServerGroup) IsGateway ¶
func (g ServerGroup) IsGateway() bool
IsGateway returns true when the group is a gateway group
func (ServerGroup) IsStateless ¶
func (g ServerGroup) IsStateless() bool
IsStateless returns true when the groups runs servers without a persistent volume.
func (ServerGroup) MarshalJSON ¶
func (g ServerGroup) MarshalJSON() ([]byte, error)
func (*ServerGroup) OpenAPISchemaType ¶
func (g *ServerGroup) OpenAPISchemaType() []string
func (*ServerGroup) UnmarshalJSON ¶
func (g *ServerGroup) UnmarshalJSON(bytes []byte) error
type ServerGroupEnvVar ¶
type ServerGroupEnvVar struct { Name string `json:"name" protobuf:"bytes,1,opt,name=name"` Value string `json:"value,omitempty"` }
func (*ServerGroupEnvVar) DeepCopy ¶
func (in *ServerGroupEnvVar) DeepCopy() *ServerGroupEnvVar
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupEnvVar.
func (*ServerGroupEnvVar) DeepCopyInto ¶
func (in *ServerGroupEnvVar) DeepCopyInto(out *ServerGroupEnvVar)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerGroupEnvVars ¶
type ServerGroupEnvVars []ServerGroupEnvVar
func (ServerGroupEnvVars) DeepCopy ¶
func (in ServerGroupEnvVars) DeepCopy() ServerGroupEnvVars
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupEnvVars.
func (ServerGroupEnvVars) DeepCopyInto ¶
func (in ServerGroupEnvVars) DeepCopyInto(out *ServerGroupEnvVars)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerGroupFunc ¶
type ServerGroupFunc func(ServerGroup, ServerGroupSpec, *MemberStatusList) error
type ServerGroupIndexMethod ¶
type ServerGroupIndexMethod string
const ( DefaultServerGroupIndexMethod = ServerGroupIndexMethodRandom ServerGroupIndexMethodRandom ServerGroupIndexMethod = "random" ServerGroupIndexMethodOrdered ServerGroupIndexMethod = "ordered" )
func (*ServerGroupIndexMethod) Equal ¶
func (s *ServerGroupIndexMethod) Equal(b *ServerGroupIndexMethod) bool
func (*ServerGroupIndexMethod) Get ¶
func (s *ServerGroupIndexMethod) Get() ServerGroupIndexMethod
func (ServerGroupIndexMethod) New ¶
func (s ServerGroupIndexMethod) New() *ServerGroupIndexMethod
func (*ServerGroupIndexMethod) Validate ¶
func (s *ServerGroupIndexMethod) Validate() error
type ServerGroupInitContainerMode ¶
type ServerGroupInitContainerMode string
const ( // ServerGroupInitContainerIgnoreMode ignores init container changes in pod recreation flow ServerGroupInitContainerIgnoreMode ServerGroupInitContainerMode = "ignore" // ServerGroupInitContainerUpdateMode enforce update of pod if init container has been changed ServerGroupInitContainerUpdateMode ServerGroupInitContainerMode = "update" )
func (*ServerGroupInitContainerMode) Get ¶
func (s *ServerGroupInitContainerMode) Get() ServerGroupInitContainerMode
func (ServerGroupInitContainerMode) New ¶
func (s ServerGroupInitContainerMode) New() *ServerGroupInitContainerMode
func (*ServerGroupInitContainerMode) Validate ¶
func (s *ServerGroupInitContainerMode) Validate() error
type ServerGroupInitContainers ¶
type ServerGroupInitContainers struct { // Containers contains list of containers // +doc/type: []core.Container // +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#container-v1-core Containers []core.Container `json:"containers,omitempty"` // Mode keep container replace mode Mode *ServerGroupInitContainerMode `json:"mode,omitempty"` }
func (*ServerGroupInitContainers) DeepCopy ¶
func (in *ServerGroupInitContainers) DeepCopy() *ServerGroupInitContainers
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupInitContainers.
func (*ServerGroupInitContainers) DeepCopyInto ¶
func (in *ServerGroupInitContainers) DeepCopyInto(out *ServerGroupInitContainers)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupInitContainers) GetContainers ¶
func (s *ServerGroupInitContainers) GetContainers() []core.Container
func (*ServerGroupInitContainers) GetMode ¶
func (s *ServerGroupInitContainers) GetMode() *ServerGroupInitContainerMode
func (*ServerGroupInitContainers) Validate ¶
func (s *ServerGroupInitContainers) Validate() error
type ServerGroupNetworkMode ¶
type ServerGroupNetworkMode string
ServerGroupNetworkMode is used to define Network mode of the Pod
const ( // ServerGroupNetworkModePod enable Pod level isolation of the network, default ServerGroupNetworkModePod ServerGroupNetworkMode = "pod" // ServerGroupNetworkModeHost enable Host level network access to the Pod ServerGroupNetworkModeHost ServerGroupNetworkMode = "host" DefaultServerGroupNetworkMode = ServerGroupNetworkModePod )
func (*ServerGroupNetworkMode) Get ¶
func (n *ServerGroupNetworkMode) Get() ServerGroupNetworkMode
func (*ServerGroupNetworkMode) New ¶
func (n *ServerGroupNetworkMode) New() *ServerGroupNetworkMode
func (*ServerGroupNetworkMode) String ¶
func (n *ServerGroupNetworkMode) String() string
func (*ServerGroupNetworkMode) Validate ¶
func (n *ServerGroupNetworkMode) Validate() error
type ServerGroupPIDMode ¶
type ServerGroupPIDMode string
ServerGroupPIDMode define Pod PID share strategy
const ( // ServerGroupPIDModeIsolated enable isolation of the Processes within Pod Container, default ServerGroupPIDModeIsolated ServerGroupPIDMode = "isolated" // ServerGroupPIDModePod enable isolation of the Processes on the Pod level. Processes started in this mode will have PID different from 1 ServerGroupPIDModePod ServerGroupPIDMode = "pod" // ServerGroupPIDModeHost disable isolation of the Processes. Processes started in this mode are shared with the entire host ServerGroupPIDModeHost ServerGroupPIDMode = "host" DefaultServerGroupPIDMode = ServerGroupPIDModeIsolated )
func (*ServerGroupPIDMode) Get ¶
func (n *ServerGroupPIDMode) Get() ServerGroupPIDMode
func (*ServerGroupPIDMode) New ¶
func (n *ServerGroupPIDMode) New() *ServerGroupPIDMode
func (*ServerGroupPIDMode) String ¶
func (n *ServerGroupPIDMode) String() string
func (*ServerGroupPIDMode) Validate ¶
func (n *ServerGroupPIDMode) Validate() error
type ServerGroupPortProtocol ¶
type ServerGroupPortProtocol string
ServerGroupPortProtocol define supported protocols of listeners
const ( // ServerGroupPortProtocolHTTP defines HTTP protocol ServerGroupPortProtocolHTTP ServerGroupPortProtocol = "http" // ServerGroupPortProtocolHTTPS defines HTTPS protocol ServerGroupPortProtocolHTTPS ServerGroupPortProtocol = "https" // ServerGroupPortProtocolDefault defines default (HTTP) protocol ServerGroupPortProtocolDefault = ServerGroupPortProtocolHTTP )
func (*ServerGroupPortProtocol) Get ¶
func (s *ServerGroupPortProtocol) Get() ServerGroupPortProtocol
Get returns current protocol. If is nil then default is returned
func (ServerGroupPortProtocol) New ¶
func (s ServerGroupPortProtocol) New() *ServerGroupPortProtocol
New returns pointer to copy of protocol value
func (*ServerGroupPortProtocol) Validate ¶
func (s *ServerGroupPortProtocol) Validate() error
Validate validates if protocol is known and have valid value
type ServerGroupProbeSpec ¶
type ServerGroupProbeSpec struct { // InitialDelaySeconds specifies number of seconds after the container has started before liveness or readiness probes are initiated. // Minimum value is 0. // +doc/default: 2 InitialDelaySeconds *int32 `json:"initialDelaySeconds,omitempty"` // PeriodSeconds How often (in seconds) to perform the probe. // Minimum value is 1. // +doc/default: 10 PeriodSeconds *int32 `json:"periodSeconds,omitempty"` // TimeoutSeconds specifies number of seconds after which the probe times out // Minimum value is 1. // +doc/default: 2 TimeoutSeconds *int32 `json:"timeoutSeconds,omitempty"` // SuccessThreshold Minimum consecutive successes for the probe to be considered successful after having failed. // Minimum value is 1. // +doc/default: 1 SuccessThreshold *int32 `json:"successThreshold,omitempty"` // FailureThreshold when a Pod starts and the probe fails, Kubernetes will try failureThreshold times before giving up. // Giving up means restarting the container. // Minimum value is 1. // +doc/default: 3 FailureThreshold *int32 `json:"failureThreshold,omitempty"` }
ServerGroupProbeSpec
func (*ServerGroupProbeSpec) DeepCopy ¶
func (in *ServerGroupProbeSpec) DeepCopy() *ServerGroupProbeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupProbeSpec.
func (*ServerGroupProbeSpec) DeepCopyInto ¶
func (in *ServerGroupProbeSpec) DeepCopyInto(out *ServerGroupProbeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupProbeSpec) GetFailureThreshold ¶
func (s *ServerGroupProbeSpec) GetFailureThreshold(d int32) int32
GetFailureThreshold return FailureThreshold valid value. In case if FailureThreshold is nil default is returned.
func (*ServerGroupProbeSpec) GetInitialDelaySeconds ¶
func (s *ServerGroupProbeSpec) GetInitialDelaySeconds(d int32) int32
GetInitialDelaySeconds return InitialDelaySeconds valid value. In case if InitialDelaySeconds is nil default is returned.
func (*ServerGroupProbeSpec) GetPeriodSeconds ¶
func (s *ServerGroupProbeSpec) GetPeriodSeconds(d int32) int32
GetPeriodSeconds return PeriodSeconds valid value. In case if PeriodSeconds is nil default is returned.
func (*ServerGroupProbeSpec) GetSuccessThreshold ¶
func (s *ServerGroupProbeSpec) GetSuccessThreshold(d int32) int32
GetSuccessThreshold return SuccessThreshold valid value. In case if SuccessThreshold is nil default is returned.
func (*ServerGroupProbeSpec) GetTimeoutSeconds ¶
func (s *ServerGroupProbeSpec) GetTimeoutSeconds(d int32) int32
GetTimeoutSeconds return TimeoutSeconds valid value. In case if TimeoutSeconds is nil default is returned.
type ServerGroupProbesSpec ¶
type ServerGroupProbesSpec struct { // LivenessProbeDisabled if set to true, the operator does not generate a liveness probe for new pods belonging to this group // +doc/default: false LivenessProbeDisabled *bool `json:"livenessProbeDisabled,omitempty"` // LivenessProbeSpec override liveness probe configuration LivenessProbeSpec *ServerGroupProbeSpec `json:"livenessProbeSpec,omitempty"` // OldReadinessProbeDisabled if true readinessProbes are disabled // // Deprecated: This field is deprecated, kept only for backward compatibility. OldReadinessProbeDisabled *bool `json:"ReadinessProbeDisabled,omitempty"` // ReadinessProbeDisabled override flag for probe disabled in good manner (lowercase) with backward compatibility ReadinessProbeDisabled *bool `json:"readinessProbeDisabled,omitempty"` // ReadinessProbeSpec override readiness probe configuration ReadinessProbeSpec *ServerGroupProbeSpec `json:"readinessProbeSpec,omitempty"` // StartupProbeDisabled if true startupProbes are disabled StartupProbeDisabled *bool `json:"startupProbeDisabled,omitempty"` // StartupProbeSpec override startup probe configuration StartupProbeSpec *ServerGroupProbeSpec `json:"startupProbeSpec,omitempty"` }
ServerGroupProbesSpec contains specification for probes for pods of the server group
func (*ServerGroupProbesSpec) DeepCopy ¶
func (in *ServerGroupProbesSpec) DeepCopy() *ServerGroupProbesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupProbesSpec.
func (*ServerGroupProbesSpec) DeepCopyInto ¶
func (in *ServerGroupProbesSpec) DeepCopyInto(out *ServerGroupProbesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ServerGroupProbesSpec) GetReadinessProbeDisabled ¶
func (s ServerGroupProbesSpec) GetReadinessProbeDisabled() *bool
GetReadinessProbeDisabled returns in proper manner readiness probe flag with backward compatibility.
type ServerGroupShutdownMethod ¶
type ServerGroupShutdownMethod string
ServerGroupShutdownMethod enum of possible shutdown methods
const ( // ServerGroupShutdownMethodAPI API Shutdown method ServerGroupShutdownMethodAPI ServerGroupShutdownMethod = "api" // ServerGroupShutdownMethodDelete Pod Delete shutdown method ServerGroupShutdownMethodDelete ServerGroupShutdownMethod = "delete" )
func (*ServerGroupShutdownMethod) Default ¶
func (s *ServerGroupShutdownMethod) Default() ServerGroupShutdownMethod
Default return default value for ServerGroupShutdownMethod
func (*ServerGroupShutdownMethod) Get ¶
func (s *ServerGroupShutdownMethod) Get() ServerGroupShutdownMethod
Get return current or default value of ServerGroupShutdownMethod
type ServerGroupSpec ¶
type ServerGroupSpec struct { // Count setting specifies the number of servers to start for the given group. // For the Agent group, this value must be a positive, odd number. // The default value is `3` for all groups except `single` (there the default is `1` // for `spec.mode: Single` and `2` for `spec.mode: ActiveFailover`). // For the `syncworkers` group, it is highly recommended to use the same number // as for the `dbservers` group. Count *int `json:"count,omitempty"` // MinCount specifies a minimum for the count of servers. If set, a specification is invalid if `count < minCount`. MinCount *int `json:"minCount,omitempty"` // MaxCount specifies a maximum for the count of servers. If set, a specification is invalid if `count > maxCount`. MaxCount *int `json:"maxCount,omitempty"` // Args setting specifies additional command-line arguments passed to all servers of this group. // +doc/type: []string // +doc/default: [] Args []string `json:"args,omitempty"` // Entrypoint overrides container executable Entrypoint *string `json:"entrypoint,omitempty"` // SchedulerName define scheduler name used for group SchedulerName *string `json:"schedulerName,omitempty"` // StorageClassName specifies the classname for storage of the servers. // // Deprecated: Use VolumeClaimTemplate instead. StorageClassName *string `json:"storageClassName,omitempty"` // Resources holds resource requests & limits // +doc/type: core.ResourceRequirements // +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core Resources core.ResourceRequirements `json:"resources,omitempty"` // OverrideDetectedTotalMemory determines if memory should be overridden based on values in resources. // If is set to true and Container Memory Limits are set, it sets Container Environment Variable `ARANGODB_OVERRIDE_DETECTED_TOTAL_MEMORY` to the value from the Container Memory Limits. // +doc/important: Values set by this feature override user-provided `ARANGODB_OVERRIDE_DETECTED_TOTAL_MEMORY` Container Environment Variable // +doc/default: true // +doc/link: Documentation of the ArangoDB Envs|https://docs.arangodb.com/devel/components/arangodb-server/environment-variables/ OverrideDetectedTotalMemory *bool `json:"overrideDetectedTotalMemory,omitempty"` // MemoryReservation determines the system reservation of memory while calculating `ARANGODB_OVERRIDE_DETECTED_TOTAL_MEMORY` value. // If this field is set, `ARANGODB_OVERRIDE_DETECTED_TOTAL_MEMORY` is reduced by a specified value in percent. // Accepted Range <0, 50>. If the value is outside the accepted range, it is adjusted to the closest value. // +doc/default: 0 // +doc/link: Documentation of the ArangoDB Envs|https://docs.arangodb.com/devel/components/arangodb-server/environment-variables/ MemoryReservation *int64 `json:"memoryReservation,omitempty"` // OverrideDetectedNumberOfCores determines if number of cores should be overridden based on values in resources. // If is set to true and Container CPU Limits are set, it sets Container Environment Variable `ARANGODB_OVERRIDE_DETECTED_NUMBER_OF_CORES` to the value from the Container CPU Limits. // +doc/important: Values set by this feature override user-provided `ARANGODB_OVERRIDE_DETECTED_NUMBER_OF_CORES` Container Environment Variable // +doc/default: true // +doc/link: Documentation of the ArangoDB Envs|https://docs.arangodb.com/devel/components/arangodb-server/environment-variables/ OverrideDetectedNumberOfCores *bool `json:"overrideDetectedNumberOfCores,omitempty"` // Tolerations specifies the tolerations added to Pods in this group. // By default, suitable tolerations are set for the following keys with the `NoExecute` effect: // - `node.kubernetes.io/not-ready` // - `node.kubernetes.io/unreachable` // - `node.alpha.kubernetes.io/unreachable` (will be removed in future version) // For more information on tolerations, consult the https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ // +doc/type: []core.Toleration // +doc/link: Documentation of core.Toleration|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core Tolerations []core.Toleration `json:"tolerations,omitempty"` // Annotations specified the annotations added to Pods in this group. // Annotations are merged with `spec.annotations`. Annotations map[string]string `json:"annotations,omitempty"` // AnnotationsIgnoreList list regexp or plain definitions which annotations should be ignored AnnotationsIgnoreList []string `json:"annotationsIgnoreList,omitempty"` // AnnotationsMode Define annotations mode which should be use while overriding annotations AnnotationsMode *LabelsMode `json:"annotationsMode,omitempty"` // Labels specified the labels added to Pods in this group. Labels map[string]string `json:"labels,omitempty"` // LabelsIgnoreList list regexp or plain definitions which labels should be ignored LabelsIgnoreList []string `json:"labelsIgnoreList,omitempty"` // LabelsMode Define labels mode which should be use while overriding labels LabelsMode *LabelsMode `json:"labelsMode,omitempty"` // Envs allow to specify additional envs in this group. Envs ServerGroupEnvVars `json:"envs,omitempty"` // ServiceAccountName setting specifies the `serviceAccountName` for the `Pods` created // for each server of this group. If empty, it defaults to using the // `default` service account. // Using an alternative `ServiceAccount` is typically used to separate access rights. // The ArangoDB deployments need some very minimal access rights. With the // deployment of the operator, we grant the rights to 'get' all 'pod' resources. // If you are using a different service account, please grant these rights // to that service account. ServiceAccountName *string `json:"serviceAccountName,omitempty"` // NodeSelector setting specifies a set of labels to be used as `nodeSelector` for Pods of this node. // +doc/type: map[string]string // +doc/link: Kubernetes documentation|https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Probes specifies additional behaviour for probes Probes *ServerGroupProbesSpec `json:"probes,omitempty"` // PriorityClassName specifies a priority class name // Will be forwarded to the pod spec. // +doc/link: Kubernetes documentation|https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ PriorityClassName string `json:"priorityClassName,omitempty"` // VolumeClaimTemplate specifies a volumeClaimTemplate used by operator to create to volume claims for pods of this group. // This setting is not available for group `coordinators`, `syncmasters` & `syncworkers`. // The default value describes a volume with `8Gi` storage, `ReadWriteOnce` access mode and volume mode set to `PersistentVolumeFilesystem`. // If this field is not set and `spec.<group>.resources.requests.storage` is set, then a default volume claim // with size as specified by `spec.<group>.resources.requests.storage` will be created. In that case `storage` // and `iops` is not forwarded to the pods resource requirements. // +doc/type: core.PersistentVolumeClaim // +doc/link: Documentation of core.PersistentVolumeClaim|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#persistentvolumeclaim-v1-core VolumeClaimTemplate *core.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"` // VolumeResizeMode specified resize mode for PVCs and PVs // +doc/enum: runtime|PVC will be resized in Pod runtime (EKS, GKE) // +doc/enum: rotate|Pod will be shutdown and PVC will be resized (AKS) // +doc/default: runtime VolumeResizeMode *PVCResizeMode `json:"pvcResizeMode,omitempty"` // VolumeAllowShrink allows shrinking of the volume // // Deprecated: Not used anymore VolumeAllowShrink *bool `json:"volumeAllowShrink,omitempty"` // AntiAffinity specified additional antiAffinity settings in ArangoDB Pod definitions // +doc/type: core.PodAntiAffinity // +doc/link: Documentation of core.Pod.AntiAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podantiaffinity-v1-core AntiAffinity *core.PodAntiAffinity `json:"antiAffinity,omitempty"` // Affinity specified additional affinity settings in ArangoDB Pod definitions // +doc/type: core.PodAffinity // +doc/link: Documentation of core.PodAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podaffinity-v1-core Affinity *core.PodAffinity `json:"affinity,omitempty"` // NodeAffinity specified additional nodeAffinity settings in ArangoDB Pod definitions // +doc/type: core.NodeAffinity // +doc/link: Documentation of code.NodeAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#nodeaffinity-v1-core NodeAffinity *core.NodeAffinity `json:"nodeAffinity,omitempty"` // SidecarCoreNames is a list of sidecar containers which must run in the pod. // Some names (e.g.: "server", "worker") are reserved, and they don't have any impact. SidecarCoreNames []string `json:"sidecarCoreNames,omitempty"` // Sidecars specifies a list of additional containers to be started // +doc/type: []core.Container // +doc/link: Documentation of core.Container|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#container-v1-core Sidecars []core.Container `json:"sidecars,omitempty"` // SecurityContext specifies additional `securityContext` settings in ArangoDB Pod definitions. // This is similar (but not fully compatible) to k8s SecurityContext definition. // +doc/link: Kubernetes documentation|https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ SecurityContext *ServerGroupSpecSecurityContext `json:"securityContext,omitempty"` // Volumes define list of volumes mounted to pod Volumes ServerGroupSpecVolumes `json:"volumes,omitempty"` // VolumeMounts define list of volume mounts mounted into server container // +doc/type: []ServerGroupSpecVolumeMount // +doc/link: Documentation of ServerGroupSpecVolumeMount|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#volumemount-v1-core VolumeMounts ServerGroupSpecVolumeMounts `json:"volumeMounts,omitempty"` // EphemeralVolumes keeps information about ephemeral volumes. EphemeralVolumes *EphemeralVolumes `json:"ephemeralVolumes,omitempty"` // ExtendedRotationCheck extend checks for rotation ExtendedRotationCheck *bool `json:"extendedRotationCheck,omitempty"` // InitContainers Init containers specification InitContainers *ServerGroupInitContainers `json:"initContainers,omitempty"` // ShutdownMethod describe procedure of member shutdown taken by Operator ShutdownMethod *ServerGroupShutdownMethod `json:"shutdownMethod,omitempty"` // ShutdownDelay define how long operator should delay finalizer removal after shutdown ShutdownDelay *int `json:"shutdownDelay,omitempty"` // InternalPort define port used in internal communication, can be accessed over localhost via sidecar. Only for ArangoD members InternalPort *int `json:"internalPort,omitempty"` // InternalPortProtocol define protocol of port used in internal communication, can be accessed over localhost via sidecar. Only for ArangoD members InternalPortProtocol *ServerGroupPortProtocol `json:"internalPortProtocol,omitempty"` // ExternalPortEnabled if external port should be enabled. If is set to false, ports needs to be exposed via sidecar. Only for ArangoD members ExternalPortEnabled *bool `json:"externalPortEnabled,omitempty"` // AllowMemberRecreation allows to recreate member. // This setting changes the member recreation logic based on group: // - For Sync Masters, Sync Workers, Coordinator and DB-Servers it determines if a member can be recreated in case of failure (default `true`) // - For Agents and Single this value is hardcoded to `false` and the value provided in spec is ignored. AllowMemberRecreation *bool `json:"allowMemberRecreation,omitempty"` // TerminationGracePeriodSeconds override default TerminationGracePeriodSeconds for pods - via silent rotation TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"` // IndexMethod define group Indexing method // +doc/enum: random|Pick random ID for member. Enforced on the Community Operator. // +doc/enum: ordered|Use sequential number as Member ID, starting from 0. Enterprise Operator required. IndexMethod *ServerGroupIndexMethod `json:"indexMethod,omitempty"` // PodModes define additional modes enabled on the Pod level PodModes *ServerGroupSpecPodMode `json:"podModes,omitempty"` // Port define Port used by member Port *uint16 `json:"port,omitempty"` // ExporterPort define Port used by exporter ExporterPort *uint16 `json:"exporterPort,omitempty"` // Numactl define Numactl options passed to the process Numactl *ServerGroupSpecNumactl `json:"numactl,omitempty"` // contains filtered or unexported fields }
ServerGroupSpec contains the specification for all servers in a specific group (e.g. all agents)
func (*ServerGroupSpec) CalculateMemoryReservation ¶
func (s *ServerGroupSpec) CalculateMemoryReservation(memory int64) int64
func (*ServerGroupSpec) DeepCopy ¶
func (in *ServerGroupSpec) DeepCopy() *ServerGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpec.
func (*ServerGroupSpec) DeepCopyInto ¶
func (in *ServerGroupSpec) DeepCopyInto(out *ServerGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupSpec) Get ¶
func (s *ServerGroupSpec) Get() ServerGroupSpec
func (*ServerGroupSpec) GetAnnotations ¶
func (s *ServerGroupSpec) GetAnnotations() map[string]string
GetAnnotations returns the annotations of this group
func (*ServerGroupSpec) GetArgs ¶
func (s *ServerGroupSpec) GetArgs() []string
GetArgs returns the value of args.
func (*ServerGroupSpec) GetCount ¶
func (s *ServerGroupSpec) GetCount() int
GetCount returns the value of count.
func (*ServerGroupSpec) GetEntrypoint ¶
func (s *ServerGroupSpec) GetEntrypoint(defaultEntrypoint string) string
func (*ServerGroupSpec) GetExporterPort ¶
func (s *ServerGroupSpec) GetExporterPort() uint16
func (*ServerGroupSpec) GetExternalPortEnabled ¶
func (s *ServerGroupSpec) GetExternalPortEnabled() bool
GetExternalPortEnabled returns value of ExternalPortEnabled. If ExternalPortEnabled is nil true is returned
func (*ServerGroupSpec) GetMaxCount ¶
func (s *ServerGroupSpec) GetMaxCount() int
GetMaxCount returns MaxCount or
func (*ServerGroupSpec) GetMemoryReservation ¶
func (s *ServerGroupSpec) GetMemoryReservation() int64
func (*ServerGroupSpec) GetMinCount ¶
func (s *ServerGroupSpec) GetMinCount() int
GetMinCount returns MinCount or 1 if not set
func (*ServerGroupSpec) GetNodeSelector ¶
func (s *ServerGroupSpec) GetNodeSelector() map[string]string
GetNodeSelector returns the selectors for nodes of this group
func (*ServerGroupSpec) GetNumactl ¶
func (s *ServerGroupSpec) GetNumactl() *ServerGroupSpecNumactl
GetNumactl returns ServerGroupSpecNumactl
func (*ServerGroupSpec) GetOverrideDetectedNumberOfCores ¶
func (s *ServerGroupSpec) GetOverrideDetectedNumberOfCores() bool
GetOverrideDetectedNumberOfCores returns OverrideDetectedNumberOfCores with default value (false)
func (*ServerGroupSpec) GetOverrideDetectedTotalMemory ¶
func (s *ServerGroupSpec) GetOverrideDetectedTotalMemory() bool
GetOverrideDetectedTotalMemory returns OverrideDetectedTotalMemory with default value (false)
func (*ServerGroupSpec) GetPort ¶
func (s *ServerGroupSpec) GetPort() uint16
func (*ServerGroupSpec) GetProbesSpec ¶
func (s *ServerGroupSpec) GetProbesSpec() ServerGroupProbesSpec
GetProbesSpec returns the Probes spec or the nil value if not set
func (*ServerGroupSpec) GetServiceAccountName ¶
func (s *ServerGroupSpec) GetServiceAccountName() string
GetServiceAccountName returns the value of serviceAccountName.
func (*ServerGroupSpec) GetShutdownDelay ¶
func (s *ServerGroupSpec) GetShutdownDelay(group ServerGroup) int
GetShutdownDelay returns defined or default Group ShutdownDelay in seconds
func (*ServerGroupSpec) GetSidecars ¶
func (s *ServerGroupSpec) GetSidecars() []core.Container
GetSidecars returns a list of sidecars the use wish to add
func (*ServerGroupSpec) GetStorageClassName ¶
func (s *ServerGroupSpec) GetStorageClassName() string
GetStorageClassName returns the value of storageClassName.
func (*ServerGroupSpec) GetTerminationGracePeriod ¶
func (s *ServerGroupSpec) GetTerminationGracePeriod(group ServerGroup) time.Duration
GetTerminationGracePeriod returns termination grace period as Duration
func (*ServerGroupSpec) GetTolerations ¶
func (s *ServerGroupSpec) GetTolerations() []core.Toleration
GetTolerations returns the value of tolerations.
func (*ServerGroupSpec) GetVolumeAllowShrink
deprecated
func (s *ServerGroupSpec) GetVolumeAllowShrink() bool
Deprecated: GetVolumeAllowShrink returns true when it is possible to shrink the volume.
func (*ServerGroupSpec) GetVolumeClaimTemplate ¶
func (s *ServerGroupSpec) GetVolumeClaimTemplate() *core.PersistentVolumeClaim
GetVolumeClaimTemplate returns a pointer to a volume claim template or nil if none is specified
func (*ServerGroupSpec) Group ¶
func (s *ServerGroupSpec) Group() ServerGroup
func (*ServerGroupSpec) HasProbesSpec ¶
func (s *ServerGroupSpec) HasProbesSpec() bool
HasProbesSpec returns true if Probes is non nil
func (*ServerGroupSpec) HasVolumeClaimTemplate ¶
func (s *ServerGroupSpec) HasVolumeClaimTemplate() bool
HasVolumeClaimTemplate returns whether there is a volumeClaimTemplate or not
func (ServerGroupSpec) New ¶
func (s ServerGroupSpec) New() *ServerGroupSpec
func (*ServerGroupSpec) ResetImmutableFields ¶
func (s *ServerGroupSpec) ResetImmutableFields(group ServerGroup, fieldPrefix string, target *ServerGroupSpec) []string
ResetImmutableFields replaces all immutable fields in the given target with values from the source spec. It returns a list of fields that have been reset.
func (*ServerGroupSpec) SetDefaults ¶
func (s *ServerGroupSpec) SetDefaults(group ServerGroup, used bool, mode DeploymentMode)
SetDefaults fills in missing defaults
func (*ServerGroupSpec) SetDefaultsFrom ¶
func (s *ServerGroupSpec) SetDefaultsFrom(source ServerGroupSpec)
SetDefaultsFrom fills unspecified fields with a value from given source spec.
func (*ServerGroupSpec) Validate ¶
func (s *ServerGroupSpec) Validate(group ServerGroup, used bool, mode DeploymentMode, env Environment) error
Validate the given group spec
func (*ServerGroupSpec) WithDefaults ¶
func (s *ServerGroupSpec) WithDefaults(group ServerGroup, used bool, mode DeploymentMode) *ServerGroupSpec
WithDefaults copy deployment with missing defaults
func (*ServerGroupSpec) WithGroup ¶
func (s *ServerGroupSpec) WithGroup(group ServerGroup) ServerGroupSpec
WithGroup copy deployment with missing group
type ServerGroupSpecNumactl ¶
type ServerGroupSpecNumactl struct { // Enabled define if numactl should be enabled // +doc/default: false Enabled *bool `json:"enabled,omitempty"` // Path define numactl path within the container // +doc/default: /usr/bin/numactl Path *string `json:"path,omitempty"` // Args define list of the numactl process // +doc/default: [] Args []string `json:"args,omitempty"` }
func (*ServerGroupSpecNumactl) DeepCopy ¶
func (in *ServerGroupSpecNumactl) DeepCopy() *ServerGroupSpecNumactl
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecNumactl.
func (*ServerGroupSpecNumactl) DeepCopyInto ¶
func (in *ServerGroupSpecNumactl) DeepCopyInto(out *ServerGroupSpecNumactl)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupSpecNumactl) GetArgs ¶
func (s *ServerGroupSpecNumactl) GetArgs() []string
GetArgs returns args of the numactl command
func (*ServerGroupSpecNumactl) GetPath ¶
func (s *ServerGroupSpecNumactl) GetPath() string
GetPath returns path of the numactl binary
func (*ServerGroupSpecNumactl) IsEnabled ¶
func (s *ServerGroupSpecNumactl) IsEnabled() bool
IsEnabled returns flag if Numactl should be enabled
type ServerGroupSpecPodMode ¶
type ServerGroupSpecPodMode struct { Network *ServerGroupNetworkMode `json:"network,omitempty"` PID *ServerGroupPIDMode `json:"pid,omitempty"` }
func (*ServerGroupSpecPodMode) Apply ¶
func (s *ServerGroupSpecPodMode) Apply(p *core.PodSpec)
func (*ServerGroupSpecPodMode) DeepCopy ¶
func (in *ServerGroupSpecPodMode) DeepCopy() *ServerGroupSpecPodMode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecPodMode.
func (*ServerGroupSpecPodMode) DeepCopyInto ¶
func (in *ServerGroupSpecPodMode) DeepCopyInto(out *ServerGroupSpecPodMode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupSpecPodMode) GetNetwork ¶
func (s *ServerGroupSpecPodMode) GetNetwork() *ServerGroupNetworkMode
func (*ServerGroupSpecPodMode) GetPID ¶
func (s *ServerGroupSpecPodMode) GetPID() *ServerGroupPIDMode
func (*ServerGroupSpecPodMode) Validate ¶
func (s *ServerGroupSpecPodMode) Validate() error
type ServerGroupSpecSecurityContext ¶
type ServerGroupSpecSecurityContext struct { // DropAllCapabilities specifies if capabilities should be dropped for this pod containers // // Deprecated: This field is added for backward compatibility. Will be removed in 1.1.0. DropAllCapabilities *bool `json:"dropAllCapabilities,omitempty"` // AddCapabilities add new capabilities to containers // +doc/type: []core.Capability AddCapabilities []core.Capability `json:"addCapabilities,omitempty"` // AllowPrivilegeEscalation Controls whether a process can gain more privileges than its parent process. AllowPrivilegeEscalation *bool `json:"allowPrivilegeEscalation,omitempty"` // Privileged If true, runs container in privileged mode. Processes in privileged containers are // essentially equivalent to root on the host. Privileged *bool `json:"privileged,omitempty"` // ReadOnlyRootFilesystem if true, mounts the container's root filesystem as read-only. ReadOnlyRootFilesystem *bool `json:"readOnlyRootFilesystem,omitempty"` // RunAsNonRoot if true, indicates that the container must run as a non-root user. RunAsNonRoot *bool `json:"runAsNonRoot,omitempty"` // RunAsUser is the UID to run the entrypoint of the container process. RunAsUser *int64 `json:"runAsUser,omitempty"` // RunAsGroup is the GID to run the entrypoint of the container process. RunAsGroup *int64 `json:"runAsGroup,omitempty"` // SupplementalGroups is a list of groups applied to the first process run in each container, in addition to the container's primary GID, // the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. SupplementalGroups []int64 `json:"supplementalGroups,omitempty"` // FSGroup is a special supplemental group that applies to all containers in a pod. FSGroup *int64 `json:"fsGroup,omitempty"` // Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported // sysctls (by the container runtime) might fail to launch. // Map Value can be String or Int // +doc/example: sysctls: // +doc/example: "kernel.shm_rmid_forced": "0" // +doc/example: "net.core.somaxconn": 1024 // +doc/example: "kernel.msgmax": "65536" // +doc/type: map[string]intstr.IntOrString // +doc/link: Documentation|https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ Sysctls map[string]intstr.IntOrString `json:"sysctls,omitempty"` // SeccompProfile defines a pod/container's seccomp profile settings. Only one profile source may be set. // +doc/type: core.SeccompProfile // +doc/link: Documentation of core.SeccompProfile|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#seccompprofile-v1-core SeccompProfile *core.SeccompProfile `json:"seccompProfile,omitempty" protobuf:"bytes,11,opt,name=seccompProfile"` // SELinuxOptions are the labels to be applied to the container // +doc/type: core.SELinuxOptions // +doc/link: Documentation of core.SELinuxOptions|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#selinuxoptions-v1-core SELinuxOptions *core.SELinuxOptions `json:"seLinuxOptions,omitempty" protobuf:"bytes,3,opt,name=seLinuxOptions"` }
ServerGroupSpecSecurityContext contains specification for pod security context
func (*ServerGroupSpecSecurityContext) DeepCopy ¶
func (in *ServerGroupSpecSecurityContext) DeepCopy() *ServerGroupSpecSecurityContext
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecSecurityContext.
func (*ServerGroupSpecSecurityContext) DeepCopyInto ¶
func (in *ServerGroupSpecSecurityContext) DeepCopyInto(out *ServerGroupSpecSecurityContext)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupSpecSecurityContext) GetAddCapabilities ¶
func (s *ServerGroupSpecSecurityContext) GetAddCapabilities() []core.Capability
GetAddCapabilities add capabilities to pod context
func (*ServerGroupSpecSecurityContext) GetDropAllCapabilities
deprecated
func (s *ServerGroupSpecSecurityContext) GetDropAllCapabilities() bool
GetDropAllCapabilities returns flag if capabilities should be dropped
Deprecated: This function is added for backward compatibility. Will be removed in 1.1.0.
func (*ServerGroupSpecSecurityContext) NewPodSecurityContext ¶
func (s *ServerGroupSpecSecurityContext) NewPodSecurityContext(secured bool) *core.PodSecurityContext
NewPodSecurityContext creates new pod security context
func (*ServerGroupSpecSecurityContext) NewSecurityContext ¶
func (s *ServerGroupSpecSecurityContext) NewSecurityContext(secured ...bool) *core.SecurityContext
NewSecurityContext creates new security context
type ServerGroupSpecVolume ¶
type ServerGroupSpecVolume struct { // Name of volume Name string `json:"name"` // Secret which should be mounted into pod // +doc/type: core.SecretVolumeSource // +doc/link: Documentation of core.SecretVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#secretvolumesource-v1-core Secret *ServerGroupSpecVolumeSecret `json:"secret,omitempty"` // ConfigMap which should be mounted into pod // +doc/type: core.ConfigMapVolumeSource // +doc/link: Documentation of core.ConfigMapVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#configmapvolumesource-v1-core ConfigMap *ServerGroupSpecVolumeConfigMap `json:"configMap,omitempty"` // EmptyDir // +doc/type: core.EmptyDirVolumeSource // +doc/link: Documentation of core.EmptyDirVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#emptydirvolumesource-v1-core EmptyDir *ServerGroupSpecVolumeEmptyDir `json:"emptyDir,omitempty"` // HostPath // +doc/type: core.HostPathVolumeSource // +doc/link: Documentation of core.HostPathVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#hostpathvolumesource-v1-core HostPath *ServerGroupSpecVolumeHostPath `json:"hostPath,omitempty"` // PersistentVolumeClaim // +doc/type: core.PersistentVolumeClaimVolumeSource // +doc/link: Documentation of core.PersistentVolumeClaimVolumeSource|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#persistentvolumeclaimvolumesource-v1-core PersistentVolumeClaim *ServerGroupSpecVolumePersistentVolumeClaim `json:"persistentVolumeClaim,omitempty"` }
ServerGroupSpecVolume definition of volume which need to be mounted to Pod
func (*ServerGroupSpecVolume) DeepCopy ¶
func (in *ServerGroupSpecVolume) DeepCopy() *ServerGroupSpecVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecVolume.
func (*ServerGroupSpecVolume) DeepCopyInto ¶
func (in *ServerGroupSpecVolume) DeepCopyInto(out *ServerGroupSpecVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ServerGroupSpecVolume) RenderVolume ¶
func (s ServerGroupSpecVolume) RenderVolume(depl meta.Object, group ServerGroup, member MemberStatus) core.Volume
RenderVolume create Pod Volume object with dynamic names
func (*ServerGroupSpecVolume) Validate ¶
func (s *ServerGroupSpecVolume) Validate() error
Validate if ServerGroupSpec volume is valid
func (ServerGroupSpecVolume) Volume ¶
func (s ServerGroupSpecVolume) Volume() core.Volume
Volume create Pod Volume object
type ServerGroupSpecVolumeConfigMap ¶
type ServerGroupSpecVolumeConfigMap core.ConfigMapVolumeSource
func (*ServerGroupSpecVolumeConfigMap) DeepCopy ¶
func (in *ServerGroupSpecVolumeConfigMap) DeepCopy() *ServerGroupSpecVolumeConfigMap
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecVolumeConfigMap.
func (*ServerGroupSpecVolumeConfigMap) DeepCopyInto ¶
func (in *ServerGroupSpecVolumeConfigMap) DeepCopyInto(out *ServerGroupSpecVolumeConfigMap)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupSpecVolumeConfigMap) Validate ¶
func (s *ServerGroupSpecVolumeConfigMap) Validate() error
type ServerGroupSpecVolumeEmptyDir ¶
type ServerGroupSpecVolumeEmptyDir core.EmptyDirVolumeSource
func (*ServerGroupSpecVolumeEmptyDir) DeepCopy ¶
func (in *ServerGroupSpecVolumeEmptyDir) DeepCopy() *ServerGroupSpecVolumeEmptyDir
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecVolumeEmptyDir.
func (*ServerGroupSpecVolumeEmptyDir) DeepCopyInto ¶
func (in *ServerGroupSpecVolumeEmptyDir) DeepCopyInto(out *ServerGroupSpecVolumeEmptyDir)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupSpecVolumeEmptyDir) Validate ¶
func (s *ServerGroupSpecVolumeEmptyDir) Validate() error
type ServerGroupSpecVolumeHostPath ¶
type ServerGroupSpecVolumeHostPath core.HostPathVolumeSource
func (*ServerGroupSpecVolumeHostPath) DeepCopy ¶
func (in *ServerGroupSpecVolumeHostPath) DeepCopy() *ServerGroupSpecVolumeHostPath
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecVolumeHostPath.
func (*ServerGroupSpecVolumeHostPath) DeepCopyInto ¶
func (in *ServerGroupSpecVolumeHostPath) DeepCopyInto(out *ServerGroupSpecVolumeHostPath)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupSpecVolumeHostPath) Validate ¶
func (s *ServerGroupSpecVolumeHostPath) Validate() error
type ServerGroupSpecVolumeMount ¶
type ServerGroupSpecVolumeMount struct { // This must match the Name of a Volume. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Mounted read-only if true, read-write otherwise (false or unspecified). // Defaults to false. ReadOnly bool `json:"readOnly,omitempty" protobuf:"varint,2,opt,name=readOnly"` // Path within the container at which the volume should be mounted. Must // not contain ':'. MountPath string `json:"mountPath" protobuf:"bytes,3,opt,name=mountPath"` // Path within the volume from which the container's volume should be mounted. // Defaults to "" (volume's root). SubPath string `json:"subPath,omitempty" protobuf:"bytes,4,opt,name=subPath"` // mountPropagation determines how mounts are propagated from the host // to container and the other way around. // When not set, MountPropagationNone is used. // This field is beta in 1.10. // When RecursiveReadOnly is set to IfPossible or to Enabled, MountPropagation must be None or unspecified // (which defaults to None). MountPropagation *core.MountPropagationMode `json:"mountPropagation,omitempty" protobuf:"bytes,5,opt,name=mountPropagation,casttype=MountPropagationMode"` // Expanded path within the volume from which the container's volume should be mounted. // Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. // Defaults to "" (volume's root). // SubPathExpr and SubPath are mutually exclusive. SubPathExpr string `json:"subPathExpr,omitempty" protobuf:"bytes,6,opt,name=subPathExpr"` }
func (*ServerGroupSpecVolumeMount) DeepCopy ¶
func (in *ServerGroupSpecVolumeMount) DeepCopy() *ServerGroupSpecVolumeMount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecVolumeMount.
func (*ServerGroupSpecVolumeMount) DeepCopyInto ¶
func (in *ServerGroupSpecVolumeMount) DeepCopyInto(out *ServerGroupSpecVolumeMount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupSpecVolumeMount) Validate ¶
func (s *ServerGroupSpecVolumeMount) Validate() error
func (ServerGroupSpecVolumeMount) VolumeMount ¶
func (s ServerGroupSpecVolumeMount) VolumeMount() core.VolumeMount
type ServerGroupSpecVolumeMounts ¶
type ServerGroupSpecVolumeMounts []ServerGroupSpecVolumeMount
func (ServerGroupSpecVolumeMounts) DeepCopy ¶
func (in ServerGroupSpecVolumeMounts) DeepCopy() ServerGroupSpecVolumeMounts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecVolumeMounts.
func (ServerGroupSpecVolumeMounts) DeepCopyInto ¶
func (in ServerGroupSpecVolumeMounts) DeepCopyInto(out *ServerGroupSpecVolumeMounts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ServerGroupSpecVolumeMounts) Validate ¶
func (s ServerGroupSpecVolumeMounts) Validate() error
func (ServerGroupSpecVolumeMounts) VolumeMounts ¶
func (s ServerGroupSpecVolumeMounts) VolumeMounts() []core.VolumeMount
type ServerGroupSpecVolumePersistentVolumeClaim ¶
type ServerGroupSpecVolumePersistentVolumeClaim core.PersistentVolumeClaimVolumeSource
func (*ServerGroupSpecVolumePersistentVolumeClaim) DeepCopy ¶
func (in *ServerGroupSpecVolumePersistentVolumeClaim) DeepCopy() *ServerGroupSpecVolumePersistentVolumeClaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecVolumePersistentVolumeClaim.
func (*ServerGroupSpecVolumePersistentVolumeClaim) DeepCopyInto ¶
func (in *ServerGroupSpecVolumePersistentVolumeClaim) DeepCopyInto(out *ServerGroupSpecVolumePersistentVolumeClaim)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupSpecVolumePersistentVolumeClaim) Validate ¶
func (s *ServerGroupSpecVolumePersistentVolumeClaim) Validate() error
type ServerGroupSpecVolumeSecret ¶
type ServerGroupSpecVolumeSecret core.SecretVolumeSource
func (*ServerGroupSpecVolumeSecret) DeepCopy ¶
func (in *ServerGroupSpecVolumeSecret) DeepCopy() *ServerGroupSpecVolumeSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecVolumeSecret.
func (*ServerGroupSpecVolumeSecret) DeepCopyInto ¶
func (in *ServerGroupSpecVolumeSecret) DeepCopyInto(out *ServerGroupSpecVolumeSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupSpecVolumeSecret) Validate ¶
func (s *ServerGroupSpecVolumeSecret) Validate() error
type ServerGroupSpecVolumes ¶
type ServerGroupSpecVolumes []ServerGroupSpecVolume
ServerGroupSpecVolumes definition of volume list which need to be mounted to Pod
func (ServerGroupSpecVolumes) DeepCopy ¶
func (in ServerGroupSpecVolumes) DeepCopy() ServerGroupSpecVolumes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupSpecVolumes.
func (ServerGroupSpecVolumes) DeepCopyInto ¶
func (in ServerGroupSpecVolumes) DeepCopyInto(out *ServerGroupSpecVolumes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ServerGroupSpecVolumes) RenderVolumes ¶
func (s ServerGroupSpecVolumes) RenderVolumes(depl meta.Object, group ServerGroup, member MemberStatus) []core.Volume
RenderVolumes render volumes
func (ServerGroupSpecVolumes) Validate ¶
func (s ServerGroupSpecVolumes) Validate() error
Validate if ServerGroupSpec volumes are valid and does not collide
func (ServerGroupSpecVolumes) Volumes ¶
func (s ServerGroupSpecVolumes) Volumes() []core.Volume
Volumes create volumes
type ServerGroupStatus ¶
type ServerGroupStatus struct {
Index *int `json:"index,omitempty"`
}
func (*ServerGroupStatus) DeepCopy ¶
func (in *ServerGroupStatus) DeepCopy() *ServerGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroupStatus.
func (*ServerGroupStatus) DeepCopyInto ¶
func (in *ServerGroupStatus) DeepCopyInto(out *ServerGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerGroupStatus) Equal ¶
func (s *ServerGroupStatus) Equal(b *ServerGroupStatus) bool
type ServerGroupType ¶
type ServerGroupType int
const ( ServerGroupTypeUnknown ServerGroupType = iota ServerGroupTypeArangoD ServerGroupTypeArangoSync ServerGroupTypeID ServerGroupTypeGateway )
type ServerGroups ¶
type ServerGroups []ServerGroup
func (ServerGroups) Contains ¶
func (s ServerGroups) Contains(group ServerGroup) bool
func (ServerGroups) DeepCopy ¶
func (in ServerGroups) DeepCopy() ServerGroups
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerGroups.
func (ServerGroups) DeepCopyInto ¶
func (in ServerGroups) DeepCopyInto(out *ServerGroups)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServerIDGroupSpec ¶
type ServerIDGroupSpec struct { // Entrypoint overrides container executable Entrypoint *string `json:"entrypoint,omitempty"` // Args setting specifies additional command-line arguments passed to all servers of this group. // +doc/type: []string // +doc/default: [] Args []string `json:"args,omitempty"` // Tolerations specifies the tolerations added to Pods in this group. // +doc/type: []core.Toleration // +doc/link: Documentation of core.Toleration|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#toleration-v1-core Tolerations []core.Toleration `json:"tolerations,omitempty"` // NodeSelector specifies a set of selectors for nodes NodeSelector map[string]string `json:"nodeSelector,omitempty"` // PriorityClassName specifies a priority class name PriorityClassName string `json:"priorityClassName,omitempty"` // AntiAffinity specified additional antiAffinity settings in ArangoDB Pod definitions // +doc/type: core.PodAntiAffinity // +doc/link: Documentation of core.Pod.AntiAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podantiaffinity-v1-core AntiAffinity *core.PodAntiAffinity `json:"antiAffinity,omitempty"` // Affinity specified additional affinity settings in ArangoDB Pod definitions // +doc/type: core.PodAffinity // +doc/link: Documentation of core.PodAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#podaffinity-v1-core Affinity *core.PodAffinity `json:"affinity,omitempty"` // NodeAffinity specified additional nodeAffinity settings in ArangoDB Pod definitions // +doc/type: core.NodeAffinity // +doc/link: Documentation of code.NodeAffinity|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#nodeaffinity-v1-core NodeAffinity *core.NodeAffinity `json:"nodeAffinity,omitempty"` // ServiceAccountName specifies the name of the service account used for Pods in this group. ServiceAccountName *string `json:"serviceAccountName,omitempty"` // SecurityContext specifies security context for group SecurityContext *ServerGroupSpecSecurityContext `json:"securityContext,omitempty"` // Resources holds resource requests & limits // +doc/type: core.ResourceRequirements // +doc/link: Documentation of core.ResourceRequirements|https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#resourcerequirements-v1-core Resources *core.ResourceRequirements `json:"resources,omitempty"` }
ServerIDGroupSpec contains the specification for Image Discovery image.
func (*ServerIDGroupSpec) DeepCopy ¶
func (in *ServerIDGroupSpec) DeepCopy() *ServerIDGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerIDGroupSpec.
func (*ServerIDGroupSpec) DeepCopyInto ¶
func (in *ServerIDGroupSpec) DeepCopyInto(out *ServerIDGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServerIDGroupSpec) Get ¶
func (s *ServerIDGroupSpec) Get() ServerIDGroupSpec
func (*ServerIDGroupSpec) GetEntrypoint ¶
func (s *ServerIDGroupSpec) GetEntrypoint(defaultEntrypoint string) string
func (*ServerIDGroupSpec) GetResources ¶
func (s *ServerIDGroupSpec) GetResources() core.ResourceRequirements
func (*ServerIDGroupSpec) GetServiceAccountName ¶
func (s *ServerIDGroupSpec) GetServiceAccountName() string
type StorageEngine ¶
type StorageEngine string
StorageEngine specifies the type of storage engine used by the cluster
const ( // StorageEngineMMFiles yields a cluster using the mmfiles storage engine // Deprecated StorageEngineMMFiles StorageEngine = "MMFiles" // StorageEngineRocksDB yields a cluster using the rocksdb storage engine StorageEngineRocksDB StorageEngine = "RocksDB" )
func NewStorageEngine ¶
func NewStorageEngine(input StorageEngine) *StorageEngine
NewStorageEngine returns a reference to a string with given value.
func NewStorageEngineOrNil ¶
func NewStorageEngineOrNil(input *StorageEngine) *StorageEngine
NewStorageEngineOrNil returns nil if input is nil, otherwise returns a clone of the given value.
func StorageEngineOrDefault ¶
func StorageEngineOrDefault(input *StorageEngine, defaultValue ...StorageEngine) StorageEngine
StorageEngineOrDefault returns the default value (or empty string) if input is nil, otherwise returns the referenced value.
func (StorageEngine) AsArangoArgument ¶
func (se StorageEngine) AsArangoArgument() string
AsArangoArgument returns the value for the given storage engine as it is to be used for arangod's --server.storage-engine option.
func (StorageEngine) Validate ¶
func (se StorageEngine) Validate() error
Validate the storage engine. Return errors when validation fails, nil on success.
type SyncAuthenticationSpec ¶
type SyncAuthenticationSpec struct { // JWTSecretName setting specifies the name of a kubernetes `Secret` that contains // the JWT token used for accessing all ArangoSync master servers. // When not specified, the `spec.auth.jwtSecretName` value is used. // If you specify a name of a `Secret` that does not exist, a random token is created // and stored in a `Secret` with given name. JWTSecretName *string `json:"jwtSecretName,omitempty"` // ClientCASecretName setting specifies the name of a kubernetes `Secret` that contains // a PEM encoded CA certificate used for client certificate verification // in all ArangoSync master servers. // This is a required setting when `spec.sync.enabled` is `true`. ClientCASecretName *string `json:"clientCASecretName,omitempty"` }
SyncAuthenticationSpec holds dc2dc sync authentication specific configuration settings
func (*SyncAuthenticationSpec) DeepCopy ¶
func (in *SyncAuthenticationSpec) DeepCopy() *SyncAuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncAuthenticationSpec.
func (*SyncAuthenticationSpec) DeepCopyInto ¶
func (in *SyncAuthenticationSpec) DeepCopyInto(out *SyncAuthenticationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SyncAuthenticationSpec) GetClientCASecretName ¶
func (s SyncAuthenticationSpec) GetClientCASecretName() string
GetClientCASecretName returns the value of clientCASecretName.
func (SyncAuthenticationSpec) GetJWTSecretName ¶
func (s SyncAuthenticationSpec) GetJWTSecretName() string
GetJWTSecretName returns the value of jwtSecretName.
func (SyncAuthenticationSpec) ResetImmutableFields ¶
func (s SyncAuthenticationSpec) ResetImmutableFields(fieldPrefix string, target *SyncAuthenticationSpec) []string
ResetImmutableFields replaces all immutable fields in the given target with values from the source spec. It returns a list of fields that have been reset. Field names are relative to given field prefix.
func (*SyncAuthenticationSpec) SetDefaults ¶
func (s *SyncAuthenticationSpec) SetDefaults(defaultJWTSecretName, defaultClientCASecretName string)
SetDefaults fills in missing defaults
func (*SyncAuthenticationSpec) SetDefaultsFrom ¶
func (s *SyncAuthenticationSpec) SetDefaultsFrom(source SyncAuthenticationSpec)
SetDefaultsFrom fills unspecified fields with a value from given source spec.
func (SyncAuthenticationSpec) Validate ¶
func (s SyncAuthenticationSpec) Validate() error
Validate the given spec
type SyncExternalAccessSpec ¶
type SyncExternalAccessSpec struct { ExternalAccessSpec // MasterEndpoint setting specifies the master endpoint(s) advertised by the ArangoSync SyncMasters. // If not set, this setting defaults to: // - If `spec.sync.externalAccess.loadBalancerIP` is set, it defaults to `https://<load-balancer-ip>:<8629>`. // - Otherwise it defaults to `https://<sync-service-dns-name>:<8629>`. // +doc/type: []string MasterEndpoint []string `json:"masterEndpoint,omitempty"` // AccessPackageSecretNames setting specifies the names of zero of more `Secrets` that will be created by the deployment // operator containing "access packages". An access package contains those `Secrets` that are needed // to access the SyncMasters of this `ArangoDeployment`. // By removing a name from this setting, the corresponding `Secret` is also deleted. // Note that to remove all access packages, leave an empty array in place (`[]`). // Completely removing the setting results in not modifying the list. // +doc/type: []string // +doc/link: See the ArangoDeploymentReplication specification|deployment-replication-resource-reference.md AccessPackageSecretNames []string `json:"accessPackageSecretNames,omitempty"` }
SyncExternalAccessSpec holds configuration for the external access provided for the sync deployment.
func (*SyncExternalAccessSpec) DeepCopy ¶
func (in *SyncExternalAccessSpec) DeepCopy() *SyncExternalAccessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncExternalAccessSpec.
func (*SyncExternalAccessSpec) DeepCopyInto ¶
func (in *SyncExternalAccessSpec) DeepCopyInto(out *SyncExternalAccessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SyncExternalAccessSpec) GetAccessPackageSecretNames ¶
func (s SyncExternalAccessSpec) GetAccessPackageSecretNames() []string
GetAccessPackageSecretNames returns the value of accessPackageSecretNames.
func (SyncExternalAccessSpec) GetMasterEndpoint ¶
func (s SyncExternalAccessSpec) GetMasterEndpoint() []string
GetMasterEndpoint returns the value of masterEndpoint.
func (SyncExternalAccessSpec) ResetImmutableFields ¶
func (s SyncExternalAccessSpec) ResetImmutableFields(fieldPrefix string, target *SyncExternalAccessSpec) []string
ResetImmutableFields replaces all immutable fields in the given target with values from the source spec. It returns a list of fields that have been reset. Field names are relative to given field prefix.
func (SyncExternalAccessSpec) ResolveMasterEndpoint ¶
func (s SyncExternalAccessSpec) ResolveMasterEndpoint(syncServiceHostName string, syncServicePort int) []string
ResolveMasterEndpoint returns the value of `--master.endpoint` option passed to arangosync.
func (*SyncExternalAccessSpec) SetDefaults ¶
func (s *SyncExternalAccessSpec) SetDefaults()
SetDefaults fills in missing defaults
func (*SyncExternalAccessSpec) SetDefaultsFrom ¶
func (s *SyncExternalAccessSpec) SetDefaultsFrom(source SyncExternalAccessSpec)
SetDefaultsFrom fills unspecified fields with a value from given source spec.
func (SyncExternalAccessSpec) Validate ¶
func (s SyncExternalAccessSpec) Validate() error
Validate the given spec
type SyncSpec ¶
type SyncSpec struct { // Enabled setting enables/disables support for data center 2 data center // replication in the cluster. When enabled, the cluster will contain // a number of `syncmaster` & `syncworker` servers. // +doc/default: false Enabled *bool `json:"enabled,omitempty"` ExternalAccess SyncExternalAccessSpec `json:"externalAccess"` Authentication SyncAuthenticationSpec `json:"auth"` TLS TLSSpec `json:"tls"` Monitoring MonitoringSpec `json:"monitoring"` Image *string `json:"image"` }
SyncSpec holds dc2dc replication specific configuration settings
func (*SyncSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncSpec.
func (*SyncSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SyncSpec) GetSyncImage ¶
GetSyncImage returns the syncer image or empty string
func (SyncSpec) HasSyncImage ¶
HasSyncImage returns whether a special sync image is set
func (SyncSpec) ResetImmutableFields ¶
ResetImmutableFields replaces all immutable fields in the given target with values from the source spec. It returns a list of fields that have been reset. Field names are relative to given field prefix.
func (*SyncSpec) SetDefaults ¶
func (s *SyncSpec) SetDefaults(defaultJWTSecretName, defaultClientAuthCASecretName, defaultTLSCASecretName, defaultMonitoringSecretName string)
SetDefaults fills in missing defaults
func (*SyncSpec) SetDefaultsFrom ¶
SetDefaultsFrom fills unspecified fields with a value from given source spec.
func (SyncSpec) Validate ¶
func (s SyncSpec) Validate(mode DeploymentMode) error
Validate the given spec
type TLSRotateMode ¶
type TLSRotateMode string
const ( TLSRotateModeInPlace TLSRotateMode = "inplace" TLSRotateModeRecreate TLSRotateMode = "recreate" )
func (*TLSRotateMode) Get ¶
func (t *TLSRotateMode) Get() TLSRotateMode
func (TLSRotateMode) New ¶
func (t TLSRotateMode) New() *TLSRotateMode
type TLSSNISpec ¶
TLSSNISpec holds TLS SNI additional certificates
func (*TLSSNISpec) DeepCopy ¶
func (in *TLSSNISpec) DeepCopy() *TLSSNISpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSSNISpec.
func (*TLSSNISpec) DeepCopyInto ¶
func (in *TLSSNISpec) DeepCopyInto(out *TLSSNISpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TLSSNISpec) SetDefaultsFrom ¶
func (s *TLSSNISpec) SetDefaultsFrom(source *TLSSNISpec)
SetDefaultsFrom fills unspecified fields with a value from given source spec.
func (TLSSNISpec) Validate ¶
func (s TLSSNISpec) Validate() error
type TLSSpec ¶
type TLSSpec struct { // CASecretName setting specifies the name of a kubernetes `Secret` that contains // a standard CA certificate + private key used to sign certificates for individual // ArangoDB servers. // When no name is specified, it defaults to `<deployment-name>-ca`. // To disable authentication, set this value to `None`. // If you specify a name of a `Secret` that does not exist, a self-signed CA certificate + key is created // and stored in a `Secret` with given name. // The specified `Secret`, must contain the following data fields: // - `ca.crt` PEM encoded public key of the CA certificate // - `ca.key` PEM encoded private key of the CA certificate CASecretName *string `json:"caSecretName,omitempty"` // AltNames setting specifies a list of alternate names that will be added to all generated // certificates. These names can be DNS names or email addresses. // The default value is empty. // +doc/type: []string AltNames []string `json:"altNames,omitempty"` // TTL setting specifies the time to live of all generated server certificates. // When the server certificate is about to expire, it will be automatically replaced // by a new one and the affected server will be restarted. // Note: The time to live of the CA certificate (when created automatically) // will be set to 10 years. // +doc/default: "2160h" (about 3 months) TTL *Duration `json:"ttl,omitempty"` SNI *TLSSNISpec `json:"sni,omitempty"` Mode *TLSRotateMode `json:"mode,omitempty"` }
TLSSpec holds TLS specific configuration settings
func (*TLSSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TLSSpec.
func (*TLSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TLSSpec) GetAltNames ¶
GetAltNames returns the value of altNames.
func (TLSSpec) GetCASecretName ¶
GetCASecretName returns the value of caSecretName.
func (TLSSpec) GetParsedAltNames ¶
GetParsedAltNames splits the list of AltNames into DNS names, IP addresses & email addresses. When an entry is not valid for any of those categories, an error is returned.
func (TLSSpec) GetSNI ¶
func (a TLSSpec) GetSNI() TLSSNISpec
func (*TLSSpec) SetDefaults ¶
SetDefaults fills in missing defaults
func (*TLSSpec) SetDefaultsFrom ¶
SetDefaultsFrom fills unspecified fields with a value from given source spec.
type Timeout ¶
func NewInfiniteTimeout ¶
func NewInfiniteTimeout() Timeout
func NewTimeout ¶
func (*Timeout) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timeout.
func (*Timeout) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Timeout) MarshalJSON ¶
func (*Timeout) UnmarshalJSON ¶
type Timeouts ¶
type Timeouts struct { // MaintenanceGracePeriod action timeout MaintenanceGracePeriod *Timeout `json:"maintenanceGracePeriod,omitempty"` // Actions keep map of the actions timeouts. // +doc/type: map[string]meta.Duration // +doc/link: List of supported action names|../generated/actions.md // +doc/link: Definition of meta.Duration|https://github.com/kubernetes/apimachinery/blob/v0.26.6/pkg/apis/meta/v1/duration.go // +doc/example: actions: // +doc/example: AddMember: 30m Actions ActionTimeouts `json:"actions,omitempty"` // Deprecated AddMember *Timeout `json:"-"` // Deprecated RuntimeContainerImageUpdate *Timeout `json:"-"` }
func (*Timeouts) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Timeouts.
func (*Timeouts) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Timeouts) GetMaintenanceGracePeriod ¶
type TopologyMemberStatus ¶
type TopologyMemberStatus struct { ID types.UID `json:"id"` Zone int `json:"rack"` Label string `json:"label,omitempty"` }
func (*TopologyMemberStatus) DeepCopy ¶
func (in *TopologyMemberStatus) DeepCopy() *TopologyMemberStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologyMemberStatus.
func (*TopologyMemberStatus) DeepCopyInto ¶
func (in *TopologyMemberStatus) DeepCopyInto(out *TopologyMemberStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TopologySpec ¶
type TopologySpec struct { Enabled bool `json:"enabled,omitempty"` Zones int `json:"zones,omitempty"` Label *string `json:"label,omitempty"` }
func (*TopologySpec) DeepCopy ¶
func (in *TopologySpec) DeepCopy() *TopologySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologySpec.
func (*TopologySpec) DeepCopyInto ¶
func (in *TopologySpec) DeepCopyInto(out *TopologySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TopologySpec) GetLabel ¶
func (t *TopologySpec) GetLabel() string
func (*TopologySpec) GetZones ¶
func (t *TopologySpec) GetZones() int
func (*TopologySpec) IsEnabled ¶
func (t *TopologySpec) IsEnabled() bool
type TopologyStatus ¶
type TopologyStatus struct { ID types.UID `json:"id"` Size int `json:"size,omitempty"` Zones TopologyStatusZones `json:"zones,omitempty"` Label string `json:"label,omitempty"` }
func NewTopologyStatus ¶
func NewTopologyStatus(spec *TopologySpec) *TopologyStatus
func (*TopologyStatus) DeepCopy ¶
func (in *TopologyStatus) DeepCopy() *TopologyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologyStatus.
func (*TopologyStatus) DeepCopyInto ¶
func (in *TopologyStatus) DeepCopyInto(out *TopologyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TopologyStatus) Enabled ¶
func (t *TopologyStatus) Enabled() bool
func (*TopologyStatus) Equal ¶
func (t *TopologyStatus) Equal(b *TopologyStatus) bool
func (*TopologyStatus) GetID ¶
func (t *TopologyStatus) GetID() types.UID
func (*TopologyStatus) GetLeastUsedZone ¶
func (t *TopologyStatus) GetLeastUsedZone(group ServerGroup) int
func (*TopologyStatus) GetLeastUsedZoneWithFilter ¶
func (t *TopologyStatus) GetLeastUsedZoneWithFilter(group ServerGroup, filters ...TopologyZoneFilter) int
func (*TopologyStatus) IsTopologyEvenlyDistributed ¶
func (t *TopologyStatus) IsTopologyEvenlyDistributed(group ServerGroup) bool
func (*TopologyStatus) IsTopologyOwned ¶
func (t *TopologyStatus) IsTopologyOwned(m *TopologyMemberStatus) bool
func (*TopologyStatus) RegisterTopologyLabel ¶
func (t *TopologyStatus) RegisterTopologyLabel(zone int, label string) bool
func (*TopologyStatus) RemoveMember ¶
func (t *TopologyStatus) RemoveMember(group ServerGroup, id string) bool
type TopologyStatusZone ¶
type TopologyStatusZone struct { ID int `json:"id"` Labels List `json:"labels,omitempty"` Members TopologyStatusZoneMembers `json:"members,omitempty"` }
func (*TopologyStatusZone) AddMember ¶
func (t *TopologyStatusZone) AddMember(group ServerGroup, id string)
func (*TopologyStatusZone) DeepCopy ¶
func (in *TopologyStatusZone) DeepCopy() *TopologyStatusZone
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologyStatusZone.
func (*TopologyStatusZone) DeepCopyInto ¶
func (in *TopologyStatusZone) DeepCopyInto(out *TopologyStatusZone)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TopologyStatusZone) Equal ¶
func (t *TopologyStatusZone) Equal(b *TopologyStatusZone) bool
func (*TopologyStatusZone) Get ¶
func (t *TopologyStatusZone) Get(group ServerGroup) List
func (*TopologyStatusZone) RemoveMember ¶
func (t *TopologyStatusZone) RemoveMember(group ServerGroup, id string) bool
type TopologyStatusZoneMembers ¶
func (TopologyStatusZoneMembers) DeepCopy ¶
func (in TopologyStatusZoneMembers) DeepCopy() TopologyStatusZoneMembers
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologyStatusZoneMembers.
func (TopologyStatusZoneMembers) DeepCopyInto ¶
func (in TopologyStatusZoneMembers) DeepCopyInto(out *TopologyStatusZoneMembers)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TopologyStatusZoneMembers) Equal ¶
func (in TopologyStatusZoneMembers) Equal(members TopologyStatusZoneMembers) bool
type TopologyStatusZones ¶
type TopologyStatusZones []TopologyStatusZone
func (TopologyStatusZones) DeepCopy ¶
func (in TopologyStatusZones) DeepCopy() TopologyStatusZones
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TopologyStatusZones.
func (TopologyStatusZones) DeepCopyInto ¶
func (in TopologyStatusZones) DeepCopyInto(out *TopologyStatusZones)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (TopologyStatusZones) Equal ¶
func (in TopologyStatusZones) Equal(zones TopologyStatusZones) bool
type TopologyZoneFilter ¶
type TopologyZoneFilter func(g ServerGroup, id string) bool
func TopologyZoneFilterMerge ¶
func TopologyZoneFilterMerge(functions ...TopologyZoneFilter) TopologyZoneFilter
type Version ¶
type Version struct { Major int `json:"major"` Minor int `json:"minor"` Patch int `json:"patch"` ID int `json:"ID,omitempty"` }
func (*Version) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Version.
func (*Version) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Version) MarshalJSON ¶
func (*Version) UnmarshalJSON ¶
Source Files ¶
- actions.generated.go
- arango_member.go
- arango_member_pod_template.go
- arango_member_spec.go
- arango_member_spec_overrides.go
- arango_member_status.go
- arango_task.go
- arango_task_spec.go
- arango_task_status.go
- architecture.go
- authentication_spec.go
- backoff.go
- bootstrap.go
- chaos_spec.go
- cluster_synchronization.go
- cluster_synchronization_spec.go
- cluster_synchronization_status.go
- conditions.go
- conditions_check.go
- conditions_deployment.go
- conditions_params.go
- const.go
- database_spec.go
- deployment.go
- deployment_backup_status.go
- deployment_communication_method.go
- deployment_features.go
- deployment_member_propagation_mode.go
- deployment_member_status_element.go
- deployment_metrics_service_monitor_spec.go
- deployment_metrics_spec.go
- deployment_metrics_spec_extensions.go
- deployment_mode.go
- deployment_phase.go
- deployment_spec.go
- deployment_spec_gateway.go
- deployment_spec_image.go
- deployment_spec_integration.go
- deployment_status.go
- deployment_status_agency_info.go
- deployment_status_members.go
- deployment_upgrade_spec.go
- doc.go
- duration.go
- environment.go
- errors.go
- external_access_spec.go
- external_access_type.go
- hashes.go
- image_info.go
- license_spec.go
- lifecycle_spec.go
- list.go
- member_phase.go
- member_pod_status.go
- member_pvc_status.go
- member_status.go
- member_status_list.go
- percent.go
- plan.go
- plan_locals.go
- probes.go
- pvc.go
- rebalancer_spec.go
- rebalancer_status.go
- recovery_spec.go
- register.go
- rocksdb_spec.go
- secret_hashes.go
- server_group.go
- server_group_containers.go
- server_group_env_var.go
- server_group_ephemeral_volumes.go
- server_group_index_method.go
- server_group_init_containers.go
- server_group_numactl_spec.go
- server_group_security_context_spec.go
- server_group_spec.go
- server_group_spec_network_mode.go
- server_group_spec_pid_mode.go
- server_group_spec_pod_modes.go
- server_group_spec_port_proto.go
- server_group_spec_probe.go
- server_group_spec_shutdown_method.go
- server_group_status.go
- server_group_type.go
- server_group_volume.go
- server_group_volume_mount.go
- server_id_group_spec.go
- storage_engine.go
- sync_authentication_spec.go
- sync_external_access_spec.go
- sync_monitoring_spec.go
- sync_spec.go
- timeouts.go
- tls_sni_spec.go
- tls_spec.go
- topology_member_status.go
- topology_spec.go
- topology_status.go
- version.go
- zz_generated.deepcopy.go