---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.17.2
  labels:
    external-secrets.io/component: controller
  name: externalsecrets.external-secrets.io
spec:
  conversion:
    strategy: Webhook
    webhook:
      clientConfig:
        service:
          name: external-secrets-webhook
          namespace: external-secrets
          path: /convert
      conversionReviewVersions:
        - v1
  group: external-secrets.io
  names:
    categories:
      - external-secrets
    kind: ExternalSecret
    listKind: ExternalSecretList
    plural: externalsecrets
    shortNames:
      - es
    singular: externalsecret
  scope: Namespaced
  versions:
    - additionalPrinterColumns:
        - jsonPath: .spec.secretStoreRef.kind
          name: Store
          type: string
        - jsonPath: .spec.secretStoreRef.name
          name: Store
          type: string
        - jsonPath: .spec.refreshInterval
          name: Refresh Interval
          type: string
        - jsonPath: .status.conditions[?(@.type=="Ready")].reason
          name: Status
          type: string
      deprecated: true
      name: v1alpha1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              type: string
            kind:
              type: string
            metadata:
              type: object
            spec:
              properties:
                data:
                  items:
                    properties:
                      remoteRef:
                        properties:
                          conversionStrategy:
                            default: Default
                            enum:
                              - Default
                              - Unicode
                            type: string
                          key:
                            type: string
                          property:
                            type: string
                          version:
                            type: string
                        required:
                          - key
                        type: object
                      secretKey:
                        maxLength: 253
                        minLength: 1
                        pattern: ^[-._a-zA-Z0-9]+$
                        type: string
                    required:
                      - remoteRef
                      - secretKey
                    type: object
                  type: array
                dataFrom:
                  items:
                    properties:
                      conversionStrategy:
                        default: Default
                        enum:
                          - Default
                          - Unicode
                        type: string
                      key:
                        type: string
                      property:
                        type: string
                      version:
                        type: string
                    required:
                      - key
                    type: object
                  type: array
                refreshInterval:
                  default: 1h
                  type: string
                secretStoreRef:
                  properties:
                    kind:
                      enum:
                        - SecretStore
                        - ClusterSecretStore
                      type: string
                    name:
                      maxLength: 253
                      minLength: 1
                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                      type: string
                  type: object
                target:
                  properties:
                    creationPolicy:
                      default: Owner
                      enum:
                        - Owner
                        - Merge
                        - None
                      type: string
                    immutable:
                      type: boolean
                    name:
                      maxLength: 253
                      minLength: 1
                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                      type: string
                    template:
                      properties:
                        data:
                          additionalProperties:
                            type: string
                          type: object
                        engineVersion:
                          default: v1
                          enum:
                            - v1
                            - v2
                          type: string
                        metadata:
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                          type: object
                        templateFrom:
                          items:
                            maxProperties: 1
                            minProperties: 1
                            properties:
                              configMap:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                      required:
                                        - key
                                      type: object
                                    type: array
                                  name:
                                    maxLength: 253
                                    minLength: 1
                                    pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                    type: string
                                required:
                                  - items
                                  - name
                                type: object
                              secret:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                      required:
                                        - key
                                      type: object
                                    type: array
                                  name:
                                    maxLength: 253
                                    minLength: 1
                                    pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                    type: string
                                required:
                                  - items
                                  - name
                                type: object
                            type: object
                          type: array
                        type:
                          type: string
                      type: object
                  type: object
              required:
                - secretStoreRef
                - target
              type: object
            status:
              properties:
                binding:
                  properties:
                    name:
                      default: ""
                      type: string
                  type: object
                  x-kubernetes-map-type: atomic
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        format: date-time
                        type: string
                      message:
                        type: string
                      reason:
                        type: string
                      status:
                        type: string
                      type:
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                refreshTime:
                  format: date-time
                  nullable: true
                  type: string
                syncedResourceVersion:
                  type: string
              type: object
          type: object
      served: true
      storage: false
      subresources:
        status: {}
    - additionalPrinterColumns:
        - jsonPath: .spec.secretStoreRef.kind
          name: StoreType
          type: string
        - jsonPath: .spec.secretStoreRef.name
          name: Store
          type: string
        - jsonPath: .spec.refreshInterval
          name: Refresh Interval
          type: string
        - jsonPath: .status.conditions[?(@.type=="Ready")].reason
          name: Status
          type: string
        - jsonPath: .status.conditions[?(@.type=="Ready")].status
          name: Ready
          type: string
      name: v1beta1
      schema:
        openAPIV3Schema:
          properties:
            apiVersion:
              type: string
            kind:
              type: string
            metadata:
              type: object
            spec:
              properties:
                data:
                  items:
                    properties:
                      remoteRef:
                        properties:
                          conversionStrategy:
                            default: Default
                            enum:
                              - Default
                              - Unicode
                            type: string
                          decodingStrategy:
                            default: None
                            enum:
                              - Auto
                              - Base64
                              - Base64URL
                              - None
                            type: string
                          key:
                            type: string
                          metadataPolicy:
                            default: None
                            enum:
                              - None
                              - Fetch
                            type: string
                          property:
                            type: string
                          version:
                            type: string
                        required:
                          - key
                        type: object
                      secretKey:
                        maxLength: 253
                        minLength: 1
                        pattern: ^[-._a-zA-Z0-9]+$
                        type: string
                      sourceRef:
                        maxProperties: 1
                        minProperties: 1
                        properties:
                          generatorRef:
                            properties:
                              apiVersion:
                                default: generators.external-secrets.io/v1alpha1
                                type: string
                              kind:
                                enum:
                                  - ACRAccessToken
                                  - ClusterGenerator
                                  - ECRAuthorizationToken
                                  - Fake
                                  - GCRAccessToken
                                  - GithubAccessToken
                                  - QuayAccessToken
                                  - Password
                                  - STSSessionToken
                                  - UUID
                                  - VaultDynamicSecret
                                  - Webhook
                                  - Grafana
                                type: string
                              name:
                                maxLength: 253
                                minLength: 1
                                pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                type: string
                            required:
                              - kind
                              - name
                            type: object
                          storeRef:
                            properties:
                              kind:
                                enum:
                                  - SecretStore
                                  - ClusterSecretStore
                                type: string
                              name:
                                maxLength: 253
                                minLength: 1
                                pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                type: string
                            type: object
                        type: object
                    required:
                      - remoteRef
                      - secretKey
                    type: object
                  type: array
                dataFrom:
                  items:
                    properties:
                      extract:
                        properties:
                          conversionStrategy:
                            default: Default
                            enum:
                              - Default
                              - Unicode
                            type: string
                          decodingStrategy:
                            default: None
                            enum:
                              - Auto
                              - Base64
                              - Base64URL
                              - None
                            type: string
                          key:
                            type: string
                          metadataPolicy:
                            default: None
                            enum:
                              - None
                              - Fetch
                            type: string
                          property:
                            type: string
                          version:
                            type: string
                        required:
                          - key
                        type: object
                      find:
                        properties:
                          conversionStrategy:
                            default: Default
                            enum:
                              - Default
                              - Unicode
                            type: string
                          decodingStrategy:
                            default: None
                            enum:
                              - Auto
                              - Base64
                              - Base64URL
                              - None
                            type: string
                          name:
                            properties:
                              regexp:
                                type: string
                            type: object
                          path:
                            type: string
                          tags:
                            additionalProperties:
                              type: string
                            type: object
                        type: object
                      rewrite:
                        items:
                          properties:
                            regexp:
                              properties:
                                source:
                                  type: string
                                target:
                                  type: string
                              required:
                                - source
                                - target
                              type: object
                            transform:
                              properties:
                                template:
                                  type: string
                              required:
                                - template
                              type: object
                          type: object
                        type: array
                      sourceRef:
                        maxProperties: 1
                        minProperties: 1
                        properties:
                          generatorRef:
                            properties:
                              apiVersion:
                                default: generators.external-secrets.io/v1alpha1
                                type: string
                              kind:
                                enum:
                                  - ACRAccessToken
                                  - ClusterGenerator
                                  - ECRAuthorizationToken
                                  - Fake
                                  - GCRAccessToken
                                  - GithubAccessToken
                                  - QuayAccessToken
                                  - Password
                                  - STSSessionToken
                                  - UUID
                                  - VaultDynamicSecret
                                  - Webhook
                                  - Grafana
                                type: string
                              name:
                                maxLength: 253
                                minLength: 1
                                pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                type: string
                            required:
                              - kind
                              - name
                            type: object
                          storeRef:
                            properties:
                              kind:
                                enum:
                                  - SecretStore
                                  - ClusterSecretStore
                                type: string
                              name:
                                maxLength: 253
                                minLength: 1
                                pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                type: string
                            type: object
                        type: object
                    type: object
                  type: array
                refreshInterval:
                  default: 1h
                  type: string
                secretStoreRef:
                  properties:
                    kind:
                      enum:
                        - SecretStore
                        - ClusterSecretStore
                      type: string
                    name:
                      maxLength: 253
                      minLength: 1
                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                      type: string
                  type: object
                target:
                  default:
                    creationPolicy: Owner
                    deletionPolicy: Retain
                  properties:
                    creationPolicy:
                      default: Owner
                      enum:
                        - Owner
                        - Orphan
                        - Merge
                        - None
                      type: string
                    deletionPolicy:
                      default: Retain
                      enum:
                        - Delete
                        - Merge
                        - Retain
                      type: string
                    immutable:
                      type: boolean
                    name:
                      maxLength: 253
                      minLength: 1
                      pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                      type: string
                    template:
                      properties:
                        data:
                          additionalProperties:
                            type: string
                          type: object
                        engineVersion:
                          default: v2
                          enum:
                            - v1
                            - v2
                          type: string
                        mergePolicy:
                          default: Replace
                          enum:
                            - Replace
                            - Merge
                          type: string
                        metadata:
                          properties:
                            annotations:
                              additionalProperties:
                                type: string
                              type: object
                            labels:
                              additionalProperties:
                                type: string
                              type: object
                          type: object
                        templateFrom:
                          items:
                            properties:
                              configMap:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                        templateAs:
                                          default: Values
                                          enum:
                                            - Values
                                            - KeysAndValues
                                          type: string
                                      required:
                                        - key
                                      type: object
                                    type: array
                                  name:
                                    maxLength: 253
                                    minLength: 1
                                    pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                    type: string
                                required:
                                  - items
                                  - name
                                type: object
                              literal:
                                type: string
                              secret:
                                properties:
                                  items:
                                    items:
                                      properties:
                                        key:
                                          maxLength: 253
                                          minLength: 1
                                          pattern: ^[-._a-zA-Z0-9]+$
                                          type: string
                                        templateAs:
                                          default: Values
                                          enum:
                                            - Values
                                            - KeysAndValues
                                          type: string
                                      required:
                                        - key
                                      type: object
                                    type: array
                                  name:
                                    maxLength: 253
                                    minLength: 1
                                    pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
                                    type: string
                                required:
                                  - items
                                  - name
                                type: object
                              target:
                                default: Data
                                enum:
                                  - Data
                                  - Annotations
                                  - Labels
                                type: string
                            type: object
                          type: array
                        type:
                          type: string
                      type: object
                  type: object
              type: object
            status:
              properties:
                binding:
                  properties:
                    name:
                      default: ""
                      type: string
                  type: object
                  x-kubernetes-map-type: atomic
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        format: date-time
                        type: string
                      message:
                        type: string
                      reason:
                        type: string
                      status:
                        type: string
                      type:
                        type: string
                    required:
                      - status
                      - type
                    type: object
                  type: array
                refreshTime:
                  format: date-time
                  nullable: true
                  type: string
                syncedResourceVersion:
                  type: string
              type: object
          type: object
      served: true
      storage: true
      subresources:
        status: {}
