Powered by Zoomin Software. For more details please contactZoomin

MarkLogic® Server on Kubernetes

MarkLogicGroup API

  • Last Updated: July 13, 2026
  • 7 minute read
    • MarkLogic Server
    • Documentation

The MarkLogicGroup API defines and configures options at the group level. The configuration table below documents entries in MarklogicCluster.spec.markLogicGroups[]. The status sections document the operator-managed child MarklogicGroup resource.

Custom Type Field Type Description Default Constraint
MarklogicGroups replicas int32 Desired number of MarkLogic nodes for this group. Updating this value scales hosts dynamically for the Operator-managed StatefulSet. 1
name string Name for the statefulSet Required. Must be unique within markLogicGroups
labels map[string]string Labels for the statefulSet
annotations map[string]string Annotations for the statefulSet
groupConfig GroupConfig MarkLogic Group Configuration for Group name and XDQP SSL {name: "Default", enableXdqpSsl: true}
image string Container Image for MarkLogic server for specific MarkLogic group MaxLength: 256. If isDynamic=true and an image override is set, the tag must be latest or MarkLogic major version 12+
imagePullPolicy string Image pull policy for specific MarkLogic group
imagePullSecrets []corev1.LocalObjectReference Registry secret names as an array for specific MarkLogic group
persistence Persistence Persistence for MarkLogic group
service Service Service for MarkLogic Group
resources *corev1.ResourceRequirements CPU or memory request for specific
affinity *corev1.Affinity Affinity for MarkLogic pods assignment in this group
topologySpreadConstraints []corev1.TopologySpreadConstraint POD Topology Spread Constraints to spread Pods for this group
nodeSelector map[string]string Node labels for MarkLogic pods assignment in this group
priorityClassName string Name of a Priority Class defined to set pod priority for this group
hugePages HugePages Config Huge Pages on MarkLogic for this group
livenessProbe ContainerProbe Configure liveness probe for MarkLogic containers in this group {enabled: true, initialDelaySeconds: 30, timeoutSeconds: 5, periodSeconds: 30, successThreshold: 1, failureThreshold: 3}
readinessProbe ContainerProbe Configure readiness probe for MarkLogic containers in this group {enabled: true, initialDelaySeconds: 10, timeoutSeconds: 5, periodSeconds: 30, successThreshold: 1, failureThreshold: 3}
logCollection LogCollection Configure log collection of MarkLogic server logs for this group
haproxy HAProxyGroup Per-group HAProxy participation and routing overrides
tls Tls Configure TLS on Default App Servers (8000, 8001, 8002) on this group
additionalVolumes []corev1.Volume List of additional volumes to add to the MarkLogic containers for this group
additionalVolumeMounts []corev1.VolumeMount List of mount points for the additional volumes to add to the MarkLogic containers for this group
additionalVolumeClaimTemplates []corev1.PersistentVolumeClaim List of additional PVC templates to add to MarkLogic Pods for this group
isBootstrap bool Whether this group is the bootstrap node false Exactly one entry in markLogicGroups must set this to true
isDynamic bool Declares this group as a dynamic (evaluator-only) group. Dynamic groups use token-based host join/remove and do not provision standard MarkLogic datadir persistence by default. Requires MarkLogic Server 12.0 or later and Operator 1.3. false Cannot be true when isBootstrap=true
dynamic DynamicGroupConfig Dynamic-host-specific settings for this group Defaults applied Can only be set when isDynamic=true
GroupConfig name string Group name for joining the MarkLogic cluster Default
enableXdqpSsl bool Enable SSL encryption for XDQP true
Persistence enabled bool Enable PVC-backed storage for the primary MarkLogic datadir
size string Size of persistence request for the MarkLogic data volume. Increasing this value triggers automatic PVC expansion. See Extend the data volumes. Pattern matching, for example 10Gi
resizeStrategy string Strategy for submitting PVC resize requests. parallel patches all PVCs simultaneously. sequential patches PVCs one at a time. parallel Enum: parallel, sequential
storageClassName string Storage class for the MarkLogic data volume. Leave empty to use the default storage class.
accessModes []corev1.PersistentVolumeAccessMode Access modes requested for the data PVC {ReadWriteOnce}
annotations map[string]string Annotations applied to the data PVC
Service type corev1.ServiceType Default service type ClusterIP
additionalPorts []corev1.ServicePort List of ports in addition to the defaults exposed at the service level
annotations map[string]string Annotations for MarkLogic service
HugePages enabled bool Parameter to enable Hugepages on MarkLogic false
mountPath string Mountpath for Hugepages /dev/hugepages
LogCollection enabled bool Parameter to enable cluster wide log collection of MarkLogic server logs false
image string Image repository and tag for fluent-bit container fluent/fluent-bit:4.1.1
imagePullSecrets []corev1.LocalObjectReference Image Pull Secrets for fluent-bit container
securityContext *corev1.SecurityContext Security context for the fluent-bit container
resources *corev1.ResourceRequirements The resource requirement for the fluent-bit container {requests: {cpu: "100m", memory: "200Mi"}, limits: {cpu: "200m", memory: "500Mi"}}
files LogFilesConfig Parameter to set which MarkLogic log to use when log collection is enabled {errorLogs: true, accessLogs: true, requestLogs: true, crashLogs: true, auditLogs: true}
outputs string Configure desired output for fluent-bit
filters string Configure desired filters for fluent-bit, leave empty to use the defaults
inputs string Configure desired inputs for fluent-bit, leave empty to use the defaults
parsers string Configure desired parser for fluent-bit, leave empty to use the defaults
LogFilesConfig errorLogs bool Parameter to enable collection of MarkLogic error logs when log collection is enabled true
accessLogs bool Parameter to enable collection of MarkLogic access logs when log collection is enabled true
requestLogs bool Parameter to enable collection of MarkLogic request logs when log collection is enabled true
crashLogs bool Parameter to enable collection of MarkLogic crash logs when log collection is enabled true
auditLogs bool Parameter to enable collection of MarkLogic audit logs when log collection is enabled true
ContainerProbe enabled bool Enable or disable the probe
initialDelaySeconds int32 Seconds to wait before the first probe runs Minimum: 0
timeoutSeconds int32 Probe timeout in seconds Minimum: 0
periodSeconds int32 Interval between probe executions Minimum: 0
successThreshold int32 Number of consecutive successes required for the probe to be considered successful Minimum: 0
failureThreshold int32 Number of consecutive failures before the probe is considered failed Minimum: 0
HAProxyGroup enabled bool Parameter to enable the HAProxy Load Balancer for MarkLogic Server false
appServers []AppServers App Server Port and Path for HAProxy
pathBasedRouting bool Parameter to enable path based routing on the HAProxy Load Balancer for MarkLogic
tcpPorts Tcpports Configure TCP port routing on HAProxy
Tcpports enabled bool Parameter to enable TCP port routing on HAProxy false
ports []TcpPort TCP Ports and load balancing type configuration for HAproxy
TcpPort port int32 Number for TCP Port
targetPort int32 Target port on the MarkLogic Service
name string Name for TCP Port
type string Type for TCP Port
AppServers name string Name for the App Server
type string Type for the App Server
port int32 Port Number for App Server
targetPort int32 Target Port for App Server
path string Path used for path based routing
Tls enableOnDefaultAppServers bool Parameter to enable TLS on Default App Servers (8000, 8001, 8002) false
certSecretNames []string Names of the secrets that contain the named certificate
caSecretName string Name of the secret that contains the CA certificate
DynamicGroupConfig tokenDuration string ISO 8601 duration used when requesting dynamic-host tokens PT15M Must be an ISO 8601 duration and cannot be bare P or PT
License key string Set the MarkLogic license key
licensee string Set the MarkLogic licensee information

MarklogicGroup Status

The child MarklogicGroup resource exposes group reconciliation state through its status fields.

Field Type Description
conditions []metav1.Condition Standard Kubernetes conditions for group reconciliation
stage string Legacy stage string for group progress
active []corev1.ObjectReference References to active MarkLogic Pods for the group
markLogicGroupStatus InternalState Internal state of the group: Starting, Configuring, Ready, or Failed
dynamic DynamicGroupStatus Dynamic-host lifecycle status for groups with isDynamic=true
volumeResizeStatus VolumeResizeStatus Progress and outcome details for PVC resize operations

MarklogicGroup Status: volumeResizeStatus

The status.volumeResizeStatus field on the MarklogicGroup resource tracks the progress of volume resize operations.

Field Type Description
operationID string Unique identifier for this resize operation
observedGeneration int64 Generation observed when the active resize operation started
phase string Current phase: Validating, ResizingPVCs, WaitingForPVCResize, SynchronizingStatefulSet, RestartingPods, WaitingForPodsReady, VerifyingResizeOutcome, Completed, Stalled, or Failed
reason string Machine-readable reason code for the current phase
message string Human-readable description of the current state
currentSize string Size of PVCs before the resize
targetSize string Requested new size
deferredTargetSize string New requested size detected while the current operation is still active
deferredObservedGeneration int64 Generation where the deferred target size was observed
resizeStrategy string Strategy being used (parallel or sequential)
totalPvcs int32 Total number of PVCs being resized
pvcsCheckpointed int32 Number of PVCs that have completed the resize
activePVC string Name of the PVC currently being resized in sequential mode
pvcStatuses []PVCResizeStatus Per-PVC progress, checkpoint, and restart requirement details
failedPVCs []FailedPVCStatus Per-PVC failure details when one or more PVCs fail
markers []string Internal crash-recovery workflow markers used by resize reconciliation
warnings []string Non-fatal issues observed during the operation
retryCount int32 Number of retry attempts for the current operation
nextRetryTime metav1.Time Timestamp for the next scheduled retry when the operation is stalled and retryable
lastTransitionTime metav1.Time Timestamp when the phase last changed
firstStartedTime metav1.Time Timestamp when the resize operation first started
completionTime metav1.Time Timestamp when the resize operation completed

MarklogicGroup Status: volumeResizeStatus.pvcStatuses

Field Type Description
name string Name of the PVC
podName string Name of the Pod that owns the PVC
requestedSize string Requested size for the PVC
observedCapacity string Observed capacity reported for the PVC
state string Current PVC resize state: Pending, ResizeSubmitted, WaitingForCheckpoint, Checkpointed, RestartPending, Restarted, or Failed
checkpointType string Checkpoint reached by the PVC: OnlineComplete, OfflinePending, or OfflineComplete
restartRequired bool Whether the owning Pod must be restarted to complete filesystem expansion
lastReason string Most recent machine-readable reason for the PVC state
lastMessage string Most recent human-readable message for the PVC state
lastTransitionTime metav1.Time Timestamp when the PVC state last changed

MarklogicGroup Status: volumeResizeStatus.failedPVCs

Field Type Description
name string Name of the PVC that failed
reason string Machine-readable failure reason
message string Human-readable failure details

MarklogicGroup Status: dynamic

The status.dynamic field on the MarklogicGroup resource tracks dynamic-host lifecycle state.

Field Type Description
phase string Current dynamic-host lifecycle phase
reason string Machine-readable reason for the current phase
message string Human-readable description of the current dynamic-host state
lastTransitionTime metav1.Time Timestamp when the dynamic status last changed phase
bootstrapReady bool Whether the bootstrap host is ready to issue join or remove operations
configured bool Whether the group has completed required dynamic-host configuration
dynamicHostsEnabled bool Whether MarkLogic dynamic hosts are enabled for the group
desiredReplicas int32 Desired dynamic host count
localReadyReplicas int32 Number of locally ready Pods observed for the group
readyReplicas int32 Number of dynamic hosts fully ready for service
hosts []DynamicHostStatus Per-host dynamic lifecycle status

MarklogicGroup Status: dynamic.hosts

Field Type Description
podName string Name of the Pod backing this dynamic host
hostname string Hostname registered for the dynamic host
hostId string MarkLogic host ID for the dynamic host
state string Current lifecycle state for the dynamic host
message string Human-readable status message for the dynamic host
attempts int32 Number of attempts made for the current host operation
lastUpdated metav1.Time Timestamp when this host status was last updated
TitleResults for “How to create a CRG?”Also Available inAlert