v1

package
v0.0.0-...-540bb61 Latest Latest
Warning

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

Go to latest
Published: Jun 25, 2023 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Overview

+k8s:deepcopy-gen=package +groupName=database.arangodb.com

Index

Constants

View Source
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
	// 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
	// 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
	// ActionRebalancerCleanDefaultTimeout define default timeout for action ActionRebalancerClean
	ActionRebalancerCleanDefaultTimeout time.Duration = ActionsDefaultTimeout
	// ActionRebalancerGenerateDefaultTimeout define default timeout for action ActionRebalancerGenerate
	ActionRebalancerGenerateDefaultTimeout 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
	// 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. (Deprecated) Disable Cluster Scaling integration
	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. (Deprecated) Enable Cluster Scaling integration
	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"
	// 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 Normal. Execute Delete on Pod 9put 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
	ActionTypeMemberRIDUpdate ActionType = "MemberRIDUpdate"
	// 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"
	// ActionTypeRebalancerClean in scopes Normal. Cleans Rebalancer jobs
	ActionTypeRebalancerClean ActionType = "RebalancerClean"
	// ActionTypeRebalancerGenerate in scopes Normal. Generates the Rebalancer plan
	ActionTypeRebalancerGenerate ActionType = "RebalancerGenerate"
	// 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"
	// 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. (Deprecated) Set deployment condition
	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. (Deprecated) Set member condition
	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"
)
View Source
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)
)
View Source
const (
	DeploymentImageDiscoveryDirectMode  = "direct"
	DeploymentImageDiscoveryKubeletMode = "kubelet"
)
View Source
const (
	ProbeTypeLiveness  = "liveness"
	ProbeTypeReadiness = "readiness"
	ProbeTypeStartUp   = "startup"
)
View Source
const (
	ServerGroupUnknown        ServerGroup = 0
	ServerGroupSingle         ServerGroup = 1
	ServerGroupAgents         ServerGroup = 2
	ServerGroupDBServers      ServerGroup = 3
	ServerGroupCoordinators   ServerGroup = 4
	ServerGroupSyncMasters    ServerGroup = 5
	ServerGroupSyncWorkers    ServerGroup = 6
	ServerGroupImageDiscovery ServerGroup = -1

	ServerGroupSingleString         = "single"
	ServerGroupAgentsString         = "agent"
	ServerGroupDBServersString      = "dbserver"
	ServerGroupCoordinatorsString   = "coordinator"
	ServerGroupSyncMastersString    = "syncmaster"
	ServerGroupSyncWorkersString    = "syncworker"
	ServerGroupImageDiscoveryString = "id"

	ServerGroupSingleAbbreviatedString         = "sngl"
	ServerGroupAgentsAbbreviatedString         = "agnt"
	ServerGroupDBServersAbbreviatedString      = "prmr"
	ServerGroupCoordinatorsAbbreviatedString   = "crdn"
	ServerGroupSyncMastersAbbreviatedString    = "syma"
	ServerGroupSyncWorkersAbbreviatedString    = "sywo"
	ServerGroupImageDiscoveryAbbreviatedString = "id"
)
View Source
const (
	ServerGroupReservedContainerNameServer   = "server"
	ServerGroupReservedContainerNameExporter = "exporter"
)
View Source
const (
	ServerGroupReservedInitContainerNameLifecycle    = "init-lifecycle"
	ServerGroupReservedInitContainerNameUUID         = "uuid"
	ServerGroupReservedInitContainerNameWait         = "wait"
	ServerGroupReservedInitContainerNameStartup      = "arango-init-startup"
	ServerGroupReservedInitContainerNameUpgrade      = "upgrade"
	ServerGroupReservedInitContainerNameVersionCheck = "version-check"
)
View Source
const (
	ServerGroupSpecVolumeRenderParamDeploymentName      = "DEPLOYMENT_NAME"
	ServerGroupSpecVolumeRenderParamDeploymentNamespace = "DEPLOYMENT_NAMESPACE"
	ServerGroupSpecVolumeRenderParamMemberID            = "MEMBER_ID"
	ServerGroupSpecVolumeRenderParamMemberRoleAbbr      = "ROLE_ABBR"
	ServerGroupSpecVolumeRenderParamMemberRole          = "ROLE"
)
View Source
const (
	ArangoDeploymentVersion = "v1"
)
View Source
const (
	// CASecretNameDisabled is the value of CASecretName to use for disabling authentication.
	CASecretNameDisabled = "None"
)
View Source
const (
	DefaultMaintenanceGracePeriod = 30 * time.Minute
)
View Source
const DefaultTopologySpecLabel = "topology.kubernetes.io/zone"
View Source
const InfiniteTimeout time.Duration = 0
View Source
const (
	// JWTSecretNameDisabled is the value of JWTSecretName to use for disabling authentication.
	JWTSecretNameDisabled = "None"
)
View Source
const (
	// MemberIDPreviousAction is used for Action.MemberID when the MemberID
	// should be derived from the previous action.
	MemberIDPreviousAction = "@previous"
)
View Source
const (
	ParamPodUID = "PodUID"
)
View Source
const (
	// UserNameRoot root user name
	UserNameRoot = "root"
)

Variables

View Source
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")
)
View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme

	SchemeGroupVersion = schema.GroupVersion{Group: deployment.ArangoDeploymentGroupName, Version: ArangoDeploymentVersion}
)
View Source
var (
	// AllServerGroups contains a constant list of all known server groups
	AllServerGroups = []ServerGroup{
		ServerGroupAgents,
		ServerGroupSingle,
		ServerGroupDBServers,
		ServerGroupCoordinators,
		ServerGroupSyncMasters,
		ServerGroupSyncWorkers,
	}
	// AllArangoDServerGroups contains a constant list of all ArangoD server groups
	AllArangoDServerGroups = []ServerGroup{
		ServerGroupAgents,
		ServerGroupSingle,
		ServerGroupDBServers,
		ServerGroupCoordinators,
	}
)
View Source
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

func IsAlreadyExists(err error) bool

IsAlreadyExists return true when the given error is or is caused by a AlreadyExistsError.

func IsNotFound

func IsNotFound(err error) bool

IsNotFound return true when the given error is or is caused by a NotFoundError.

func IsReservedServerGroupContainerName

func IsReservedServerGroupContainerName(name string) bool

func IsReservedServerGroupInitContainerName

func IsReservedServerGroupInitContainerName(name string) bool

func IsRestrictedVolumeName

func IsRestrictedVolumeName(name string) bool

IsRestrictedVolumeName check of volume name is restricted, for example for originally mounted volumes

func IsValidation

func IsValidation(err error) bool

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

func ValidateServerGroupInitContainerName

func ValidateServerGroupInitContainerName(name string) error

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 the when the action is created.
	CreationTime meta.Time `json:"creationTime"`
	// StartTime is set the 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 what is a 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

func NewActionSet(actions ...Action) []Action

NewActionSet add new SetID vale to the actions

func (Action) AddParam

func (a Action) AddParam(key, value string) Action

AddParam returns copy of action with set parameter

func (*Action) DeepCopy

func (in *Action) DeepCopy() *Action

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

func (*Action) DeepCopyInto

func (in *Action) DeepCopyInto(out *Action)

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

func (Action) Equal

func (a Action) Equal(other Action) bool

Equal compares two Actions

func (Action) GetParam

func (a Action) GetParam(key string) (string, bool)

GetParam returns action parameter

func (Action) IsStarted

func (a Action) IsStarted() bool

IsStarted returns true if the action has been started already.

func (Action) SetArch

SetArch sets the Architecture field to the given value and returns the modified

func (Action) SetImage

func (a Action) SetImage(image string) Action

SetImage sets the Image field to the given value and returns the modified action.

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

AsOwner creates an OwnerReference for the given job

func (*ArangoClusterSynchronization) DeepCopy

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

func (*ArangoClusterSynchronization) DeepCopyInto

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

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

func (*ArangoClusterSynchronizationDeploymentStatus) DeepCopyInto

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

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

func (*ArangoClusterSynchronizationKubeConfigSpec) DeepCopyInto

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

func (*ArangoClusterSynchronizationKubeConfigSpec) Validate

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

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

func (*ArangoClusterSynchronizationList) DeepCopyInto

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

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

func (*ArangoClusterSynchronizationSpec) DeepCopyInto

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

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

func (*ArangoClusterSynchronizationStatus) DeepCopyInto

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

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

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

func (*ArangoDeployment) OwnerOf

func (d *ArangoDeployment) OwnerOf(in meta.Object) bool

type ArangoDeploymentArchitecture

type ArangoDeploymentArchitecture []ArangoDeploymentArchitectureType

func (ArangoDeploymentArchitecture) AsNodeSelectorRequirement

func (a ArangoDeploymentArchitecture) AsNodeSelectorRequirement() core.NodeSelectorTerm

func (ArangoDeploymentArchitecture) DeepCopy

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

func (ArangoDeploymentArchitecture) DeepCopyInto

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

func (ArangoDeploymentArchitecture) GetDefault

func (ArangoDeploymentArchitecture) IsArchAllowed

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 (*ArangoDeploymentArchitectureType) Equal

func (ArangoDeploymentArchitectureType) IsArchMismatch

func (ArangoDeploymentArchitectureType) String

func (ArangoDeploymentArchitectureType) Validate

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

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

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

func (*ArangoDeploymentRebalancerOptimizersSpec) DeepCopyInto

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 *bool `json:"count,omitempty"`
}

func (*ArangoDeploymentRebalancerReadersSpec) DeepCopy

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

func (*ArangoDeploymentRebalancerReadersSpec) DeepCopyInto

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

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

func (*ArangoDeploymentRebalancerSpec) DeepCopyInto

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

func (*ArangoDeploymentRebalancerSpec) GetParallelMoves

func (a *ArangoDeploymentRebalancerSpec) GetParallelMoves(d int) 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

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

func (*ArangoDeploymentRebalancerStatus) DeepCopyInto

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

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

func (*ArangoDeploymentRecoverySpec) DeepCopyInto

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

func (*ArangoDeploymentRecoverySpec) Get

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         *core.PodTemplateSpec `json:"podSpec,omitempty"`
	PodSpecChecksum string                `json:"podSpecChecksum,omitempty"`
	Checksum        string                `json:"checksum,omitempty"`

	// deprecated
	Endpoint *string `json:"endpoint,omitempty"`
}

func GetArangoMemberPodTemplate

func GetArangoMemberPodTemplate(pod *core.PodTemplateSpec, podSpecChecksum string) (*ArangoMemberPodTemplate, error)

func (*ArangoMemberPodTemplate) DeepCopy

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 (*ArangoMemberPodTemplate) GetChecksum

func (a *ArangoMemberPodTemplate) GetChecksum() string

func (*ArangoMemberPodTemplate) RotationNeeded

type ArangoMemberSpec

type ArangoMemberSpec struct {
	Group         ServerGroup `json:"group,omitempty"`
	ID            string      `json:"id,omitempty"`
	DeploymentUID types.UID   `json:"deploymentUID,omitempty"`

	Template *ArangoMemberPodTemplate `json:"template,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.

type ArangoMemberStatus

type ArangoMemberStatus struct {
	Conditions ConditionList `json:"conditions,omitempty"`

	Template *ArangoMemberPodTemplate `json:"template,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.

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 *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) BackOff

func (b BackOff) BackOff(key BackOffKey, delay time.Duration) BackOff

func (BackOff) Combine

func (b BackOff) Combine(a BackOff) BackOff

func (BackOff) CombineLatest

func (b BackOff) CombineLatest(a BackOff) BackOff

func (BackOff) DeepCopy

func (in BackOff) DeepCopy() BackOff

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

func (BackOff) DeepCopyInto

func (in BackOff) DeepCopyInto(out *BackOff)

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

func (BackOff) Equal

func (b BackOff) Equal(a BackOff) bool

func (BackOff) MarshalJSON

func (b BackOff) MarshalJSON() ([]byte, error)

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

func (in *ChaosSpec) DeepCopy() *ChaosSpec

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

func (*ChaosSpec) DeepCopyInto

func (in *ChaosSpec) DeepCopyInto(out *ChaosSpec)

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

func (ChaosSpec) GetInterval

func (s ChaosSpec) GetInterval() time.Duration

GetInterval returns the value of interval.

func (ChaosSpec) GetKillPodProbability

func (s ChaosSpec) GetKillPodProbability() Percent

GetKillPodProbability returns the value of kill-pod-probability.

func (ChaosSpec) IsEnabled

func (s ChaosSpec) IsEnabled() bool

IsEnabled returns the value of enabled.

func (*ChaosSpec) SetDefaults

func (s *ChaosSpec) SetDefaults()

SetDefaults fills in missing defaults

func (*ChaosSpec) SetDefaultsFrom

func (s *ChaosSpec) SetDefaultsFrom(source ChaosSpec)

SetDefaultsFrom fills unspecified fields with a value from given source spec.

func (ChaosSpec) Validate

func (s ChaosSpec) Validate() error

Validate the given 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

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

func (Condition) Equal

func (c Condition) Equal(other Condition) bool

Equal checks for equality

func (Condition) IsTrue

func (c Condition) IsTrue() bool

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

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"
	// 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 operaion.
	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

Get returns communication method from pointer. If pointer is nil default is returned.

func (DeploymentCommunicationMethod) New

New returns pointer.

func (*DeploymentCommunicationMethod) ServiceClusterIP

func (d *DeploymentCommunicationMethod) ServiceClusterIP() string

ServiceClusterIP returns Service ClusterIP for communication method

func (*DeploymentCommunicationMethod) ServiceType

ServiceType returns Service Type for communication method

func (DeploymentCommunicationMethod) 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 (*DeploymentImageDiscoveryModeSpec) Get

func (DeploymentImageDiscoveryModeSpec) Validate

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 (*DeploymentMemberPropagationMode) Get

func (DeploymentMemberPropagationMode) New

func (DeploymentMemberPropagationMode) 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

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

type DeploymentRestoreState

type DeploymentRestoreState string
const (
	DeploymentRestoreStateRestoring     DeploymentRestoreState = "Restoring"
	DeploymentRestoreStateRestored      DeploymentRestoreState = "Restored"
	DeploymentRestoreStateRestoreFailed DeploymentRestoreState = "RestoreFailed"
)

type DeploymentSpec

type DeploymentSpec struct {
	Mode               *DeploymentMode                   `json:"mode,omitempty"`
	Environment        *Environment                      `json:"environment,omitempty"`
	StorageEngine      *StorageEngine                    `json:"storageEngine,omitempty"`
	Image              *string                           `json:"image,omitempty"`
	ImagePullPolicy    *core.PullPolicy                  `json:"imagePullPolicy,omitempty"`
	ImagePullSecrets   []string                          `json:"imagePullSecrets,omitempty"`
	ImageDiscoveryMode *DeploymentImageDiscoveryModeSpec `json:"imageDiscoveryMode,omitempty"`
	DowntimeAllowed    *bool                             `json:"downtimeAllowed,omitempty"`
	DisableIPv6        *bool                             `json:"disableIPv6,omitempty"`

	Upgrade *DeploymentUpgradeSpec `json:"upgrade,omitempty"`

	Features *DeploymentFeatures `json:"features,omitempty"`

	NetworkAttachedVolumes *bool `json:"networkAttachedVolumes,omitempty"`

	// Annotations specified the annotations added to Pods in this group.
	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"`

	RestoreFrom *string `json:"restoreFrom,omitempty"`

	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 ExternalAccessSpec `json:"externalAccess"`
	RocksDB        RocksDBSpec        `json:"rocksdb"`
	Authentication AuthenticationSpec `json:"auth"`
	TLS            TLSSpec            `json:"tls"`
	Sync           SyncSpec           `json:"sync"`
	License        LicenseSpec        `json:"license"`
	Metrics        MetricsSpec        `json:"metrics"`
	Lifecycle      LifecycleSpec      `json:"lifecycle,omitempty"`

	ID *ServerIDGroupSpec `json:"id,omitempty"`

	// Database holds information about database state, like maintenance mode
	Database *DatabaseSpec `json:"database,omitempty"`

	Single       ServerGroupSpec `json:"single"`
	Agents       ServerGroupSpec `json:"agents"`
	DBServers    ServerGroupSpec `json:"dbservers"`
	Coordinators ServerGroupSpec `json:"coordinators"`
	SyncMasters  ServerGroupSpec `json:"syncmasters"`
	SyncWorkers  ServerGroupSpec `json:"syncworkers"`

	MemberPropagationMode *DeploymentMemberPropagationMode `json:"memberPropagationMode,omitempty"`

	Chaos ChaosSpec `json:"chaos"`

	Recovery *ArangoDeploymentRecoverySpec `json:"recovery,omitempty"`

	Bootstrap BootstrapSpec `json:"bootstrap,omitempty"`

	Timeouts *Timeouts `json:"timeouts,omitempty"`

	ClusterDomain *string `json:"ClusterDomain,omitempty"`

	// CommunicationMethod define communication method used in deployment
	CommunicationMethod *DeploymentCommunicationMethod `json:"communicationMethod,omitempty"`

	// Topology define topology adjustment details, Enterprise only
	Topology *TopologySpec `json:"topology,omitempty"`

	// Rebalancer define the rebalancer specification
	Rebalancer *ArangoDeploymentRebalancerSpec `json:"rebalancer,omitempty"`

	// Architecture definition of supported architectures
	Architecture ArangoDeploymentArchitecture `json:"architecture,omitempty"`

	Timezone *string `json:"timezone,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) 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 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"`
}

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

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

func (DeploymentStatusAgencyIDs) DeepCopyInto

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

func (DeploymentStatusAgencyIDs) Equal

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

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

func (*DeploymentStatusAgencyInfo) DeepCopyInto

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

func (*DeploymentStatusAgencyInfo) Equal

type DeploymentStatusAgencySize

type DeploymentStatusAgencySize int

func (*DeploymentStatusAgencySize) Equal

type DeploymentStatusHashes

type DeploymentStatusHashes struct {
	Encryption DeploymentStatusHashesEncryption `json:"rocksDBEncryption,omitempty"`
	TLS        DeploymentStatusHashesTLS        `json:"tls,omitempty"`
	JWT        DeploymentStatusHashesJWT        `json:"jwt,omitempty"`
}

func (*DeploymentStatusHashes) DeepCopy

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 shared.HashList `json:"keys,omitempty"`

	Propagated bool `json:"propagated,omitempty"`
}

func (*DeploymentStatusHashesEncryption) DeepCopy

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

func (*DeploymentStatusHashesEncryption) DeepCopyInto

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 shared.HashList `json:"passive,omitempty"`

	Propagated bool `json:"propagated,omitempty"`
}

func (*DeploymentStatusHashesJWT) DeepCopy

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

func (*DeploymentStatusHashesJWT) DeepCopyInto

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 shared.HashList `json:"truststore,omitempty"`

	Propagated bool `json:"propagated,omitempty"`
}

func (*DeploymentStatusHashesTLS) DeepCopy

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

func (*DeploymentStatusHashesTLS) DeepCopyInto

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

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

func (*DeploymentStatusMemberElement) DeepCopyInto

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

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

func (DeploymentStatusMemberElements) DeepCopyInto

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"`
}

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 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 (DeploymentStatusMembers) AsListInGroup

func (DeploymentStatusMembers) AsListInGroups

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

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

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

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 {
	// Flag specify if upgrade should be auto-injected, even if is not required (in case of stuck)
	AutoUpgrade bool `json:"autoUpgrade"`
}

func (*DeploymentUpgradeSpec) DeepCopy

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

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

func DurationOrDefault(input *Duration, defaultValue ...Duration) Duration

DurationOrDefault returns the default value (or empty string) if input is nil, otherwise returns the referenced value.

func NewDuration

func NewDuration(input Duration) *Duration

NewDuration returns a reference to a Duration with given value.

func NewDurationOrNil

func NewDurationOrNil(input *Duration) *Duration

NewDurationOrNil returns nil if input is nil, otherwise returns a clone of the given value.

func (Duration) AsDuration

func (d Duration) AsDuration() time.Duration

AsDuration parses the duration to a time.Duration value. In case of a parse error, 0 is returned.

func (Duration) Validate

func (d Duration) Validate() error

Validate the duration. Return errors when validation fails, nil on success.

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

func (*EphemeralVolume) GetSize

GetSize returns size. If not defined, default is returned.

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 of external access
	Type *ExternalAccessType `json:"type,omitempty"`
	// Optional port used in case of Auto or NodePort type.
	NodePort *int `json:"nodePort,omitempty"`
	// Optional IP used to configure a load-balancer on, in case of Auto or LoadBalancer type.
	LoadBalancerIP *string `json:"loadBalancerIP,omitempty"`
	// 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.
	// More info: 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

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

func (in *ImageInfo) DeepCopy() *ImageInfo

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

func (*ImageInfo) DeepCopyInto

func (in *ImageInfo) DeepCopyInto(out *ImageInfo)

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

func (*ImageInfo) Equal

func (i *ImageInfo) Equal(other *ImageInfo) bool

Equal compares to ImageInfo

func (*ImageInfo) String

func (i *ImageInfo) String() string

type ImageInfoList

type ImageInfoList []ImageInfo

ImageInfoList is a list of image infos

func (ImageInfoList) Add

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 *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 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) Add

func (l List) Add(values ...string) List

func (List) Contains

func (l List) Contains(v string) bool

func (List) DeepCopy

func (in List) DeepCopy() List

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

func (List) DeepCopyInto

func (in List) DeepCopyInto(out *List)

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

func (List) Equal

func (l List) Equal(b List) bool

func (List) Remove

func (l List) Remove(values ...string) List

func (List) Sort

func (l List) Sort() List

func (List) Unique

func (l List) Unique() List

type MemberPersistentVolumeClaimStatus

type MemberPersistentVolumeClaimStatus struct {
	Name string `json:"name"`
}

func (*MemberPersistentVolumeClaimStatus) DeepCopy

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

func (*MemberPersistentVolumeClaimStatus) DeepCopyInto

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

func (*MemberPersistentVolumeClaimStatus) Equal

func (*MemberPersistentVolumeClaimStatus) GetName

func (*MemberPersistentVolumeClaimStatus) Propagate

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 GetPhase

func GetPhase(phase string) (MemberPhase, bool)

GetPhase parses string into phase

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 list of specifications specified for side cars
	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 scale down action. Returns an error if the list is empty.

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

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

func (*MetricsAuthenticationSpec) DeepCopyInto

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

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

func (*MetricsServiceMonitorSpec) DeepCopyInto

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 *bool `json:"enabled,omitempty"`
	// deprecated
	Image          *string                   `json:"image,omitempty"`
	Authentication MetricsAuthenticationSpec `json:"authentication,omitempty"`
	Resources      core.ResourceRequirements `json:"resources,omitempty"`
	// deprecated
	Mode *MetricsMode `json:"mode,omitempty"`
	TLS  *bool        `json:"tls,omitempty"`

	ServiceMonitor *MetricsServiceMonitorSpec `json:"serviceMonitor,omitempty"`

	Port *uint16 `json:"port,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) 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.

func (*MetricsSpec) Validate

func (s *MetricsSpec) Validate() error

Validate the given spec

type MonitoringSpec

type MonitoringSpec struct {
	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.

func (MonitoringSpec) Validate

func (s MonitoringSpec) Validate() error

Validate the given 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

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

func NewPercent(input Percent) *Percent

NewPercent returns a reference to a percent with given value.

func NewPercentOrNil

func NewPercentOrNil(input *Percent) *Percent

NewPercentOrNil returns nil if input is nil, otherwise returns a clone of the given value.

func PercentOrDefault

func PercentOrDefault(input *Percent, defaultValue ...Percent) Percent

PercentOrDefault returns the default value or 0 if input is nil, otherwise returns the referenced value.

func (Percent) Validate

func (p Percent) Validate() error

Validate the given percentage.

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 AsPlan

func AsPlan(a []Action) Plan

AsPlan parse action list into plan

func (Plan) After

func (p Plan) After(action ...Action) Plan

After add action at the end of plan

func (Plan) AfterFirst

func (p Plan) AfterFirst(condition func(a Action) bool, actions ...Action) Plan

AfterFirst adds actions when condition will return false

func (Plan) Before

func (p Plan) Before(action ...Action) Plan

Before add action at the beginning of plan

func (Plan) DeepCopy

func (in Plan) DeepCopy() Plan

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

func (Plan) DeepCopyInto

func (in Plan) DeepCopyInto(out *Plan)

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

func (Plan) Equal

func (p Plan) Equal(other Plan) bool

Equal compares two Plan

func (Plan) Filter

func (p Plan) Filter(condition func(a Action) bool) Plan

Filter filter list of the actions

func (Plan) IsEmpty

func (p Plan) IsEmpty() bool

IsEmpty checks if plan is empty

func (Plan) NonInternalActions

func (p Plan) NonInternalActions() int

func (Plan) Wrap

func (p Plan) Wrap(before, after Action) Plan

Wrap wraps plan with actions

type PlanLocalKey

type PlanLocalKey string

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 ProbeType

type ProbeType string

type RocksDBEncryptionSpec

type RocksDBEncryptionSpec struct {
	KeySecretName *string `json:"keySecretName,omitempty"`
}

RocksDBEncryptionSpec holds rocksdb encryption at rest specific configuration settings

func (*RocksDBEncryptionSpec) DeepCopy

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.

func (RocksDBSpec) Validate

func (s RocksDBSpec) Validate() error

Validate the given 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

ServerGroupFromAbbreviatedRole 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) 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) 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) 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 ServerGroupIndexMethod

type ServerGroupIndexMethod string
const (
	DefaultServerGroupIndexMethod                        = ServerGroupIndexMethodRandom
	ServerGroupIndexMethodRandom  ServerGroupIndexMethod = "random"
	ServerGroupIndexMethodOrdered ServerGroupIndexMethod = "ordered"
)

func (*ServerGroupIndexMethod) Equal

func (*ServerGroupIndexMethod) Get

func (ServerGroupIndexMethod) New

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 (ServerGroupInitContainerMode) New

func (*ServerGroupInitContainerMode) Validate

func (s *ServerGroupInitContainerMode) Validate() error

type ServerGroupInitContainers

type ServerGroupInitContainers struct {
	// Containers contains list of containers
	Containers []core.Container `json:"containers,omitempty"`

	// Mode keep container replace mode
	Mode *ServerGroupInitContainerMode `json:"mode,omitempty"`
}

func (*ServerGroupInitContainers) DeepCopy

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

func (*ServerGroupInitContainers) DeepCopyInto

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 (*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 (*ServerGroupNetworkMode) New

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 (*ServerGroupPIDMode) New

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

Get returns current protocol. If is nil then default is returned

func (ServerGroupPortProtocol) New

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 *int32 `json:"initialDelaySeconds,omitempty"`
	PeriodSeconds       *int32 `json:"periodSeconds,omitempty"`
	TimeoutSeconds      *int32 `json:"timeoutSeconds,omitempty"`
	SuccessThreshold    *int32 `json:"successThreshold,omitempty"`
	FailureThreshold    *int32 `json:"failureThreshold,omitempty"`
}

ServerGroupProbeSpec

func (*ServerGroupProbeSpec) DeepCopy

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 true livenessProbes are disabled
	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, keept 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

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

Default return default value for ServerGroupShutdownMethod

func (*ServerGroupShutdownMethod) Get

Get return current or default value of ServerGroupShutdownMethod

type ServerGroupSpec

type ServerGroupSpec struct {

	// Count holds the requested number of servers
	Count *int `json:"count,omitempty"`
	// MinCount specifies a lower limit for count
	MinCount *int `json:"minCount,omitempty"`
	// MaxCount specifies a upper limit for count
	MaxCount *int `json:"maxCount,omitempty"`
	// Args holds additional commandline arguments
	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.
	StorageClassName *string `json:"storageClassName,omitempty"`
	// Resources holds resource requests & limits
	Resources core.ResourceRequirements `json:"resources,omitempty"`
	// OverrideDetectedTotalMemory determines if memory should be overrided based on values in resources.
	OverrideDetectedTotalMemory *bool `json:"overrideDetectedTotalMemory,omitempty"`
	// OverrideDetectedNumberOfCores determines if number of cores should be overrided based on values in resources.
	OverrideDetectedNumberOfCores *bool `json:"overrideDetectedNumberOfCores,omitempty"`
	// Tolerations specifies the tolerations added to Pods in this group.
	Tolerations []core.Toleration `json:"tolerations,omitempty"`
	// Annotations specified the annotations added to Pods in this group.
	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 specifies the name of the service account used for Pods in this group.
	ServiceAccountName *string `json:"serviceAccountName,omitempty"`
	// NodeSelector speficies a set of selectors for nodes
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// Probes specifies additional behaviour for probes
	Probes *ServerGroupProbesSpec `json:"probes,omitempty"`
	// PriorityClassName specifies a priority class name
	PriorityClassName string `json:"priorityClassName,omitempty"`
	// VolumeClaimTemplate specifies a template for volume claims
	VolumeClaimTemplate *core.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
	// VolumeResizeMode specified resize mode for pvc
	VolumeResizeMode *PVCResizeMode `json:"pvcResizeMode,omitempty"`
	// Deprecated: VolumeAllowShrink allows shrink the volume
	VolumeAllowShrink *bool `json:"volumeAllowShrink,omitempty"`
	// AntiAffinity specified additional antiAffinity settings in ArangoDB Pod definitions
	AntiAffinity *core.PodAntiAffinity `json:"antiAffinity,omitempty"`
	// Affinity specified additional affinity settings in ArangoDB Pod definitions
	Affinity *core.PodAffinity `json:"affinity,omitempty"`
	// NodeAffinity specified additional nodeAffinity settings in ArangoDB Pod definitions
	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
	Sidecars []core.Container `json:"sidecars,omitempty"`
	// SecurityContext specifies security context for group
	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
	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. Value is used only for Coordinator and DBServer with default to True, for all other groups set to false.
	AllowMemberRecreation *bool `json:"allowMemberRecreation,omitempty"`
	// TerminationGracePeriodSeconds override default TerminationGracePeriodSeconds for pods - via silent rotation
	TerminationGracePeriodSeconds *int64 `json:"terminationGracePeriodSeconds,omitempty"`
	// IndexMethod define group Indexing method
	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"`
	// contains filtered or unexported fields
}

ServerGroupSpec contains the specification for all servers in a specific group (e.g. all agents)

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) 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) 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) 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) 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 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

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 (*ServerGroupSpecPodMode) GetPID

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
	AddCapabilities []core.Capability `json:"addCapabilities,omitempty"`

	AllowPrivilegeEscalation *bool  `json:"allowPrivilegeEscalation,omitempty"`
	Privileged               *bool  `json:"privileged,omitempty"`
	ReadOnlyRootFilesystem   *bool  `json:"readOnlyRootFilesystem,omitempty"`
	RunAsNonRoot             *bool  `json:"runAsNonRoot,omitempty"`
	RunAsUser                *int64 `json:"runAsUser,omitempty"`
	RunAsGroup               *int64 `json:"runAsGroup,omitempty"`

	SupplementalGroups []int64 `json:"supplementalGroups,omitempty"`
	FSGroup            *int64  `json:"fsGroup,omitempty"`

	SeccompProfile *core.SeccompProfile `json:"seccompProfile,omitempty" protobuf:"bytes,11,opt,name=seccompProfile"`
	SELinuxOptions *core.SELinuxOptions `json:"seLinuxOptions,omitempty" protobuf:"bytes,3,opt,name=seLinuxOptions"`
}

ServerGroupSpecSecurityContext contains specification for pod security context

func (*ServerGroupSpecSecurityContext) DeepCopy

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

func (*ServerGroupSpecSecurityContext) DeepCopyInto

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() *core.PodSecurityContext

NewSecurityContext creates new pod security context

func (*ServerGroupSpecSecurityContext) NewSecurityContext

func (s *ServerGroupSpecSecurityContext) NewSecurityContext() *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
	Secret *ServerGroupSpecVolumeSecret `json:"secret,omitempty"`

	// ConfigMap which should be mounted into pod
	ConfigMap *ServerGroupSpecVolumeConfigMap `json:"configMap,omitempty"`

	// EmptyDir
	EmptyDir *ServerGroupSpecVolumeEmptyDir `json:"emptyDir,omitempty"`

	// HostPath
	HostPath *ServerGroupSpecVolumeHostPath `json:"hostPath,omitempty"`

	// PersistentVolumeClaim
	PersistentVolumeClaim *ServerGroupSpecVolumePersistentVolumeClaim `json:"persistentVolumeClaim,omitempty"`
}

ServerGroupSpecVolume definition of volume which need to be mounted to Pod

func (*ServerGroupSpecVolume) DeepCopy

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

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

func (*ServerGroupSpecVolumeConfigMap) DeepCopyInto

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

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

func (*ServerGroupSpecVolumeEmptyDir) DeepCopyInto

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

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

func (*ServerGroupSpecVolumeHostPath) DeepCopyInto

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 core.VolumeMount

func (*ServerGroupSpecVolumeMount) DeepCopy

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

func (*ServerGroupSpecVolumeMount) DeepCopyInto

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

type ServerGroupSpecVolumeMounts

type ServerGroupSpecVolumeMounts []ServerGroupSpecVolumeMount

func (ServerGroupSpecVolumeMounts) DeepCopy

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

func (ServerGroupSpecVolumeMounts) DeepCopyInto

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

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

func (*ServerGroupSpecVolumePersistentVolumeClaim) DeepCopyInto

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

func (*ServerGroupSpecVolumePersistentVolumeClaim) Validate

type ServerGroupSpecVolumeSecret

type ServerGroupSpecVolumeSecret core.SecretVolumeSource

func (*ServerGroupSpecVolumeSecret) DeepCopy

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

func (*ServerGroupSpecVolumeSecret) DeepCopyInto

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

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

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"`
	// Tolerations specifies the tolerations added to Pods in this group.
	Tolerations []core.Toleration `json:"tolerations,omitempty"`
	// NodeSelector speficies 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
	AntiAffinity *core.PodAntiAffinity `json:"antiAffinity,omitempty"`
	// Affinity specified additional affinity settings in ArangoDB Pod definitions
	Affinity *core.PodAffinity `json:"affinity,omitempty"`
	// NodeAffinity specified additional nodeAffinity settings in ArangoDB Pod definitions
	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
	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 (*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
	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      *string `json:"jwtSecretName,omitempty"`      // JWT secret for sync masters
	ClientCASecretName *string `json:"clientCASecretName,omitempty"` // Secret containing client authentication CA
}

SyncAuthenticationSpec holds dc2dc sync authentication specific configuration settings

func (*SyncAuthenticationSpec) DeepCopy

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           []string `json:"masterEndpoint,omitempty"`
	AccessPackageSecretNames []string `json:"accessPackageSecretNames,omitempty"`
}

SyncExternalAccessSpec holds configuration for the external access provided for the sync deployment.

func (*SyncExternalAccessSpec) DeepCopy

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

func (in *SyncSpec) DeepCopy() *SyncSpec

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

func (*SyncSpec) DeepCopyInto

func (in *SyncSpec) DeepCopyInto(out *SyncSpec)

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

func (SyncSpec) GetSyncImage

func (s SyncSpec) GetSyncImage() string

GetSyncImage returns the syncer image or empty string

func (SyncSpec) HasSyncImage

func (s SyncSpec) HasSyncImage() bool

HasSyncImage returns whether a special sync image is set

func (SyncSpec) IsEnabled

func (s SyncSpec) IsEnabled() bool

IsEnabled returns the value of enabled.

func (SyncSpec) ResetImmutableFields

func (s SyncSpec) ResetImmutableFields(fieldPrefix string, target *SyncSpec) []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 (*SyncSpec) SetDefaults

func (s *SyncSpec) SetDefaults(defaultJWTSecretName, defaultClientAuthCASecretName, defaultTLSCASecretName, defaultMonitoringSecretName string)

SetDefaults fills in missing defaults

func (*SyncSpec) SetDefaultsFrom

func (s *SyncSpec) SetDefaultsFrom(source SyncSpec)

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

type TLSSNISpec struct {
	Mapping map[string][]string `json:"mapping,omitempty"`
}

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 *string        `json:"caSecretName,omitempty"`
	AltNames     []string       `json:"altNames,omitempty"`
	TTL          *Duration      `json:"ttl,omitempty"`
	SNI          *TLSSNISpec    `json:"sni,omitempty"`
	Mode         *TLSRotateMode `json:"mode,omitempty"`
}

TLSSpec holds TLS specific configuration settings

func (*TLSSpec) DeepCopy

func (in *TLSSpec) DeepCopy() *TLSSpec

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

func (*TLSSpec) DeepCopyInto

func (in *TLSSpec) DeepCopyInto(out *TLSSpec)

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

func (TLSSpec) GetAltNames

func (s TLSSpec) GetAltNames() []string

GetAltNames returns the value of altNames.

func (TLSSpec) GetCASecretName

func (s TLSSpec) GetCASecretName() string

GetCASecretName returns the value of caSecretName.

func (TLSSpec) GetParsedAltNames

func (s TLSSpec) GetParsedAltNames() (dnsNames, ipAddresses, emailAddresses []string, err error)

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) GetTTL

func (s TLSSpec) GetTTL() Duration

GetTTL returns the value of ttl.

func (TLSSpec) IsSecure

func (s TLSSpec) IsSecure() bool

IsSecure returns true when a CA secret has been set, false otherwise.

func (*TLSSpec) SetDefaults

func (s *TLSSpec) SetDefaults(defaultCASecretName string)

SetDefaults fills in missing defaults

func (*TLSSpec) SetDefaultsFrom

func (s *TLSSpec) SetDefaultsFrom(source TLSSpec)

SetDefaultsFrom fills unspecified fields with a value from given source spec.

func (TLSSpec) Validate

func (s TLSSpec) Validate() error

Validate the given spec

type Timeout

type Timeout meta.Duration

func NewInfiniteTimeout

func NewInfiniteTimeout() Timeout

func NewTimeout

func NewTimeout(timeout time.Duration) Timeout

func (*Timeout) DeepCopy

func (in *Timeout) DeepCopy() *Timeout

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

func (*Timeout) DeepCopyInto

func (in *Timeout) DeepCopyInto(out *Timeout)

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

func (*Timeout) Get

func (t *Timeout) Get(d time.Duration) time.Duration

func (*Timeout) Infinite

func (t *Timeout) Infinite() bool

func (Timeout) MarshalJSON

func (t Timeout) MarshalJSON() ([]byte, error)

func (*Timeout) UnmarshalJSON

func (t *Timeout) UnmarshalJSON(b []byte) error

type Timeouts

type Timeouts struct {

	// MaintenanceGracePeriod action timeout
	MaintenanceGracePeriod *Timeout `json:"maintenanceGracePeriod,omitempty"`

	// Actions
	Actions ActionTimeouts `json:"actions,omitempty"`

	// deprecated
	AddMember *Timeout `json:"-"`

	// deprecated
	RuntimeContainerImageUpdate *Timeout `json:"-"`
}

func (*Timeouts) DeepCopy

func (in *Timeouts) DeepCopy() *Timeouts

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

func (*Timeouts) DeepCopyInto

func (in *Timeouts) DeepCopyInto(out *Timeouts)

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

func (*Timeouts) Get

func (t *Timeouts) Get() Timeouts

func (*Timeouts) GetMaintenanceGracePeriod

func (t *Timeouts) GetMaintenanceGracePeriod() time.Duration

type TopologyMemberStatus

type TopologyMemberStatus struct {
	ID    types.UID `json:"id"`
	Zone  int       `json:"rack"`
	Label string    `json:"label,omitempty"`
}

func (*TopologyMemberStatus) DeepCopy

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) GetLeastUsedZone

func (t *TopologyStatus) GetLeastUsedZone(group ServerGroup) 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 (*TopologyStatusZone) Get

func (t *TopologyStatusZone) Get(group ServerGroup) List

func (*TopologyStatusZone) RemoveMember

func (t *TopologyStatusZone) RemoveMember(group ServerGroup, id string) bool

type TopologyStatusZoneMembers

type TopologyStatusZoneMembers map[string]List

func (TopologyStatusZoneMembers) DeepCopy

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

func (TopologyStatusZoneMembers) DeepCopyInto

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

func (TopologyStatusZoneMembers) Equal

type TopologyStatusZones

type TopologyStatusZones []TopologyStatusZone

func (TopologyStatusZones) DeepCopy

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

type Version

type Version struct {
	Major int `json:"major"`
	Minor int `json:"minor"`
	Patch int `json:"patch"`
	ID    int `json:"ID,omitempty"`
}

func (Version) Compare

func (v Version) Compare(b Version) int

func (*Version) DeepCopy

func (in *Version) DeepCopy() *Version

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

func (*Version) DeepCopyInto

func (in *Version) DeepCopyInto(out *Version)

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

func (*Version) Equal

func (v *Version) Equal(b *Version) bool

func (Version) MarshalJSON

func (v Version) MarshalJSON() ([]byte, error)

func (*Version) UnmarshalJSON

func (v *Version) UnmarshalJSON(bytes []byte) error

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL