apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: echoes.example.com
  namespace: default # For easier deployment and avoid permissions collisions on most clusters, the resource is namespace-scoped. More information at: https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/
spec:
  group: example.com
  names:
    kind: Echo
    plural: echoes # If not specified, Kubernetes would assume the plural is "Echos"
    singular: echo
    shortNames:
      - echo
  scope: Namespaced
  versions:
    - name: v1
      served: true
      storage: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
            spec: # There is only one (required) field named "replicas" specifying how many pods are created by the Operator
              type: object
              properties:
                replicas:
                  type: integer
                  format: int32
              required: ["replicas"]