Skip to main content
Version: v1.0.57.0

DxOperator API Reference

This document provides a technical reference of the Custom Resources used by DxOperator. It includes an exhaustive list of all configuration options available.

DxEnterpriseSqlAg

A DxEnterpriseSqlAg represents one deployment of a Microsoft SQL Server Availability Group cluster.

GroupVersionKind
dh2i.comv1DxEnterpriseSqlAg
FieldDescription
apiVersion stringAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info
kind stringKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info
metadata ObjectMetaStandard object's metadata. More info
spec SqlAgSpecspec defines the desired characteristics of the DxEnterprisSqlAg cluster.
status SqlAgStatusstatus represents the current information/status of a DxEnterpriseSqlAg. Read-only.

SqlAgSpec

Appears in:

FieldDescription
template SqlAgPodTemplateSpecPod template, to use when creating each pod of the SQL Server Availability Group cluster.
synchronousReplicas integerThe number of synchronous replicas to create in the SQL Server Availability Group cluster. Valid values are 0-9. The total number of replicas, including asynchronous and configuration-only cannot, exceed 9.
asynchronousReplicas integerThe number of asynchronous replicas to create in the SQL Server Availability Group cluster. Valid values are 0-9. The total number of replicas, including synchronous and configuration-only cannot, exceed 9.
configurationOnlyReplicas integerThe number of configuration-only (witness) replicas to create in the SQL Server Availability Group cluster. Valid values are 0-1. The total number of replicas, including synchronous and asynchronous, cannot, exceed 9.
availabilityGroupName stringThe name of the SQL Server Availability Group, within SQL Server. This is different from the cluster name. Defaults to AG1
availabilityGroupListenerPort integerThe port number to use to create a SQL Server Availability Group Listener. Must be a valid TCP port number (1-65535) if set.
availabilityGroupClusterType stringThe CLUSTER_TYPE value to set when creating the SQL Server Availability Group. Defaults to EXTERNAL. Set this value to NONE to create a Read-Scale Cluster.
availabilityGroupOptions stringExtra options to set when creating the SQL Server Availability Group. With SQL Server 2022, one useful extra option is CONTAINED. See Microsoft's Documentation.

SqlAgPodTemplateSpec

Appears in:

FieldDescription
metadata SqlAgPodTemplateSpecMetaAdditional metadata to add to each pod.
spec SqlAgPodSpecPod specification.

SqlAgPodSpec

Appears in:

FieldDescription
mssqlServerContainer MssqlServerContainerSpecThe configuration for the Microsoft SQL Server container
dxEnterpriseContainer DxEnterpriseContainerSpecThe configuration for the DxEnterprise container
affinity AffinityIf specified, the pod's scheduling constraints
containers Container arrayAdditional sidecar containers to create with each pod.
dnsConfig PodDNSConfigSpecifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.
dnsPolicy stringSet DNS policy for the pod. Defaults to "ClusterFirst". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.
hostAliases HostAlias arrayHostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods.
imagePullSecrets LocalObjectReference arrayImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info
initContainers Container arrayList of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info
nodeName stringNodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.
nodeSelector objectNodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info
securityContext PodSecurityContextThe pod's security context. FsGroup must be set to 10001 for SQL Server. Default: fsGroup: 10001
terminationGracePeriodSeconds integerOptional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates stop immediately via the kill signal (no opportunity to shut down). If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.
tolerations Toleration arrayIf specified, the pod's tolerations.
topologySpreadConstraints TopologySpreadConstraint arrayTopologySpreadConstraints describes how a group of pods ought to spread across topology domains. Scheduler will schedule pods in a way which abides by the constraints. All topologySpreadConstraints are ANDed.

MssqlServerContainerSpec

Appears in:

FieldDescription
acceptEula booleanWhether or not the user accepts the SQL Server EULA
env EnvVar arrayList of environment variables to set in the container. Cannot be updated.
envFrom EnvFromSource arrayList of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
image stringThe SQL Server container image. Default: mcr.microsoft.com/mssql/server:latest
imagePullPolicy stringThe pull policy for the SQL Server image
mssqlConfigMap stringThe name of the ConfigMap that contains configuration info for the mssql.conf file
mssqlPID stringThe product ID (edition) the SQL Server container will run with, or a license key
mssqlSecret stringThe secret containing the MSSQL_SA_PASSWORD environment variable.
resources ResourceRequirementsCompute Resources required by this container. Cannot be updated. More info
volumeClaimConfiguration VolumeClaimConfigurationConfiguration options for the required volume claim for SQL Server.

DxEnterpriseContainerSpec

Appears in:

FieldDescription
acceptEula booleanWhether or not the user accepts the DxEnterprise EULA
clusterSecret string"The secret containing a DX_PASSKEY, DX_LICENSE, and optional DX_OTPK environment variable(s).
env EnvVar arrayList of environment variables to set in the container. Cannot be updated.
envFrom EnvFromSource arrayList of sources to populate environment variables in the container. The keys defined within a source must be a C_IDENTIFIER. All invalid keys will be reported as an event when the container is starting. When a key exists in multiple sources, the value associated with the last source will take precedence. Values defined by an Env with a duplicate key will take precedence. Cannot be updated.
image stringThe DxEnterprise container image. Default: docker.io/dh2i/dxe:latest
imagePullPolicy stringThe pull policy for the DxEnterprise image
joinExistingCluster booleanWhether or not to join an existing cluster. The DxEnterprise cluster will join a remote cluster using the DX_OTPK variable set in the clusterSecret
otpkExpiration stringThe date and/or time the OTPK will expire. Default: 1 hour
resources ResourceRequirementsCompute Resources required by this container. Cannot be updated. More info
vhostName stringThe name of the DxEnterprise Vhost. Default: VHOST1
volumeClaimConfiguration VolumeClaimConfigurationConfiguration options for the required volume claim for DxEnterprise.

VolumeClaimConfiguration

Appears in:

FieldDescription
storageClassName stringstorageClassName is the name of the StorageClass required by the claim. More info
resources ResourceRequirementsresources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info

SqlAgPodTemplateSpecMeta

FieldDescription
labels objectMap of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info
annotations objectAnnotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info

SqlAgStatus

Appears in:

FieldDescription
status stringThe deployment status of the SQL Server Availability Group. Valid values can include: Ready, Deploying, and Error.