apiVersion: scylla.scylladb.com/v1
kind: ScyllaCluster
metadata:
  name: scylla-dual-stack-example
  namespace: scylla
spec:
  version: 2025.4.0
  
  # [network]
  network:
    dnsPolicy: ClusterFirst
    ipFamilyPolicy: PreferDualStack
    ipFamilies: ["IPv4", "IPv6"]
  # [/network]
  
  datacenter:
    name: dual-stack-datacenter
    racks:
    - name: dual-stack-rack-a
      members: 3
      storage:
        capacity: 100Gi
        storageClassName: scylladb-local-xfs
      resources:
        requests:
          cpu: 2
          memory: 8Gi
        limits:
          cpu: 2
          memory: 8Gi
      placement:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: topology.kubernetes.io/zone
                operator: In
                values: ["zone-a"]
    - name: dual-stack-rack-b
      members: 3
      storage:
        capacity: 100Gi
        storageClassName: scylladb-local-xfs
      resources:
        requests:
          cpu: 2
          memory: 8Gi
        limits:
          cpu: 2
          memory: 8Gi
      placement:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: topology.kubernetes.io/zone
                operator: In
                values: ["zone-b"]
  
  # [exposeOptions]
  exposeOptions:
    broadcastOptions:
      nodes:
        type: PodIP
        podIP:
          source: Status
      clients:
        type: PodIP
        podIP:
          source: Status
  # [/exposeOptions]
