apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.4.1
  name: submariners.submariner.io
spec:
  group: submariner.io
  names:
    kind: Submariner
    listKind: SubmarinerList
    plural: submariners
    singular: submariner
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Submariner is the Schema for the submariners API
        properties:
          apiVersion:
            description: 'APIVersion 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: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind 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: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: SubmarinerSpec defines the desired state of Submariner
            properties:
              broker:
                type: string
              brokerK8sApiServer:
                type: string
              brokerK8sApiServerToken:
                type: string
              brokerK8sCA:
                type: string
              brokerK8sRemoteNamespace:
                type: string
              cableDriver:
                type: string
              ceIPSecDebug:
                type: boolean
              ceIPSecForceUDPEncaps:
                type: boolean
              ceIPSecIKEPort:
                type: integer
              ceIPSecNATTPort:
                type: integer
              ceIPSecPSK:
                type: string
              ceIPSecPreferredServer:
                type: boolean
              clusterCIDR:
                type: string
              clusterID:
                type: string
              colorCodes:
                type: string
              connectionHealthCheck:
                properties:
                  enabled:
                    type: boolean
                  intervalSeconds:
                    description: The interval at which health check pings are sent.
                    format: int64
                    type: integer
                  maxPacketLossCount:
                    description: The maximum number of packets lost at which the health checker will mark the connection as down.
                    format: int64
                    type: integer
                type: object
              coreDNSCustomConfig:
                properties:
                  configMapName:
                    type: string
                  namespace:
                    type: string
                type: object
              customDomains:
                items:
                  type: string
                type: array
                x-kubernetes-list-type: set
              debug:
                type: boolean
              globalCIDR:
                type: string
              imageOverrides:
                additionalProperties:
                  type: string
                type: object
              namespace:
                type: string
              natEnabled:
                type: boolean
              repository:
                type: string
              serviceCIDR:
                type: string
              serviceDiscoveryEnabled:
                type: boolean
              version:
                type: string
            required:
            - broker
            - brokerK8sApiServer
            - brokerK8sApiServerToken
            - brokerK8sCA
            - brokerK8sRemoteNamespace
            - ceIPSecDebug
            - ceIPSecPSK
            - clusterCIDR
            - clusterID
            - debug
            - namespace
            - natEnabled
            - serviceCIDR
            type: object
          status:
            description: SubmarinerStatus defines the observed state of Submariner
            properties:
              clusterCIDR:
                type: string
              clusterID:
                type: string
              colorCodes:
                type: string
              gatewayDaemonSetStatus:
                properties:
                  lastResourceVersion:
                    type: string
                  mismatchedContainerImages:
                    type: boolean
                  nonReadyContainerStates:
                    items:
                      description: ContainerState holds a possible state of container. Only one of its members may be specified. If none of them is specified, the default one is ContainerStateWaiting.
                      properties:
                        running:
                          description: Details about a running container
                          properties:
                            startedAt:
                              description: Time at which the container was last (re-)started
                              format: date-time
                              type: string
                          type: object
                        terminated:
                          description: Details about a terminated container
                          properties:
                            containerID:
                              description: Container's ID in the format 'docker://<container_id>'
                              type: string
                            exitCode:
                              description: Exit status from the last termination of the container
                              format: int32
                              type: integer
                            finishedAt:
                              description: Time at which the container last terminated
                              format: date-time
                              type: string
                            message:
                              description: Message regarding the last termination of the container
                              type: string
                            reason:
                              description: (brief) reason from the last termination of the container
                              type: string
                            signal:
                              description: Signal from the last termination of the container
                              format: int32
                              type: integer
                            startedAt:
                              description: Time at which previous execution of the container started
                              format: date-time
                              type: string
                          required:
                          - exitCode
                          type: object
                        waiting:
                          description: Details about a waiting container
                          properties:
                            message:
                              description: Message regarding why the container is not yet running.
                              type: string
                            reason:
                              description: (brief) reason the container is not yet running.
                              type: string
                          type: object
                      type: object
                    type: array
                  status:
                    description: DaemonSetStatus represents the current status of a daemon set.
                    properties:
                      collisionCount:
                        description: Count of hash collisions for the DaemonSet. The DaemonSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.
                        format: int32
                        type: integer
                      conditions:
                        description: Represents the latest available observations of a DaemonSet's current state.
                        items:
                          description: DaemonSetCondition describes the state of a DaemonSet at a certain point.
                          properties:
                            lastTransitionTime:
                              description: Last time the condition transitioned from one status to another.
                              format: date-time
                              type: string
                            message:
                              description: A human readable message indicating details about the transition.
                              type: string
                            reason:
                              description: The reason for the condition's last transition.
                              type: string
                            status:
                              description: Status of the condition, one of True, False, Unknown.
                              type: string
                            type:
                              description: Type of DaemonSet condition.
                              type: string
                          required:
                          - status
                          - type
                          type: object
                        type: array
                      currentNumberScheduled:
                        description: 'The number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
                        format: int32
                        type: integer
                      desiredNumberScheduled:
                        description: 'The total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod). More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
                        format: int32
                        type: integer
                      numberAvailable:
                        description: The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and available (ready for at least spec.minReadySeconds)
                        format: int32
                        type: integer
                      numberMisscheduled:
                        description: 'The number of nodes that are running the daemon pod, but are not supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
                        format: int32
                        type: integer
                      numberReady:
                        description: The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.
                        format: int32
                        type: integer
                      numberUnavailable:
                        description: The number of nodes that should be running the daemon pod and have none of the daemon pod running and available (ready for at least spec.minReadySeconds)
                        format: int32
                        type: integer
                      observedGeneration:
                        description: The most recent generation observed by the daemon set controller.
                        format: int64
                        type: integer
                      updatedNumberScheduled:
                        description: The total number of nodes that are running updated daemon pod
                        format: int32
                        type: integer
                    required:
                    - currentNumberScheduled
                    - desiredNumberScheduled
                    - numberMisscheduled
                    - numberReady
                    type: object
                required:
                - mismatchedContainerImages
                type: object
              gateways:
                items:
                  properties:
                    connections:
                      items:
                        properties:
                          endpoint:
                            properties:
                              backend:
                                type: string
                              backend_config:
                                additionalProperties:
                                  type: string
                                type: object
                              cable_name:
                                type: string
                              cluster_id:
                                type: string
                              healthCheckIP:
                                type: string
                              hostname:
                                type: string
                              nat_enabled:
                                type: boolean
                              private_ip:
                                type: string
                              public_ip:
                                type: string
                              subnets:
                                items:
                                  type: string
                                type: array
                            required:
                            - backend
                            - cable_name
                            - cluster_id
                            - hostname
                            - nat_enabled
                            - private_ip
                            - public_ip
                            - subnets
                            type: object
                          latencyRTT:
                            description: LatencySpec describes the round trip time information for a packet between the gateway pods of two clusters.
                            properties:
                              average:
                                type: string
                              last:
                                type: string
                              max:
                                type: string
                              min:
                                type: string
                              stdDev:
                                type: string
                            type: object
                          status:
                            type: string
                          statusMessage:
                            type: string
                          usingIP:
                            type: string
                          usingNAT:
                            type: boolean
                        required:
                        - endpoint
                        - status
                        - statusMessage
                        type: object
                      type: array
                    haStatus:
                      type: string
                    localEndpoint:
                      properties:
                        backend:
                          type: string
                        backend_config:
                          additionalProperties:
                            type: string
                          type: object
                        cable_name:
                          type: string
                        cluster_id:
                          type: string
                        healthCheckIP:
                          type: string
                        hostname:
                          type: string
                        nat_enabled:
                          type: boolean
                        private_ip:
                          type: string
                        public_ip:
                          type: string
                        subnets:
                          items:
                            type: string
                          type: array
                      required:
                      - backend
                      - cable_name
                      - cluster_id
                      - hostname
                      - nat_enabled
                      - private_ip
                      - public_ip
                      - subnets
                      type: object
                    statusFailure:
                      type: string
                    version:
                      type: string
                  required:
                  - connections
                  - haStatus
                  - localEndpoint
                  - statusFailure
                  - version
                  type: object
                type: array
              globalCIDR:
                type: string
              globalnetDaemonSetStatus:
                properties:
                  lastResourceVersion:
                    type: string
                  mismatchedContainerImages:
                    type: boolean
                  nonReadyContainerStates:
                    items:
                      description: ContainerState holds a possible state of container. Only one of its members may be specified. If none of them is specified, the default one is ContainerStateWaiting.
                      properties:
                        running:
                          description: Details about a running container
                          properties:
                            startedAt:
                              description: Time at which the container was last (re-)started
                              format: date-time
                              type: string
                          type: object
                        terminated:
                          description: Details about a terminated container
                          properties:
                            containerID:
                              description: Container's ID in the format 'docker://<container_id>'
                              type: string
                            exitCode:
                              description: Exit status from the last termination of the container
                              format: int32
                              type: integer
                            finishedAt:
                              description: Time at which the container last terminated
                              format: date-time
                              type: string
                            message:
                              description: Message regarding the last termination of the container
                              type: string
                            reason:
                              description: (brief) reason from the last termination of the container
                              type: string
                            signal:
                              description: Signal from the last termination of the container
                              format: int32
                              type: integer
                            startedAt:
                              description: Time at which previous execution of the container started
                              format: date-time
                              type: string
                          required:
                          - exitCode
                          type: object
                        waiting:
                          description: Details about a waiting container
                          properties:
                            message:
                              description: Message regarding why the container is not yet running.
                              type: string
                            reason:
                              description: (brief) reason the container is not yet running.
                              type: string
                          type: object
                      type: object
                    type: array
                  status:
                    description: DaemonSetStatus represents the current status of a daemon set.
                    properties:
                      collisionCount:
                        description: Count of hash collisions for the DaemonSet. The DaemonSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.
                        format: int32
                        type: integer
                      conditions:
                        description: Represents the latest available observations of a DaemonSet's current state.
                        items:
                          description: DaemonSetCondition describes the state of a DaemonSet at a certain point.
                          properties:
                            lastTransitionTime:
                              description: Last time the condition transitioned from one status to another.
                              format: date-time
                              type: string
                            message:
                              description: A human readable message indicating details about the transition.
                              type: string
                            reason:
                              description: The reason for the condition's last transition.
                              type: string
                            status:
                              description: Status of the condition, one of True, False, Unknown.
                              type: string
                            type:
                              description: Type of DaemonSet condition.
                              type: string
                          required:
                          - status
                          - type
                          type: object
                        type: array
                      currentNumberScheduled:
                        description: 'The number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
                        format: int32
                        type: integer
                      desiredNumberScheduled:
                        description: 'The total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod). More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
                        format: int32
                        type: integer
                      numberAvailable:
                        description: The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and available (ready for at least spec.minReadySeconds)
                        format: int32
                        type: integer
                      numberMisscheduled:
                        description: 'The number of nodes that are running the daemon pod, but are not supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
                        format: int32
                        type: integer
                      numberReady:
                        description: The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.
                        format: int32
                        type: integer
                      numberUnavailable:
                        description: The number of nodes that should be running the daemon pod and have none of the daemon pod running and available (ready for at least spec.minReadySeconds)
                        format: int32
                        type: integer
                      observedGeneration:
                        description: The most recent generation observed by the daemon set controller.
                        format: int64
                        type: integer
                      updatedNumberScheduled:
                        description: The total number of nodes that are running updated daemon pod
                        format: int32
                        type: integer
                    required:
                    - currentNumberScheduled
                    - desiredNumberScheduled
                    - numberMisscheduled
                    - numberReady
                    type: object
                required:
                - mismatchedContainerImages
                type: object
              natEnabled:
                type: boolean
              networkPlugin:
                type: string
              routeAgentDaemonSetStatus:
                properties:
                  lastResourceVersion:
                    type: string
                  mismatchedContainerImages:
                    type: boolean
                  nonReadyContainerStates:
                    items:
                      description: ContainerState holds a possible state of container. Only one of its members may be specified. If none of them is specified, the default one is ContainerStateWaiting.
                      properties:
                        running:
                          description: Details about a running container
                          properties:
                            startedAt:
                              description: Time at which the container was last (re-)started
                              format: date-time
                              type: string
                          type: object
                        terminated:
                          description: Details about a terminated container
                          properties:
                            containerID:
                              description: Container's ID in the format 'docker://<container_id>'
                              type: string
                            exitCode:
                              description: Exit status from the last termination of the container
                              format: int32
                              type: integer
                            finishedAt:
                              description: Time at which the container last terminated
                              format: date-time
                              type: string
                            message:
                              description: Message regarding the last termination of the container
                              type: string
                            reason:
                              description: (brief) reason from the last termination of the container
                              type: string
                            signal:
                              description: Signal from the last termination of the container
                              format: int32
                              type: integer
                            startedAt:
                              description: Time at which previous execution of the container started
                              format: date-time
                              type: string
                          required:
                          - exitCode
                          type: object
                        waiting:
                          description: Details about a waiting container
                          properties:
                            message:
                              description: Message regarding why the container is not yet running.
                              type: string
                            reason:
                              description: (brief) reason the container is not yet running.
                              type: string
                          type: object
                      type: object
                    type: array
                  status:
                    description: DaemonSetStatus represents the current status of a daemon set.
                    properties:
                      collisionCount:
                        description: Count of hash collisions for the DaemonSet. The DaemonSet controller uses this field as a collision avoidance mechanism when it needs to create the name for the newest ControllerRevision.
                        format: int32
                        type: integer
                      conditions:
                        description: Represents the latest available observations of a DaemonSet's current state.
                        items:
                          description: DaemonSetCondition describes the state of a DaemonSet at a certain point.
                          properties:
                            lastTransitionTime:
                              description: Last time the condition transitioned from one status to another.
                              format: date-time
                              type: string
                            message:
                              description: A human readable message indicating details about the transition.
                              type: string
                            reason:
                              description: The reason for the condition's last transition.
                              type: string
                            status:
                              description: Status of the condition, one of True, False, Unknown.
                              type: string
                            type:
                              description: Type of DaemonSet condition.
                              type: string
                          required:
                          - status
                          - type
                          type: object
                        type: array
                      currentNumberScheduled:
                        description: 'The number of nodes that are running at least 1 daemon pod and are supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
                        format: int32
                        type: integer
                      desiredNumberScheduled:
                        description: 'The total number of nodes that should be running the daemon pod (including nodes correctly running the daemon pod). More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
                        format: int32
                        type: integer
                      numberAvailable:
                        description: The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and available (ready for at least spec.minReadySeconds)
                        format: int32
                        type: integer
                      numberMisscheduled:
                        description: 'The number of nodes that are running the daemon pod, but are not supposed to run the daemon pod. More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/'
                        format: int32
                        type: integer
                      numberReady:
                        description: The number of nodes that should be running the daemon pod and have one or more of the daemon pod running and ready.
                        format: int32
                        type: integer
                      numberUnavailable:
                        description: The number of nodes that should be running the daemon pod and have none of the daemon pod running and available (ready for at least spec.minReadySeconds)
                        format: int32
                        type: integer
                      observedGeneration:
                        description: The most recent generation observed by the daemon set controller.
                        format: int64
                        type: integer
                      updatedNumberScheduled:
                        description: The total number of nodes that are running updated daemon pod
                        format: int32
                        type: integer
                    required:
                    - currentNumberScheduled
                    - desiredNumberScheduled
                    - numberMisscheduled
                    - numberReady
                    type: object
                required:
                - mismatchedContainerImages
                type: object
              serviceCIDR:
                type: string
            required:
            - clusterID
            - natEnabled
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []