apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.18.0
  name: kubecontrollersconfigurations.crd.projectcalico.org
spec:
  group: crd.projectcalico.org
  names:
    kind: KubeControllersConfiguration
    listKind: KubeControllersConfigurationList
    plural: kubecontrollersconfigurations
    singular: kubecontrollersconfiguration
  preserveUnknownFields: false
  scope: Cluster
  versions:
    - name: v1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              type: string
            kind:
              type: string
            metadata:
              type: object
            spec:
              properties:
                controllers:
                  properties:
                    loadBalancer:
                      properties:
                        assignIPs:
                          default: AllServices
                          type: string
                      type: object
                    namespace:
                      properties:
                        reconcilerPeriod:
                          type: string
                      type: object
                    node:
                      properties:
                        hostEndpoint:
                          properties:
                            autoCreate:
                              type: string
                            createDefaultHostEndpoint:
                              type: string
                            templates:
                              items:
                                properties:
                                  generateName:
                                    maxLength: 253
                                    type: string
                                  interfaceCIDRs:
                                    items:
                                      type: string
                                    type: array
                                  interfacePattern:
                                    type: string
                                  labels:
                                    additionalProperties:
                                      type: string
                                    type: object
                                  nodeSelector:
                                    type: string
                                type: object
                              type: array
                          type: object
                        leakGracePeriod:
                          type: string
                        reconcilerPeriod:
                          type: string
                        syncLabels:
                          type: string
                      type: object
                    policy:
                      properties:
                        reconcilerPeriod:
                          type: string
                      type: object
                    serviceAccount:
                      properties:
                        reconcilerPeriod:
                          type: string
                      type: object
                    workloadEndpoint:
                      properties:
                        reconcilerPeriod:
                          type: string
                      type: object
                  type: object
                debugProfilePort:
                  format: int32
                  type: integer
                etcdV3CompactionPeriod:
                  type: string
                healthChecks:
                  type: string
                logSeverityScreen:
                  type: string
                prometheusMetricsPort:
                  type: integer
              required:
                - controllers
              type: object
            status:
              properties:
                environmentVars:
                  additionalProperties:
                    type: string
                  type: object
                runningConfig:
                  properties:
                    controllers:
                      properties:
                        loadBalancer:
                          properties:
                            assignIPs:
                              default: AllServices
                              type: string
                          type: object
                        namespace:
                          properties:
                            reconcilerPeriod:
                              type: string
                          type: object
                        node:
                          properties:
                            hostEndpoint:
                              properties:
                                autoCreate:
                                  type: string
                                createDefaultHostEndpoint:
                                  type: string
                                templates:
                                  items:
                                    properties:
                                      generateName:
                                        maxLength: 253
                                        type: string
                                      interfaceCIDRs:
                                        items:
                                          type: string
                                        type: array
                                      interfacePattern:
                                        type: string
                                      labels:
                                        additionalProperties:
                                          type: string
                                        type: object
                                      nodeSelector:
                                        type: string
                                    type: object
                                  type: array
                              type: object
                            leakGracePeriod:
                              type: string
                            reconcilerPeriod:
                              type: string
                            syncLabels:
                              type: string
                          type: object
                        policy:
                          properties:
                            reconcilerPeriod:
                              type: string
                          type: object
                        serviceAccount:
                          properties:
                            reconcilerPeriod:
                              type: string
                          type: object
                        workloadEndpoint:
                          properties:
                            reconcilerPeriod:
                              type: string
                          type: object
                      type: object
                    debugProfilePort:
                      format: int32
                      type: integer
                    etcdV3CompactionPeriod:
                      type: string
                    healthChecks:
                      type: string
                    logSeverityScreen:
                      type: string
                    prometheusMetricsPort:
                      type: integer
                  required:
                    - controllers
                  type: object
              type: object
          type: object
      served: true
      storage: true
