package
0.0.0-20250311203337-809a69aa9717
Repository: https://github.com/arangodb/kube-arangodb.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Functions
AddOwnerRefToObject adds given owner reference to given object.
No description provided by the author
AppendTLSKeyfileSecretPostfix returns the name of the Secret extended with TLS keyfile postfix.
No description provided by the author
ArangodInitContainer creates a container configured to initialize a UUID file.
ArangodVersionCheckInitContainer creates a container configured to check version.
ArangodVolumeMount creates a volume mount structure for arangod.
ArangodWaiterInitContainer creates a container configured to wait for specific ArangoDeployment to be ready.
AreContainersReady checks whether Pod is considered as ready.
No description provided by the author
No description provided by the author
No description provided by the author
ClientAuthCACertificateVolumeMount creates a volume mount structure for a client-auth CA certificate (ca.crt).
ClusterJWTVolumeMount creates a volume mount structure for a cluster JWT secret (token).
ContainersRecentStopTime returns most recent termination time of pods.
ContainerStopTime returns time of the Container stop.
ConvertImageID2Image converts a ImageID from a ContainerStatus to an Image that can be used in a Container specification.
No description provided by the author
CreateAffinity creates pod anti-affinity for the given role.
CreateAgentLeaderServiceName returns the name of the service used to access a leader agent.
CreateBasicAuthSecret creates a secret with given name in given namespace with a given username and password as value.
CreateCASecret creates a secret used to store a PEM encoded CA certificate & private key.
No description provided by the author
CreateDatabaseClientService prepares and creates a service in k8s, used by database clients within the k8s cluster.
CreateDatabaseClientServiceDNSName returns the DNS of the database client service.
CreateDatabaseClientServiceDNSNameWithDomain returns the DNS of the database client service.
CreateDatabaseClientServiceName returns the name of the service used by database clients for the given deployment name.
CreateDatabaseExternalAccessServiceName returns the name of the service used to access the database from output the kubernetes cluster.
No description provided by the author
CreateEncryptionKeySecret creates a secret used to store a RocksDB encryption key.
No description provided by the author
No description provided by the author
CreateExporterClientServiceName returns the name of the service used by arangodb-exporter clients for the given deployment name.
CreateExporterService.
CreateExternalAccessService prepares and creates a service in k8s, used to access the database/sync from outside k8s cluster.
CreateHeadlessService prepares and creates a headless service in k8s, used to provide a stable DNS name for all pods.
CreateHeadlessServiceName returns the name of the headless service for the given deployment name.
CreateJWTFromSecret creates a JWT using the secret stored in secretSecretName and stores the result in a new secret called tokenSecretName.
No description provided by the author
CreatePersistentVolumeClaim creates a persistent volume claim with given name and configuration.
CreatePod adds an owner to the given pod and calls the k8s api-server to created it.
CreatePodDNSName returns the DNS of a pod with a given role & id in a given deployment.
CreatePodDNSName returns the DNS of a pod with a given role & id in a given deployment.
CreatePodName returns the name of the pod for a member with a given id in a deployment with a given name.
CreatePodSecurityContext creates pod's security context.
CreateSecurityContext returns security context.
CreateServiceDNSName returns the DNS of a service.
CreateServiceDNSNameWithDomain returns the DNS of a service extended with domain.
CreateServiceURL creates a URL used to reach the given service.
CreateSyncMasterClientServiceDNSName returns the DNS of the syncmaster client service.
CreateSyncMasterClientServiceDNSNameWithDomain returns the DNS of the syncmaster client service.
CreateSyncMasterClientServiceName returns the name of the service used by syncmaster clients for the given deployment name.
CreateTLSKeyfileSecret creates a secret used to store a PEM encoded keyfile in the format ArangoDB accepts it for its `--ssl.keyfile` option.
CreateTLSKeyfileSecretName returns the name of the Secret that holds the TLS keyfile for a member with a given id in a deployment with a given name.
CreateTokenSecret creates a secret with given name in given namespace with a given token as value.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
DeploymentListOpt creates a ListOptions matching all labels for the given deployment name.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ExtractStringToOptionPair extracts command line argument into the OptionPair.
GetAnyVolumeByName returns the volume in the given volumes with the given name.
GetAnyVolumeMountByName returns the volumemount in the given volumemountss with the given name.
GetArangoDBImageFromContainers returns the ArangoDB specific image from a container specs.
GetArangoDBImageIDFromContainerStatuses returns the ArangoDB specific image from a container statuses.
GetArangoDBImageIDFromPod returns the ArangoDB specific image from a pod.
GetBasicAuthSecret loads a secret with given name in the given namespace and extracts the `username` & `password` field.
GetCACertficateSecret loads a secret with given name in the given namespace and extracts the `ca.crt` field.
No description provided by the author
GetCASecret loads a secret with given name in the given namespace and extracts the `ca.crt` & `ca.key` field.
No description provided by the author
GetImageDetails Returns latest defined Image details.
No description provided by the author
No description provided by the author
No description provided by the author
GetPodByName returns pod if it exists among the pods' list Returns false if not found.
GetPodOwner returns the ReplicaSet that owns the given Pod.
GetPodSpecChecksum return checksum of requested pod spec based on deployment and group spec.
GetReplicaSetOwner returns the Deployment that owns the given ReplicaSet.
GetSecretAuthCredentials returns username and password from the secret.
No description provided by the author
GetTLSKeyfileSecret loads a secret used to store a PEM encoded keyfile in the format ArangoDB accepts it for its `--ssl.keyfile` option.
GetTokenFromSecret loads the token secret from a Secret with given name.
GetTokenSecret loads the token secret from a Secret with given name.
No description provided by the author
InitLifecycleContainer creates an init-container to copy the lifecycle binary to a shared volume.
IsAnyContainerAlive returns true if any of the containers is running.
IsContainerAlive returns true if container is running.
IsContainerRunning returns true if the container of the pod is still running.
No description provided by the author
No description provided by the author
IsPersistentVolumeClaimFileSystemResizePending returns true if the pvc has FileSystemResizePending set to true.
IsPersistentVolumeClaimMarkedForDeletion returns true if the pvc has been marked for deletion.
IsPersistentVolumeClaimResizing returns true if the pvc has Resizing set to true.
IsPodAlive returns true if any of the containers within pod is running.
IsPodFailed returns true when one of the core containers is terminated wih a non-zero exit code, or the whole pod has been failed.
IsPodMarkedForDeletion returns true if the pod has been marked for deletion.
IsPodNotScheduledFor returns true if the pod has not been scheduled for longer than the given duration.
IsPodReady returns true if the PodReady condition on the given pod is set to true.
IsPodScheduled returns true if the pod has been scheduled.
IsPodServerContainerRunning returns true if the arangodb container of the pod is still running.
IsPodSucceeded returns true when all core containers are terminated wih a zero exit code, or the whole pod has been succeeded.
IsPodTerminating returns true if the pod has been marked for deletion.
No description provided by the author
LabelsForActiveMember returns a map of labels, given to active members for given deployment name and member id.
LabelsForDeployment returns a map of labels, given to all resources for given deployment name.
LabelsForExporterService returns a map of labels, used to select the all arangodb-exporter containers.
LabelsForExporterServiceSelector returns a map of labels, used to select the all arangodb-exporter containers.
LabelsForLeaderMember returns a map of labels for given deployment name and member id and role and leadership.
LabelsForLocalStorage returns a map of labels, given to all resources for given local storage name.
LabelsForMember returns a map of labels, given to all resources for given deployment name and member id.
No description provided by the author
LifecycleVolume creates a volume mount structure for shared lifecycle emptyDir.
LifecycleVolumeMount creates a volume mount structure for shared lifecycle emptyDir.
LocalStorageListOpt creates a ListOptions matching all labels for the given local storage name.
MasterJWTVolumeMount creates a volume mount structure for a master JWT secret (token).
NewAccessPackageCreatedEvent creates an event indicating that a secret containing an access package has been created.
NewAccessPackageDeletedEvent creates an event indicating that a secret containing an access package has been deleted.
NewCannotChangeStorageClassEvent creates an event indicating that an item would need to use a different StorageClass, but this is not possible for the given reason.
NewCannotSetArchitectureEvent creates an even of type CannotSetArchitectureEvent.
NewCannotShrinkVolumeEvent creates an event indicating that the user tried to shrink a PVC.
NewContainer creates a container for specified creator.
NewDowntimeNotAllowedEvent creates an event indicating that an operation cannot be executed because downtime is currently not allowed.
NewErrorEvent creates an even of type error.
NewImmutableFieldEvent creates an event indicating that an attempt was made to change a field that is immutable.
NewLifecycle creates a lifecycle structure with preStop handler.
NewLifecycleFinalizers creates a lifecycle structure with preStop handler which wait for finalizers to be removed.
NewLifecycleFinalizersWithBinary creates a lifecycle structure with preStop handler which wait for finalizers to be removed using specific binary path.
NewLifecyclePort creates a lifecycle structure with preStop handler which wait for port to be closed.
NewLifecycleWithBinary creates a lifecycle structure with preStop handler using specific binary path.
NewMemberAddEvent creates an event indicating that a member was added.
NewMemberRemoveEvent creates an event indicating that an existing member was removed.
NewOperatorEngineOpsAlertEvent creates an even of type OperatorEngineOpsAlert.
No description provided by the author
NewPlanAbortedEvent creates an event indicating that an item on a reconciliation plan wants to abort the entire plan.
NewPlanAppendEvent creates an event indicating that an item on a reconciliation plan has been added.
NewPlanTimeoutEvent creates an event indicating that an item on a reconciliation plan did not finish before its deadline.
NewPod creates a basic Pod for given settings.
NewPodCreatedEvent creates an event indicating that a pod has been created.
NewPodGoneEvent creates an event indicating that a pod is missing.
NewPodsSchedulingFailureEvent creates an event indicating that one of more cannot be scheduled.
NewPodsSchedulingResolvedEvent creates an event indicating that an earlier problem with pod scheduling has been resolved.
NewPVCResizedEvent creates an event indicating that a PVC has been resized.
No description provided by the author
NewResourceWatcher creates a helper that watches for changes in a resource of a specific type.
NewSecretsChangedEvent creates an event indicating that one of more secrets have changed.
NewSecretsRestoredEvent creates an event indicating that all secrets have been restored to their original values.
No description provided by the author
NewUpgradeNotAllowedEvent creates an event indicating that an upgrade (or downgrade) is not allowed.
PatchStorageClassIsDefault changes the default flag of the given storage class.
PodStopTime returns time when pod has been stopped.
RemoveFinalizers is a helper used to remove finalizers from an object.
RemoveOwnerRefToObjectIfNeeded removes given owner reference to given object if it exists.
RemoveSelectedFinalizers removes the given finalizers from the given pod.
RenderTLSKeyfileSecret renders a secret used to store a PEM encoded keyfile in the format ArangoDB accepts it for its `--ssl.keyfile` option.
RocksdbEncryptionReadOnlyVolumeMount creates a volume mount structure for a RocksDB encryption key.
RocksdbEncryptionVolumeMount creates a volume mount structure for a RocksDB encryption key.
No description provided by the author
No description provided by the author
StorageClassIsDefault returns true if the given storage class is marked default, false otherwise.
TlsKeyfileVolumeMount creates a volume mount structure for a TLS keyfile.
UpdateJWTFromSecret updates a JWT using the secret stored in secretSecretName and stores the result in a new secret called tokenSecretName.
UpdateOwnerRefToObjectIfNeeded add given owner reference to given object if it does not exist yet.
UpdateTokenSecret updates a secret with given name in given namespace with a given token as value.
ValidateCACertificateSecret checks that a secret with given name in given namespace exists and it contains a 'ca.crt' data field.
No description provided by the author
ValidateEncryptionKeySecret checks that a secret with given name in given namespace exists and it contains a 'key' data field of exactly 32 bytes.
No description provided by the author
ValidateTokenSecret checks that a secret with given name in given namespace exists and it contains a 'token' data field.
No description provided by the author
No description provided by the author
# Constants
AppAnalytics is the value for the "app" label.
AppArangoML is the value for the "app" label.
AppName is the value for the "app" label.
LabelKeyAnalyticsGAEStatefulSet is the key of the label used to define k8s StatefulSet for Analytics GAE.
LabelKeyApp is the key of the label used to store the application name in (fixed to AppName).
LabelKeyArangoActive is the key of the label used to mark members as active.
LabelKeyArangoDeployment is the key of the label used to store the ArangoDeployment name in.
LabelKeyArangoExporter is the key of the label used to indicate that an exporter is present.
LabelKeyArangoLeader is the key of the label used to store the current leader of a group instances.
LabelKeyArangoLocalStorage is the key of the label used to store the ArangoLocalStorage name in.
LabelKeyArangoMember is the key of the label used to store the ArangoDeployment member ID in.
LabelKeyArangoMLStatefulSet is the key of the label used to define k8s StatefulSet for ML Extension.
LabelKeyArangoScheduled is the key of the label used to define that member is already scheduled.
LabelKeyArangoTopology is the key of the label used to store the ArangoDeployment topology ID in.
LabelKeyArangoZone is the key of the label used to store the ArangoDeployment zone ID in.
LabelKeyRole is the key of the label used to store the role of the resource in.
LabelValueArangoActive is the value of the label used to mark members as active.
No description provided by the author
No description provided by the author
No description provided by the author
# Variables
ExtractStorageResourceRequirement filters resource requirements for Pods.
# Structs
Event is used to create events using an EventRecorder.
No description provided by the author
OptionPair key value pair builder.
ResourceWatcher is a helper to watch for events in a specific type of resource.
# Interfaces
APIObject helps to abstract an object from our custom API.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author