
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.6.2
  labels:
    heritage: deckhouse
    module: deckhouse
  name: ciliumexternalworkloads.cilium.io
spec:
  group: cilium.io
  names:
    categories:
    - cilium
    kind: CiliumExternalWorkload
    listKind: CiliumExternalWorkloadList
    plural: ciliumexternalworkloads
    shortNames:
    - cew
    singular: ciliumexternalworkload
  scope: Cluster
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.id
      name: Cilium ID
      type: integer
    - jsonPath: .status.ip
      name: IP
      type: string
    name: v2
    schema:
      openAPIV3Schema:
        description: CiliumExternalWorkload is a Kubernetes Custom Resource that contains
          a specification for an external workload that can join the cluster.  The
          name of the CRD is the FQDN of the external workload, and it needs to match
          the name in the workload registration. The labels on the CRD object are
          the labels that will be used to allocate a Cilium Identity for the external
          workload. If 'io.kubernetes.pod.namespace' or 'io.kubernetes.pod.name' labels
          are not explicitly specified, they will be defaulted to 'default' and <workload
          name>, respectively. 'io.cilium.k8s.policy.cluster' will always be defined
          as the name of the current cluster, which defaults to "default".
        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: Spec is the desired configuration of the external Cilium
              workload.
            properties:
              ipv4-alloc-cidr:
                description: IPv4AllocCIDR is the range of IPv4 addresses in the CIDR
                  format that the external workload can use to allocate IP addresses
                  for the tunnel device and the health endpoint.
                pattern: ^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/([0-9]|[1-2][0-9]|3[0-2])$
                type: string
              ipv6-alloc-cidr:
                description: IPv6AllocCIDR is the range of IPv6 addresses in the CIDR
                  format that the external workload can use to allocate IP addresses
                  for the tunnel device and the health endpoint.
                pattern: ^s*((([0-9A-Fa-f]{1,4}:){7}(:|([0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){6}:([0-9A-Fa-f]{1,4})?)|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){0,1}):([0-9A-Fa-f]{1,4})?))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){0,2}):([0-9A-Fa-f]{1,4})?))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){0,3}):([0-9A-Fa-f]{1,4})?))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){0,4}):([0-9A-Fa-f]{1,4})?))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){0,5}):([0-9A-Fa-f]{1,4})?))|(:(:|((:[0-9A-Fa-f]{1,4}){1,7}))))(%.+)?s*/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8])$
                type: string
            type: object
          status:
            description: Status is the most recent status of the external Cilium workload.
              It is a read-only field.
            properties:
              id:
                description: ID is the numeric identity allocated for the external
                  workload.
                format: int64
                type: integer
              ip:
                description: IP is the IP address of the workload. Empty if the workload
                  has not registered.
                type: string
            type: object
        required:
        - metadata
        type: object
    served: true
    storage: true
    subresources:
      status: {}
status:
  acceptedNames:
    kind: ""
    plural: ""
  conditions: []
  storedVersions: []
