apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: gossipconfigs.storage.atomix.io
spec:
  group: storage.atomix.io
  names:
    kind: GossipConfig
    listKind: GossipConfigList
    plural: gossipconfigs
    singular: gossipconfig
  scope: Namespaced
  versions:
  - name: v2beta1
    served: true
    storage: true
    schema:
      openAPIV3Schema:
        type: object
        properties:
          replicationFactor:
            type: integer
            minimum: 1
            maximum: 1024
          clock:
            description: |-
              A clock to use to maintain order within the primitive.
            type: object
            properties:
              logical:
                type: object
              physical:
                type: object
              epoch:
                type: object
                required:
                - election
                properties:
                  election:
                    type: object
                    required:
                    - name
                    properties:
                      name:
                        type: string