apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
  annotations:
    addons.oam.dev/description: Flux is a set of continuous and progressive delivery
      solutions for Kubernetes
    filter.oam.dev/annotation-keys: app.oam.dev/last-applied-configuration
  name: fluxcd
  namespace: vela-system
spec:
  components:
  - name: ns-flux-system
    properties:
      apiVersion: v1
      kind: Namespace
      metadata:
        name: flux-system
    type: raw
  - name: alerts.notification.toolkit.fluxcd.io
    properties:
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
        annotations:
          controller-gen.kubebuilder.io/version: v0.5.0
        labels:
          app.kubernetes.io/instance: flux-system
        name: alerts.notification.toolkit.fluxcd.io
      spec:
        group: notification.toolkit.fluxcd.io
        names:
          kind: Alert
          listKind: AlertList
          plural: alerts
          singular: alert
        scope: Namespaced
        versions:
        - additionalPrinterColumns:
          - jsonPath: .status.conditions[?(@.type=="Ready")].status
            name: Ready
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].message
            name: Status
            type: string
          - jsonPath: .metadata.creationTimestamp
            name: Age
            type: date
          name: v1beta1
          schema:
            openAPIV3Schema:
              description: Alert is the Schema for the alerts 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: AlertSpec defines an alerting rule for events involving
                    a list of objects
                  properties:
                    eventSeverity:
                      default: info
                      description: Filter events based on severity, defaults to ('info').
                        If set to 'info' no events will be filtered.
                      enum:
                      - info
                      - error
                      type: string
                    eventSources:
                      description: Filter events based on the involved objects.
                      items:
                        description: CrossNamespaceObjectReference contains enough
                          information to let you locate the typed referenced object
                          at cluster level
                        properties:
                          apiVersion:
                            description: API version of the referent
                            type: string
                          kind:
                            description: Kind of the referent
                            enum:
                            - Bucket
                            - GitRepository
                            - Kustomization
                            - HelmRelease
                            - HelmChart
                            - HelmRepository
                            - ImageRepository
                            - ImagePolicy
                            - ImageUpdateAutomation
                            type: string
                          name:
                            description: Name of the referent
                            maxLength: 53
                            minLength: 1
                            type: string
                          namespace:
                            description: Namespace of the referent
                            maxLength: 53
                            minLength: 1
                            type: string
                        required:
                        - name
                        type: object
                      type: array
                    exclusionList:
                      description: A list of Golang regular expressions to be used
                        for excluding messages.
                      items:
                        type: string
                      type: array
                    providerRef:
                      description: Send events using this provider.
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    summary:
                      description: Short description of the impact and affected cluster.
                      type: string
                    suspend:
                      description: This flag tells the controller to suspend subsequent
                        events dispatching. Defaults to false.
                      type: boolean
                  required:
                  - eventSources
                  - providerRef
                  type: object
                status:
                  description: AlertStatus defines the observed state of Alert
                  properties:
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    observedGeneration:
                      description: ObservedGeneration is the last observed generation.
                      format: int64
                      type: integer
                  type: object
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    type: raw
  - name: buckets.source.toolkit.fluxcd.io
    properties:
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
        annotations:
          controller-gen.kubebuilder.io/version: v0.5.0
        labels:
          app.kubernetes.io/instance: flux-system
        name: buckets.source.toolkit.fluxcd.io
      spec:
        group: source.toolkit.fluxcd.io
        names:
          kind: Bucket
          listKind: BucketList
          plural: buckets
          singular: bucket
        scope: Namespaced
        versions:
        - additionalPrinterColumns:
          - jsonPath: .spec.url
            name: URL
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].status
            name: Ready
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].message
            name: Status
            type: string
          - jsonPath: .metadata.creationTimestamp
            name: Age
            type: date
          name: v1beta1
          schema:
            openAPIV3Schema:
              description: Bucket is the Schema for the buckets 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: BucketSpec defines the desired state of an S3 compatible
                    bucket
                  properties:
                    bucketName:
                      description: The bucket name.
                      type: string
                    endpoint:
                      description: The bucket endpoint address.
                      type: string
                    ignore:
                      description: Ignore overrides the set of excluded patterns in
                        the .sourceignore format (which is the same as .gitignore).
                        If not provided, a default will be used, consult the documentation
                        for your version to find out what those are.
                      type: string
                    insecure:
                      description: Insecure allows connecting to a non-TLS S3 HTTP
                        endpoint.
                      type: boolean
                    interval:
                      description: The interval at which to check for bucket updates.
                      type: string
                    provider:
                      default: generic
                      description: The S3 compatible storage provider name, default
                        ('generic').
                      enum:
                      - generic
                      - aws
                      type: string
                    region:
                      description: The bucket region.
                      type: string
                    secretRef:
                      description: The name of the secret containing authentication
                        credentials for the Bucket.
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    suspend:
                      description: This flag tells the controller to suspend the reconciliation
                        of this source.
                      type: boolean
                    timeout:
                      default: 20s
                      description: The timeout for download operations, defaults to
                        20s.
                      type: string
                  required:
                  - bucketName
                  - endpoint
                  - interval
                  type: object
                status:
                  description: BucketStatus defines the observed state of a bucket
                  properties:
                    artifact:
                      description: Artifact represents the output of the last successful
                        Bucket sync.
                      properties:
                        checksum:
                          description: Checksum is the SHA1 checksum of the artifact.
                          type: string
                        lastUpdateTime:
                          description: LastUpdateTime is the timestamp corresponding
                            to the last update of this artifact.
                          format: date-time
                          type: string
                        path:
                          description: Path is the relative file path of this artifact.
                          type: string
                        revision:
                          description: Revision is a human readable identifier traceable
                            in the origin source system. It can be a Git commit SHA,
                            Git tag, a Helm index timestamp, a Helm chart version,
                            etc.
                          type: string
                        url:
                          description: URL is the HTTP address of this artifact.
                          type: string
                      required:
                      - path
                      - url
                      type: object
                    conditions:
                      description: Conditions holds the conditions for the Bucket.
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    lastHandledReconcileAt:
                      description: LastHandledReconcileAt holds the value of the most
                        recent reconcile request value, so a change can be detected.
                      type: string
                    observedGeneration:
                      description: ObservedGeneration is the last observed generation.
                      format: int64
                      type: integer
                    url:
                      description: URL is the download link for the artifact output
                        of the last Bucket sync.
                      type: string
                  type: object
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    type: raw
  - name: gitrepositories.source.toolkit.fluxcd.io
    properties:
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
        annotations:
          controller-gen.kubebuilder.io/version: v0.5.0
        labels:
          app.kubernetes.io/instance: flux-system
        name: gitrepositories.source.toolkit.fluxcd.io
      spec:
        group: source.toolkit.fluxcd.io
        names:
          kind: GitRepository
          listKind: GitRepositoryList
          plural: gitrepositories
          shortNames:
          - gitrepo
          singular: gitrepository
        scope: Namespaced
        versions:
        - additionalPrinterColumns:
          - jsonPath: .spec.url
            name: URL
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].status
            name: Ready
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].message
            name: Status
            type: string
          - jsonPath: .metadata.creationTimestamp
            name: Age
            type: date
          name: v1beta1
          schema:
            openAPIV3Schema:
              description: GitRepository is the Schema for the gitrepositories 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: GitRepositorySpec defines the desired state of a Git
                    repository.
                  properties:
                    gitImplementation:
                      default: go-git
                      description: Determines which git client library to use. Defaults
                        to go-git, valid values are ('go-git', 'libgit2').
                      enum:
                      - go-git
                      - libgit2
                      type: string
                    ignore:
                      description: Ignore overrides the set of excluded patterns in
                        the .sourceignore format (which is the same as .gitignore).
                        If not provided, a default will be used, consult the documentation
                        for your version to find out what those are.
                      type: string
                    include:
                      description: Extra git repositories to map into the repository
                      items:
                        description: GitRepositoryInclude defines a source with a
                          from and to path.
                        properties:
                          fromPath:
                            description: The path to copy contents from, defaults
                              to the root directory.
                            type: string
                          repository:
                            description: Reference to a GitRepository to include.
                            properties:
                              name:
                                description: Name of the referent
                                type: string
                            required:
                            - name
                            type: object
                          toPath:
                            description: The path to copy contents to, defaults to
                              the name of the source ref.
                            type: string
                        required:
                        - repository
                        type: object
                      type: array
                    interval:
                      description: The interval at which to check for repository updates.
                      type: string
                    recurseSubmodules:
                      description: When enabled, after the clone is created, initializes
                        all submodules within, using their default settings. This
                        option is available only when using the 'go-git' GitImplementation.
                      type: boolean
                    ref:
                      description: The Git reference to checkout and monitor for changes,
                        defaults to master branch.
                      properties:
                        branch:
                          default: master
                          description: The Git branch to checkout, defaults to master.
                          type: string
                        commit:
                          description: The Git commit SHA to checkout, if specified
                            Tag filters will be ignored.
                          type: string
                        semver:
                          description: The Git tag semver expression, takes precedence
                            over Tag.
                          type: string
                        tag:
                          description: The Git tag to checkout, takes precedence over
                            Branch.
                          type: string
                      type: object
                    secretRef:
                      description: The secret name containing the Git credentials.
                        For HTTPS repositories the secret must contain username and
                        password fields. For SSH repositories the secret must contain
                        identity, identity.pub and known_hosts fields.
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    suspend:
                      description: This flag tells the controller to suspend the reconciliation
                        of this source.
                      type: boolean
                    timeout:
                      default: 20s
                      description: The timeout for remote Git operations like cloning,
                        defaults to 20s.
                      type: string
                    url:
                      description: The repository URL, can be a HTTP/S or SSH address.
                      pattern: ^(http|https|ssh)://
                      type: string
                    verify:
                      description: Verify OpenPGP signature for the Git commit HEAD
                        points to.
                      properties:
                        mode:
                          description: Mode describes what git object should be verified,
                            currently ('head').
                          enum:
                          - head
                          type: string
                        secretRef:
                          description: The secret name containing the public keys
                            of all trusted Git authors.
                          properties:
                            name:
                              description: Name of the referent
                              type: string
                          required:
                          - name
                          type: object
                      required:
                      - mode
                      type: object
                  required:
                  - interval
                  - url
                  type: object
                status:
                  description: GitRepositoryStatus defines the observed state of a
                    Git repository.
                  properties:
                    artifact:
                      description: Artifact represents the output of the last successful
                        repository sync.
                      properties:
                        checksum:
                          description: Checksum is the SHA1 checksum of the artifact.
                          type: string
                        lastUpdateTime:
                          description: LastUpdateTime is the timestamp corresponding
                            to the last update of this artifact.
                          format: date-time
                          type: string
                        path:
                          description: Path is the relative file path of this artifact.
                          type: string
                        revision:
                          description: Revision is a human readable identifier traceable
                            in the origin source system. It can be a Git commit SHA,
                            Git tag, a Helm index timestamp, a Helm chart version,
                            etc.
                          type: string
                        url:
                          description: URL is the HTTP address of this artifact.
                          type: string
                      required:
                      - path
                      - url
                      type: object
                    conditions:
                      description: Conditions holds the conditions for the GitRepository.
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    includedArtifacts:
                      description: IncludedArtifacts represents the included artifacts
                        from the last successful repository sync.
                      items:
                        description: Artifact represents the output of a source synchronisation.
                        properties:
                          checksum:
                            description: Checksum is the SHA1 checksum of the artifact.
                            type: string
                          lastUpdateTime:
                            description: LastUpdateTime is the timestamp corresponding
                              to the last update of this artifact.
                            format: date-time
                            type: string
                          path:
                            description: Path is the relative file path of this artifact.
                            type: string
                          revision:
                            description: Revision is a human readable identifier traceable
                              in the origin source system. It can be a Git commit
                              SHA, Git tag, a Helm index timestamp, a Helm chart version,
                              etc.
                            type: string
                          url:
                            description: URL is the HTTP address of this artifact.
                            type: string
                        required:
                        - path
                        - url
                        type: object
                      type: array
                    lastHandledReconcileAt:
                      description: LastHandledReconcileAt holds the value of the most
                        recent reconcile request value, so a change can be detected.
                      type: string
                    observedGeneration:
                      description: ObservedGeneration is the last observed generation.
                      format: int64
                      type: integer
                    url:
                      description: URL is the download link for the artifact output
                        of the last repository sync.
                      type: string
                  type: object
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    type: raw
  - name: helmcharts.source.toolkit.fluxcd.io
    properties:
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
        annotations:
          controller-gen.kubebuilder.io/version: v0.5.0
        labels:
          app.kubernetes.io/instance: flux-system
        name: helmcharts.source.toolkit.fluxcd.io
      spec:
        group: source.toolkit.fluxcd.io
        names:
          kind: HelmChart
          listKind: HelmChartList
          plural: helmcharts
          shortNames:
          - hc
          singular: helmchart
        scope: Namespaced
        versions:
        - additionalPrinterColumns:
          - jsonPath: .spec.chart
            name: Chart
            type: string
          - jsonPath: .spec.version
            name: Version
            type: string
          - jsonPath: .spec.sourceRef.kind
            name: Source Kind
            type: string
          - jsonPath: .spec.sourceRef.name
            name: Source Name
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].status
            name: Ready
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].message
            name: Status
            type: string
          - jsonPath: .metadata.creationTimestamp
            name: Age
            type: date
          name: v1beta1
          schema:
            openAPIV3Schema:
              description: HelmChart is the Schema for the helmcharts 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: HelmChartSpec defines the desired state of a Helm chart.
                  properties:
                    chart:
                      description: The name or path the Helm chart is available at
                        in the SourceRef.
                      type: string
                    interval:
                      description: The interval at which to check the Source for updates.
                      type: string
                    sourceRef:
                      description: The reference to the Source the chart is available
                        at.
                      properties:
                        apiVersion:
                          description: APIVersion of the referent.
                          type: string
                        kind:
                          description: Kind of the referent, valid values are ('HelmRepository',
                            'GitRepository', 'Bucket').
                          enum:
                          - HelmRepository
                          - GitRepository
                          - Bucket
                          type: string
                        name:
                          description: Name of the referent.
                          type: string
                      required:
                      - kind
                      - name
                      type: object
                    suspend:
                      description: This flag tells the controller to suspend the reconciliation
                        of this source.
                      type: boolean
                    valuesFile:
                      description: Alternative values file to use as the default chart
                        values, expected to be a relative path in the SourceRef. Deprecated
                        in favor of ValuesFiles, for backwards compatibility the file
                        defined here is merged before the ValuesFiles items. Ignored
                        when omitted.
                      type: string
                    valuesFiles:
                      description: Alternative list of values files to use as the
                        chart values (values.yaml is not included by default), expected
                        to be a relative path in the SourceRef. Values files are merged
                        in the order of this list with the last file overriding the
                        first. Ignored when omitted.
                      items:
                        type: string
                      type: array
                    version:
                      default: '*'
                      description: The chart version semver expression, ignored for
                        charts from GitRepository and Bucket sources. Defaults to
                        latest when omitted.
                      type: string
                  required:
                  - chart
                  - interval
                  - sourceRef
                  type: object
                status:
                  description: HelmChartStatus defines the observed state of the HelmChart.
                  properties:
                    artifact:
                      description: Artifact represents the output of the last successful
                        chart sync.
                      properties:
                        checksum:
                          description: Checksum is the SHA1 checksum of the artifact.
                          type: string
                        lastUpdateTime:
                          description: LastUpdateTime is the timestamp corresponding
                            to the last update of this artifact.
                          format: date-time
                          type: string
                        path:
                          description: Path is the relative file path of this artifact.
                          type: string
                        revision:
                          description: Revision is a human readable identifier traceable
                            in the origin source system. It can be a Git commit SHA,
                            Git tag, a Helm index timestamp, a Helm chart version,
                            etc.
                          type: string
                        url:
                          description: URL is the HTTP address of this artifact.
                          type: string
                      required:
                      - path
                      - url
                      type: object
                    conditions:
                      description: Conditions holds the conditions for the HelmChart.
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    lastHandledReconcileAt:
                      description: LastHandledReconcileAt holds the value of the most
                        recent reconcile request value, so a change can be detected.
                      type: string
                    observedGeneration:
                      description: ObservedGeneration is the last observed generation.
                      format: int64
                      type: integer
                    url:
                      description: URL is the download link for the last chart pulled.
                      type: string
                  type: object
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    type: raw
  - name: helmreleases.helm.toolkit.fluxcd.io
    properties:
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
        annotations:
          controller-gen.kubebuilder.io/version: v0.5.0
        labels:
          app.kubernetes.io/instance: flux-system
        name: helmreleases.helm.toolkit.fluxcd.io
      spec:
        group: helm.toolkit.fluxcd.io
        names:
          kind: HelmRelease
          listKind: HelmReleaseList
          plural: helmreleases
          shortNames:
          - hr
          singular: helmrelease
        scope: Namespaced
        versions:
        - additionalPrinterColumns:
          - jsonPath: .status.conditions[?(@.type=="Ready")].status
            name: Ready
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].message
            name: Status
            type: string
          - jsonPath: .metadata.creationTimestamp
            name: Age
            type: date
          name: v2beta1
          schema:
            openAPIV3Schema:
              description: HelmRelease is the Schema for the helmreleases 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: HelmReleaseSpec defines the desired state of a Helm
                    release.
                  properties:
                    chart:
                      description: Chart defines the template of the v1beta1.HelmChart
                        that should be created for this HelmRelease.
                      properties:
                        spec:
                          description: Spec holds the template for the v1beta1.HelmChartSpec
                            for this HelmRelease.
                          properties:
                            chart:
                              description: The name or path the Helm chart is available
                                at in the SourceRef.
                              type: string
                            interval:
                              description: Interval at which to check the v1beta1.Source
                                for updates. Defaults to 'HelmReleaseSpec.Interval'.
                              type: string
                            sourceRef:
                              description: The name and namespace of the v1beta1.Source
                                the chart is available at.
                              properties:
                                apiVersion:
                                  description: APIVersion of the referent.
                                  type: string
                                kind:
                                  description: Kind of the referent.
                                  enum:
                                  - HelmRepository
                                  - GitRepository
                                  - Bucket
                                  type: string
                                name:
                                  description: Name of the referent.
                                  maxLength: 253
                                  minLength: 1
                                  type: string
                                namespace:
                                  description: Namespace of the referent.
                                  maxLength: 63
                                  minLength: 1
                                  type: string
                              required:
                              - name
                              type: object
                            valuesFile:
                              description: Alternative values file to use as the default
                                chart values, expected to be a relative path in the
                                SourceRef. Deprecated in favor of ValuesFiles, for
                                backwards compatibility the file defined here is merged
                                before the ValuesFiles items. Ignored when omitted.
                              type: string
                            valuesFiles:
                              description: Alternative list of values files to use
                                as the chart values (values.yaml is not included by
                                default), expected to be a relative path in the SourceRef.
                                Values files are merged in the order of this list
                                with the last file overriding the first. Ignored when
                                omitted.
                              items:
                                type: string
                              type: array
                            version:
                              default: '*'
                              description: Version semver expression, ignored for
                                charts from v1beta1.GitRepository and v1beta1.Bucket
                                sources. Defaults to latest when omitted.
                              type: string
                          required:
                          - chart
                          - sourceRef
                          type: object
                      required:
                      - spec
                      type: object
                    dependsOn:
                      description: DependsOn may contain a dependency.CrossNamespaceDependencyReference
                        slice with references to HelmRelease resources that must be
                        ready before this HelmRelease can be reconciled.
                      items:
                        description: CrossNamespaceDependencyReference holds the reference
                          to a dependency.
                        properties:
                          name:
                            description: Name holds the name reference of a dependency.
                            type: string
                          namespace:
                            description: Namespace holds the namespace reference of
                              a dependency.
                            type: string
                        required:
                        - name
                        type: object
                      type: array
                    install:
                      description: Install holds the configuration for Helm install
                        actions for this HelmRelease.
                      properties:
                        crds:
                          description: "CRDs upgrade CRDs from the Helm Chart's crds
                            directory according to the CRD upgrade policy provided
                            here. Valid values are `Skip`, `Create` or `CreateReplace`.
                            Default is `Create` and if omitted CRDs are installed
                            but not updated. \n Skip: do neither install nor replace
                            (update) any CRDs. \n Create: new CRDs are created, existing
                            CRDs are neither updated nor deleted. \n CreateReplace:
                            new CRDs are created, existing CRDs are updated (replaced)
                            but not deleted. \n By default, CRDs are applied (installed)
                            during Helm install action. With this option users can
                            opt-in to CRD replace existing CRDs on Helm install actions,
                            which is not (yet) natively supported by Helm. https://helm.sh/docs/chart_best_practices/custom_resource_definitions."
                          enum:
                          - Skip
                          - Create
                          - CreateReplace
                          type: string
                        createNamespace:
                          description: CreateNamespace tells the Helm install action
                            to create the HelmReleaseSpec.TargetNamespace if it does
                            not exist yet. On uninstall, the namespace will not be
                            garbage collected.
                          type: boolean
                        disableHooks:
                          description: DisableHooks prevents hooks from running during
                            the Helm install action.
                          type: boolean
                        disableOpenAPIValidation:
                          description: DisableOpenAPIValidation prevents the Helm
                            install action from validating rendered templates against
                            the Kubernetes OpenAPI Schema.
                          type: boolean
                        disableWait:
                          description: DisableWait disables the waiting for resources
                            to be ready after a Helm install has been performed.
                          type: boolean
                        disableWaitForJobs:
                          description: DisableWaitForJobs disables waiting for jobs
                            to complete after a Helm install has been performed.
                          type: boolean
                        remediation:
                          description: Remediation holds the remediation configuration
                            for when the Helm install action for the HelmRelease fails.
                            The default is to not perform any action.
                          properties:
                            ignoreTestFailures:
                              description: IgnoreTestFailures tells the controller
                                to skip remediation when the Helm tests are run after
                                an install action but fail. Defaults to 'Test.IgnoreFailures'.
                              type: boolean
                            remediateLastFailure:
                              description: RemediateLastFailure tells the controller
                                to remediate the last failure, when no retries remain.
                                Defaults to 'false'.
                              type: boolean
                            retries:
                              description: Retries is the number of retries that should
                                be attempted on failures before bailing. Remediation,
                                using an uninstall, is performed between each attempt.
                                Defaults to '0', a negative integer equals to unlimited
                                retries.
                              type: integer
                          type: object
                        replace:
                          description: Replace tells the Helm install action to re-use
                            the 'ReleaseName', but only if that name is a deleted
                            release which remains in the history.
                          type: boolean
                        skipCRDs:
                          description: "SkipCRDs tells the Helm install action to
                            not install any CRDs. By default, CRDs are installed if
                            not already present. \n Deprecated use CRD policy (`crds`)
                            attribute with value `Skip` instead."
                          type: boolean
                        timeout:
                          description: Timeout is the time to wait for any individual
                            Kubernetes operation (like Jobs for hooks) during the
                            performance of a Helm install action. Defaults to 'HelmReleaseSpec.Timeout'.
                          type: string
                      type: object
                    interval:
                      description: Interval at which to reconcile the Helm release.
                      type: string
                    kubeConfig:
                      description: KubeConfig for reconciling the HelmRelease on a
                        remote cluster. When specified, KubeConfig takes precedence
                        over ServiceAccountName.
                      properties:
                        secretRef:
                          description: SecretRef holds the name to a secret that contains
                            a 'value' key with the kubeconfig file as the value. It
                            must be in the same namespace as the HelmRelease. It is
                            recommended that the kubeconfig is self-contained, and
                            the secret is regularly updated if credentials such as
                            a cloud-access-token expire. Cloud specific `cmd-path`
                            auth helpers will not function without adding binaries
                            and credentials to the Pod that is responsible for reconciling
                            the HelmRelease.
                          properties:
                            name:
                              description: Name of the referent
                              type: string
                          required:
                          - name
                          type: object
                      type: object
                    maxHistory:
                      description: MaxHistory is the number of revisions saved by
                        Helm for this HelmRelease. Use '0' for an unlimited number
                        of revisions; defaults to '10'.
                      type: integer
                    postRenderers:
                      description: PostRenderers holds an array of Helm PostRenderers,
                        which will be applied in order of their definition.
                      items:
                        description: PostRenderer contains a Helm PostRenderer specification.
                        properties:
                          kustomize:
                            description: Kustomization to apply as PostRenderer.
                            properties:
                              images:
                                description: Images is a list of (image name, new
                                  name, new tag or digest) for changing image names,
                                  tags or digests. This can also be achieved with
                                  a patch, but this operator is simpler to specify.
                                items:
                                  description: Image contains an image name, a new
                                    name, a new tag or digest, which will replace
                                    the original name and tag.
                                  properties:
                                    digest:
                                      description: Digest is the value used to replace
                                        the original image tag. If digest is present
                                        NewTag value is ignored.
                                      type: string
                                    name:
                                      description: Name is a tag-less image name.
                                      type: string
                                    newName:
                                      description: NewName is the value used to replace
                                        the original name.
                                      type: string
                                    newTag:
                                      description: NewTag is the value used to replace
                                        the original tag.
                                      type: string
                                  required:
                                  - name
                                  type: object
                                type: array
                              patchesJson6902:
                                description: JSON 6902 patches, defined as inline
                                  YAML objects.
                                items:
                                  description: JSON6902Patch contains a JSON6902 patch
                                    and the target the patch should be applied to.
                                  properties:
                                    patch:
                                      description: Patch contains the JSON6902 patch
                                        document with an array of operation objects.
                                      items:
                                        description: JSON6902 is a JSON6902 operation
                                          object. https://tools.ietf.org/html/rfc6902#section-4
                                        properties:
                                          from:
                                            type: string
                                          op:
                                            enum:
                                            - test
                                            - remove
                                            - add
                                            - replace
                                            - move
                                            - copy
                                            type: string
                                          path:
                                            type: string
                                          value:
                                            x-kubernetes-preserve-unknown-fields: true
                                        required:
                                        - op
                                        - path
                                        type: object
                                      type: array
                                    target:
                                      description: Target points to the resources
                                        that the patch document should be applied
                                        to.
                                      properties:
                                        annotationSelector:
                                          description: AnnotationSelector is a string
                                            that follows the label selection expression
                                            https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
                                            It matches with the resource annotations.
                                          type: string
                                        group:
                                          description: Group is the API group to select
                                            resources from. Together with Version
                                            and Kind it is capable of unambiguously
                                            identifying and/or selecting resources.
                                            https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
                                          type: string
                                        kind:
                                          description: Kind of the API Group to select
                                            resources from. Together with Group and
                                            Version it is capable of unambiguously
                                            identifying and/or selecting resources.
                                            https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
                                          type: string
                                        labelSelector:
                                          description: LabelSelector is a string that
                                            follows the label selection expression
                                            https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
                                            It matches with the resource labels.
                                          type: string
                                        name:
                                          description: Name to match resources with.
                                          type: string
                                        namespace:
                                          description: Namespace to select resources
                                            from.
                                          type: string
                                        version:
                                          description: Version of the API Group to
                                            select resources from. Together with Group
                                            and Kind it is capable of unambiguously
                                            identifying and/or selecting resources.
                                            https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
                                          type: string
                                      type: object
                                  required:
                                  - patch
                                  - target
                                  type: object
                                type: array
                              patchesStrategicMerge:
                                description: Strategic merge patches, defined as inline
                                  YAML objects.
                                items:
                                  x-kubernetes-preserve-unknown-fields: true
                                type: array
                            type: object
                        type: object
                      type: array
                    releaseName:
                      description: ReleaseName used for the Helm release. Defaults
                        to a composition of '[TargetNamespace-]Name'.
                      maxLength: 53
                      minLength: 1
                      type: string
                    rollback:
                      description: Rollback holds the configuration for Helm rollback
                        actions for this HelmRelease.
                      properties:
                        cleanupOnFail:
                          description: CleanupOnFail allows deletion of new resources
                            created during the Helm rollback action when it fails.
                          type: boolean
                        disableHooks:
                          description: DisableHooks prevents hooks from running during
                            the Helm rollback action.
                          type: boolean
                        disableWait:
                          description: DisableWait disables the waiting for resources
                            to be ready after a Helm rollback has been performed.
                          type: boolean
                        disableWaitForJobs:
                          description: DisableWaitForJobs disables waiting for jobs
                            to complete after a Helm rollback has been performed.
                          type: boolean
                        force:
                          description: Force forces resource updates through a replacement
                            strategy.
                          type: boolean
                        recreate:
                          description: Recreate performs pod restarts for the resource
                            if applicable.
                          type: boolean
                        timeout:
                          description: Timeout is the time to wait for any individual
                            Kubernetes operation (like Jobs for hooks) during the
                            performance of a Helm rollback action. Defaults to 'HelmReleaseSpec.Timeout'.
                          type: string
                      type: object
                    serviceAccountName:
                      description: The name of the Kubernetes service account to impersonate
                        when reconciling this HelmRelease.
                      type: string
                    storageNamespace:
                      description: StorageNamespace used for the Helm storage. Defaults
                        to the namespace of the HelmRelease.
                      maxLength: 63
                      minLength: 1
                      type: string
                    suspend:
                      description: Suspend tells the controller to suspend reconciliation
                        for this HelmRelease, it does not apply to already started
                        reconciliations. Defaults to false.
                      type: boolean
                    targetNamespace:
                      description: TargetNamespace to target when performing operations
                        for the HelmRelease. Defaults to the namespace of the HelmRelease.
                      maxLength: 63
                      minLength: 1
                      type: string
                    test:
                      description: Test holds the configuration for Helm test actions
                        for this HelmRelease.
                      properties:
                        enable:
                          description: Enable enables Helm test actions for this HelmRelease
                            after an Helm install or upgrade action has been performed.
                          type: boolean
                        ignoreFailures:
                          description: IgnoreFailures tells the controller to skip
                            remediation when the Helm tests are run but fail. Can
                            be overwritten for tests run after install or upgrade
                            actions in 'Install.IgnoreTestFailures' and 'Upgrade.IgnoreTestFailures'.
                          type: boolean
                        timeout:
                          description: Timeout is the time to wait for any individual
                            Kubernetes operation during the performance of a Helm
                            test action. Defaults to 'HelmReleaseSpec.Timeout'.
                          type: string
                      type: object
                    timeout:
                      description: Timeout is the time to wait for any individual
                        Kubernetes operation (like Jobs for hooks) during the performance
                        of a Helm action. Defaults to '5m0s'.
                      type: string
                    uninstall:
                      description: Uninstall holds the configuration for Helm uninstall
                        actions for this HelmRelease.
                      properties:
                        disableHooks:
                          description: DisableHooks prevents hooks from running during
                            the Helm rollback action.
                          type: boolean
                        keepHistory:
                          description: KeepHistory tells Helm to remove all associated
                            resources and mark the release as deleted, but retain
                            the release history.
                          type: boolean
                        timeout:
                          description: Timeout is the time to wait for any individual
                            Kubernetes operation (like Jobs for hooks) during the
                            performance of a Helm uninstall action. Defaults to 'HelmReleaseSpec.Timeout'.
                          type: string
                      type: object
                    upgrade:
                      description: Upgrade holds the configuration for Helm upgrade
                        actions for this HelmRelease.
                      properties:
                        cleanupOnFail:
                          description: CleanupOnFail allows deletion of new resources
                            created during the Helm upgrade action when it fails.
                          type: boolean
                        crds:
                          description: "CRDs upgrade CRDs from the Helm Chart's crds
                            directory according to the CRD upgrade policy provided
                            here. Valid values are `Skip`, `Create` or `CreateReplace`.
                            Default is `Skip` and if omitted CRDs are neither installed
                            nor upgraded. \n Skip: do neither install nor replace
                            (update) any CRDs. \n Create: new CRDs are created, existing
                            CRDs are neither updated nor deleted. \n CreateReplace:
                            new CRDs are created, existing CRDs are updated (replaced)
                            but not deleted. \n By default, CRDs are not applied during
                            Helm upgrade action. With this option users can opt-in
                            to CRD upgrade, which is not (yet) natively supported
                            by Helm. https://helm.sh/docs/chart_best_practices/custom_resource_definitions."
                          enum:
                          - Skip
                          - Create
                          - CreateReplace
                          type: string
                        disableHooks:
                          description: DisableHooks prevents hooks from running during
                            the Helm upgrade action.
                          type: boolean
                        disableOpenAPIValidation:
                          description: DisableOpenAPIValidation prevents the Helm
                            upgrade action from validating rendered templates against
                            the Kubernetes OpenAPI Schema.
                          type: boolean
                        disableWait:
                          description: DisableWait disables the waiting for resources
                            to be ready after a Helm upgrade has been performed.
                          type: boolean
                        disableWaitForJobs:
                          description: DisableWaitForJobs disables waiting for jobs
                            to complete after a Helm upgrade has been performed.
                          type: boolean
                        force:
                          description: Force forces resource updates through a replacement
                            strategy.
                          type: boolean
                        preserveValues:
                          description: PreserveValues will make Helm reuse the last
                            release's values and merge in overrides from 'Values'.
                            Setting this flag makes the HelmRelease non-declarative.
                          type: boolean
                        remediation:
                          description: Remediation holds the remediation configuration
                            for when the Helm upgrade action for the HelmRelease fails.
                            The default is to not perform any action.
                          properties:
                            ignoreTestFailures:
                              description: IgnoreTestFailures tells the controller
                                to skip remediation when the Helm tests are run after
                                an upgrade action but fail. Defaults to 'Test.IgnoreFailures'.
                              type: boolean
                            remediateLastFailure:
                              description: RemediateLastFailure tells the controller
                                to remediate the last failure, when no retries remain.
                                Defaults to 'false' unless 'Retries' is greater than
                                0.
                              type: boolean
                            retries:
                              description: Retries is the number of retries that should
                                be attempted on failures before bailing. Remediation,
                                using 'Strategy', is performed between each attempt.
                                Defaults to '0', a negative integer equals to unlimited
                                retries.
                              type: integer
                            strategy:
                              description: Strategy to use for failure remediation.
                                Defaults to 'rollback'.
                              enum:
                              - rollback
                              - uninstall
                              type: string
                          type: object
                        timeout:
                          description: Timeout is the time to wait for any individual
                            Kubernetes operation (like Jobs for hooks) during the
                            performance of a Helm upgrade action. Defaults to 'HelmReleaseSpec.Timeout'.
                          type: string
                      type: object
                    values:
                      description: Values holds the values for this Helm release.
                      x-kubernetes-preserve-unknown-fields: true
                    valuesFrom:
                      description: ValuesFrom holds references to resources containing
                        Helm values for this HelmRelease, and information about how
                        they should be merged.
                      items:
                        description: ValuesReference contains a reference to a resource
                          containing Helm values, and optionally the key they can
                          be found at.
                        properties:
                          kind:
                            description: Kind of the values referent, valid values
                              are ('Secret', 'ConfigMap').
                            enum:
                            - Secret
                            - ConfigMap
                            type: string
                          name:
                            description: Name of the values referent. Should reside
                              in the same namespace as the referring resource.
                            maxLength: 253
                            minLength: 1
                            type: string
                          optional:
                            description: Optional marks this ValuesReference as optional.
                              When set, a not found error for the values reference
                              is ignored, but any ValuesKey, TargetPath or transient
                              error will still result in a reconciliation failure.
                            type: boolean
                          targetPath:
                            description: TargetPath is the YAML dot notation path
                              the value should be merged at. When set, the ValuesKey
                              is expected to be a single flat value. Defaults to 'None',
                              which results in the values getting merged at the root.
                            type: string
                          valuesKey:
                            description: ValuesKey is the data key where the values.yaml
                              or a specific value can be found at. Defaults to 'values.yaml'.
                            type: string
                        required:
                        - kind
                        - name
                        type: object
                      type: array
                  required:
                  - chart
                  - interval
                  type: object
                status:
                  description: HelmReleaseStatus defines the observed state of a HelmRelease.
                  properties:
                    conditions:
                      description: Conditions holds the conditions for the HelmRelease.
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    failures:
                      description: Failures is the reconciliation failure count against
                        the latest desired state. It is reset after a successful reconciliation.
                      format: int64
                      type: integer
                    helmChart:
                      description: HelmChart is the namespaced name of the HelmChart
                        resource created by the controller for the HelmRelease.
                      type: string
                    installFailures:
                      description: InstallFailures is the install failure count against
                        the latest desired state. It is reset after a successful reconciliation.
                      format: int64
                      type: integer
                    lastAppliedRevision:
                      description: LastAppliedRevision is the revision of the last
                        successfully applied source.
                      type: string
                    lastAttemptedRevision:
                      description: LastAttemptedRevision is the revision of the last
                        reconciliation attempt.
                      type: string
                    lastAttemptedValuesChecksum:
                      description: LastAttemptedValuesChecksum is the SHA1 checksum
                        of the values of the last reconciliation attempt.
                      type: string
                    lastHandledReconcileAt:
                      description: LastHandledReconcileAt holds the value of the most
                        recent reconcile request value, so a change can be detected.
                      type: string
                    lastReleaseRevision:
                      description: LastReleaseRevision is the revision of the last
                        successful Helm release.
                      type: integer
                    observedGeneration:
                      description: ObservedGeneration is the last observed generation.
                      format: int64
                      type: integer
                    upgradeFailures:
                      description: UpgradeFailures is the upgrade failure count against
                        the latest desired state. It is reset after a successful reconciliation.
                      format: int64
                      type: integer
                  type: object
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    type: raw
  - name: helmrepositories.source.toolkit.fluxcd.io
    properties:
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
        annotations:
          controller-gen.kubebuilder.io/version: v0.5.0
        labels:
          app.kubernetes.io/instance: flux-system
        name: helmrepositories.source.toolkit.fluxcd.io
      spec:
        group: source.toolkit.fluxcd.io
        names:
          kind: HelmRepository
          listKind: HelmRepositoryList
          plural: helmrepositories
          shortNames:
          - helmrepo
          singular: helmrepository
        scope: Namespaced
        versions:
        - additionalPrinterColumns:
          - jsonPath: .spec.url
            name: URL
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].status
            name: Ready
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].message
            name: Status
            type: string
          - jsonPath: .metadata.creationTimestamp
            name: Age
            type: date
          name: v1beta1
          schema:
            openAPIV3Schema:
              description: HelmRepository is the Schema for the helmrepositories 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: HelmRepositorySpec defines the reference to a Helm
                    repository.
                  properties:
                    interval:
                      description: The interval at which to check the upstream for
                        updates.
                      type: string
                    passCredentials:
                      description: PassCredentials allows the credentials from the
                        SecretRef to be passed on to a host that does not match the
                        host as defined in URL. This may be required if the host of
                        the advertised chart URLs in the index differ from the defined
                        URL. Enabling this should be done with caution, as it can
                        potentially result in credentials getting stolen in a MITM-attack.
                      type: boolean
                    secretRef:
                      description: The name of the secret containing authentication
                        credentials for the Helm repository. For HTTP/S basic auth
                        the secret must contain username and password fields. For
                        TLS the secret must contain a certFile and keyFile, and/or
                        caCert fields.
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    suspend:
                      description: This flag tells the controller to suspend the reconciliation
                        of this source.
                      type: boolean
                    timeout:
                      default: 60s
                      description: The timeout of index downloading, defaults to 60s.
                      type: string
                    url:
                      description: The Helm repository URL, a valid URL contains at
                        least a protocol and host.
                      type: string
                  required:
                  - interval
                  - url
                  type: object
                status:
                  description: HelmRepositoryStatus defines the observed state of
                    the HelmRepository.
                  properties:
                    artifact:
                      description: Artifact represents the output of the last successful
                        repository sync.
                      properties:
                        checksum:
                          description: Checksum is the SHA1 checksum of the artifact.
                          type: string
                        lastUpdateTime:
                          description: LastUpdateTime is the timestamp corresponding
                            to the last update of this artifact.
                          format: date-time
                          type: string
                        path:
                          description: Path is the relative file path of this artifact.
                          type: string
                        revision:
                          description: Revision is a human readable identifier traceable
                            in the origin source system. It can be a Git commit SHA,
                            Git tag, a Helm index timestamp, a Helm chart version,
                            etc.
                          type: string
                        url:
                          description: URL is the HTTP address of this artifact.
                          type: string
                      required:
                      - path
                      - url
                      type: object
                    conditions:
                      description: Conditions holds the conditions for the HelmRepository.
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    lastHandledReconcileAt:
                      description: LastHandledReconcileAt holds the value of the most
                        recent reconcile request value, so a change can be detected.
                      type: string
                    observedGeneration:
                      description: ObservedGeneration is the last observed generation.
                      format: int64
                      type: integer
                    url:
                      description: URL is the download link for the last index fetched.
                      type: string
                  type: object
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    type: raw
  - name: imagepolicies.image.toolkit.fluxcd.io
    properties:
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
        annotations:
          controller-gen.kubebuilder.io/version: v0.5.0
        labels:
          app.kubernetes.io/instance: flux-system
        name: imagepolicies.image.toolkit.fluxcd.io
      spec:
        group: image.toolkit.fluxcd.io
        names:
          kind: ImagePolicy
          listKind: ImagePolicyList
          plural: imagepolicies
          singular: imagepolicy
        scope: Namespaced
        versions:
        - additionalPrinterColumns:
          - jsonPath: .status.latestImage
            name: LatestImage
            type: string
          name: v1alpha1
          schema:
            openAPIV3Schema:
              description: ImagePolicy is the Schema for the imagepolicies 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: ImagePolicySpec defines the parameters for calculating
                    the ImagePolicy
                  properties:
                    filterTags:
                      description: FilterTags enables filtering for only a subset
                        of tags based on a set of rules. If no rules are provided,
                        all the tags from the repository will be ordered and compared.
                      properties:
                        extract:
                          description: Extract allows a capture group to be extracted
                            from the specified regular expression pattern, useful
                            before tag evaluation.
                          type: string
                        pattern:
                          description: Pattern specifies a regular expression pattern
                            used to filter for image tags.
                          type: string
                      type: object
                    imageRepositoryRef:
                      description: ImageRepositoryRef points at the object specifying
                        the image being scanned
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    policy:
                      description: Policy gives the particulars of the policy to be
                        followed in selecting the most recent image
                      properties:
                        alphabetical:
                          description: Alphabetical set of rules to use for alphabetical
                            ordering of the tags.
                          properties:
                            order:
                              default: asc
                              description: Order specifies the sorting order of the
                                tags. Given the letters of the alphabet as tags, ascending
                                order would select Z, and descending order would select
                                A.
                              enum:
                              - asc
                              - desc
                              type: string
                          type: object
                        numerical:
                          description: Numerical set of rules to use for numerical
                            ordering of the tags.
                          properties:
                            order:
                              default: asc
                              description: Order specifies the sorting order of the
                                tags. Given the integer values from 0 to 9 as tags,
                                ascending order would select 9, and descending order
                                would select 0.
                              enum:
                              - asc
                              - desc
                              type: string
                          type: object
                        semver:
                          description: SemVer gives a semantic version range to check
                            against the tags available.
                          properties:
                            range:
                              description: Range gives a semver range for the image
                                tag; the highest version within the range that's a
                                tag yields the latest image.
                              type: string
                          required:
                          - range
                          type: object
                      type: object
                  required:
                  - imageRepositoryRef
                  - policy
                  type: object
                status:
                  description: ImagePolicyStatus defines the observed state of ImagePolicy
                  properties:
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    latestImage:
                      description: LatestImage gives the first in the list of images
                        scanned by the image repository, when filtered and ordered
                        according to the policy.
                      type: string
                    observedGeneration:
                      format: int64
                      type: integer
                  type: object
              type: object
          served: true
          storage: false
          subresources:
            status: {}
        - additionalPrinterColumns:
          - jsonPath: .status.latestImage
            name: LatestImage
            type: string
          name: v1alpha2
          schema:
            openAPIV3Schema:
              description: ImagePolicy is the Schema for the imagepolicies 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: ImagePolicySpec defines the parameters for calculating
                    the ImagePolicy
                  properties:
                    filterTags:
                      description: FilterTags enables filtering for only a subset
                        of tags based on a set of rules. If no rules are provided,
                        all the tags from the repository will be ordered and compared.
                      properties:
                        extract:
                          description: Extract allows a capture group to be extracted
                            from the specified regular expression pattern, useful
                            before tag evaluation.
                          type: string
                        pattern:
                          description: Pattern specifies a regular expression pattern
                            used to filter for image tags.
                          type: string
                      type: object
                    imageRepositoryRef:
                      description: ImageRepositoryRef points at the object specifying
                        the image being scanned
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    policy:
                      description: Policy gives the particulars of the policy to be
                        followed in selecting the most recent image
                      properties:
                        alphabetical:
                          description: Alphabetical set of rules to use for alphabetical
                            ordering of the tags.
                          properties:
                            order:
                              default: asc
                              description: Order specifies the sorting order of the
                                tags. Given the letters of the alphabet as tags, ascending
                                order would select Z, and descending order would select
                                A.
                              enum:
                              - asc
                              - desc
                              type: string
                          type: object
                        numerical:
                          description: Numerical set of rules to use for numerical
                            ordering of the tags.
                          properties:
                            order:
                              default: asc
                              description: Order specifies the sorting order of the
                                tags. Given the integer values from 0 to 9 as tags,
                                ascending order would select 9, and descending order
                                would select 0.
                              enum:
                              - asc
                              - desc
                              type: string
                          type: object
                        semver:
                          description: SemVer gives a semantic version range to check
                            against the tags available.
                          properties:
                            range:
                              description: Range gives a semver range for the image
                                tag; the highest version within the range that's a
                                tag yields the latest image.
                              type: string
                          required:
                          - range
                          type: object
                      type: object
                  required:
                  - imageRepositoryRef
                  - policy
                  type: object
                status:
                  description: ImagePolicyStatus defines the observed state of ImagePolicy
                  properties:
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    latestImage:
                      description: LatestImage gives the first in the list of images
                        scanned by the image repository, when filtered and ordered
                        according to the policy.
                      type: string
                    observedGeneration:
                      format: int64
                      type: integer
                  type: object
              type: object
          served: true
          storage: false
          subresources:
            status: {}
        - additionalPrinterColumns:
          - jsonPath: .status.latestImage
            name: LatestImage
            type: string
          name: v1beta1
          schema:
            openAPIV3Schema:
              description: ImagePolicy is the Schema for the imagepolicies 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: ImagePolicySpec defines the parameters for calculating
                    the ImagePolicy
                  properties:
                    filterTags:
                      description: FilterTags enables filtering for only a subset
                        of tags based on a set of rules. If no rules are provided,
                        all the tags from the repository will be ordered and compared.
                      properties:
                        extract:
                          description: Extract allows a capture group to be extracted
                            from the specified regular expression pattern, useful
                            before tag evaluation.
                          type: string
                        pattern:
                          description: Pattern specifies a regular expression pattern
                            used to filter for image tags.
                          type: string
                      type: object
                    imageRepositoryRef:
                      description: ImageRepositoryRef points at the object specifying
                        the image being scanned
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    policy:
                      description: Policy gives the particulars of the policy to be
                        followed in selecting the most recent image
                      properties:
                        alphabetical:
                          description: Alphabetical set of rules to use for alphabetical
                            ordering of the tags.
                          properties:
                            order:
                              default: asc
                              description: Order specifies the sorting order of the
                                tags. Given the letters of the alphabet as tags, ascending
                                order would select Z, and descending order would select
                                A.
                              enum:
                              - asc
                              - desc
                              type: string
                          type: object
                        numerical:
                          description: Numerical set of rules to use for numerical
                            ordering of the tags.
                          properties:
                            order:
                              default: asc
                              description: Order specifies the sorting order of the
                                tags. Given the integer values from 0 to 9 as tags,
                                ascending order would select 9, and descending order
                                would select 0.
                              enum:
                              - asc
                              - desc
                              type: string
                          type: object
                        semver:
                          description: SemVer gives a semantic version range to check
                            against the tags available.
                          properties:
                            range:
                              description: Range gives a semver range for the image
                                tag; the highest version within the range that's a
                                tag yields the latest image.
                              type: string
                          required:
                          - range
                          type: object
                      type: object
                  required:
                  - imageRepositoryRef
                  - policy
                  type: object
                status:
                  description: ImagePolicyStatus defines the observed state of ImagePolicy
                  properties:
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    latestImage:
                      description: LatestImage gives the first in the list of images
                        scanned by the image repository, when filtered and ordered
                        according to the policy.
                      type: string
                    observedGeneration:
                      format: int64
                      type: integer
                  type: object
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    type: raw
  - name: imagerepositories.image.toolkit.fluxcd.io
    properties:
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
        annotations:
          controller-gen.kubebuilder.io/version: v0.5.0
        labels:
          app.kubernetes.io/instance: flux-system
        name: imagerepositories.image.toolkit.fluxcd.io
      spec:
        group: image.toolkit.fluxcd.io
        names:
          kind: ImageRepository
          listKind: ImageRepositoryList
          plural: imagerepositories
          singular: imagerepository
        scope: Namespaced
        versions:
        - additionalPrinterColumns:
          - jsonPath: .status.lastScanResult.scanTime
            name: Last scan
            type: string
          - jsonPath: .status.lastScanResult.tagCount
            name: Tags
            type: string
          name: v1alpha1
          schema:
            openAPIV3Schema:
              description: ImageRepository is the Schema for the imagerepositories
                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: ImageRepositorySpec defines the parameters for scanning
                    an image repository, e.g., `fluxcd/flux`.
                  properties:
                    certSecretRef:
                      description: "CertSecretRef can be given the name of a secret
                        containing either or both of \n  - a PEM-encoded client certificate
                        (`certFile`) and private  key (`keyFile`);  - a PEM-encoded
                        CA certificate (`caFile`) \n  and whichever are supplied,
                        will be used for connecting to the  registry. The client cert
                        and key are useful if you are  authenticating with a certificate;
                        the CA cert is useful if  you are using a self-signed server
                        certificate."
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    image:
                      description: Image is the name of the image repository
                      type: string
                    interval:
                      description: Interval is the length of time to wait between
                        scans of the image repository.
                      type: string
                    secretRef:
                      description: SecretRef can be given the name of a secret containing
                        credentials to use for the image registry. The secret should
                        be created with `kubectl create secret docker-registry`, or
                        the equivalent.
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    suspend:
                      description: This flag tells the controller to suspend subsequent
                        image scans. It does not apply to already started scans. Defaults
                        to false.
                      type: boolean
                    timeout:
                      description: Timeout for image scanning. Defaults to 'Interval'
                        duration.
                      type: string
                  type: object
                status:
                  description: ImageRepositoryStatus defines the observed state of
                    ImageRepository
                  properties:
                    canonicalImageName:
                      description: CanonicalName is the name of the image repository
                        with all the implied bits made explicit; e.g., `docker.io/library/alpine`
                        rather than `alpine`.
                      type: string
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    lastHandledReconcileAt:
                      description: LastHandledReconcileAt holds the value of the most
                        recent reconcile request value, so a change can be detected.
                      type: string
                    lastScanResult:
                      description: LastScanResult contains the number of fetched tags.
                      properties:
                        scanTime:
                          format: date-time
                          type: string
                        tagCount:
                          type: integer
                      required:
                      - tagCount
                      type: object
                    observedGeneration:
                      description: ObservedGeneration is the last reconciled generation.
                      format: int64
                      type: integer
                  type: object
              type: object
          served: true
          storage: false
          subresources:
            status: {}
        - additionalPrinterColumns:
          - jsonPath: .status.lastScanResult.scanTime
            name: Last scan
            type: string
          - jsonPath: .status.lastScanResult.tagCount
            name: Tags
            type: string
          name: v1alpha2
          schema:
            openAPIV3Schema:
              description: ImageRepository is the Schema for the imagerepositories
                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: ImageRepositorySpec defines the parameters for scanning
                    an image repository, e.g., `fluxcd/flux`.
                  properties:
                    certSecretRef:
                      description: "CertSecretRef can be given the name of a secret
                        containing either or both of \n  - a PEM-encoded client certificate
                        (`certFile`) and private  key (`keyFile`);  - a PEM-encoded
                        CA certificate (`caFile`) \n  and whichever are supplied,
                        will be used for connecting to the  registry. The client cert
                        and key are useful if you are  authenticating with a certificate;
                        the CA cert is useful if  you are using a self-signed server
                        certificate."
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    image:
                      description: Image is the name of the image repository
                      type: string
                    interval:
                      description: Interval is the length of time to wait between
                        scans of the image repository.
                      type: string
                    secretRef:
                      description: SecretRef can be given the name of a secret containing
                        credentials to use for the image registry. The secret should
                        be created with `kubectl create secret docker-registry`, or
                        the equivalent.
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    suspend:
                      description: This flag tells the controller to suspend subsequent
                        image scans. It does not apply to already started scans. Defaults
                        to false.
                      type: boolean
                    timeout:
                      description: Timeout for image scanning. Defaults to 'Interval'
                        duration.
                      type: string
                  type: object
                status:
                  description: ImageRepositoryStatus defines the observed state of
                    ImageRepository
                  properties:
                    canonicalImageName:
                      description: CanonicalName is the name of the image repository
                        with all the implied bits made explicit; e.g., `docker.io/library/alpine`
                        rather than `alpine`.
                      type: string
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    lastHandledReconcileAt:
                      description: LastHandledReconcileAt holds the value of the most
                        recent reconcile request value, so a change can be detected.
                      type: string
                    lastScanResult:
                      description: LastScanResult contains the number of fetched tags.
                      properties:
                        scanTime:
                          format: date-time
                          type: string
                        tagCount:
                          type: integer
                      required:
                      - tagCount
                      type: object
                    observedGeneration:
                      description: ObservedGeneration is the last reconciled generation.
                      format: int64
                      type: integer
                  type: object
              type: object
          served: true
          storage: false
          subresources:
            status: {}
        - additionalPrinterColumns:
          - jsonPath: .status.lastScanResult.scanTime
            name: Last scan
            type: string
          - jsonPath: .status.lastScanResult.tagCount
            name: Tags
            type: string
          name: v1beta1
          schema:
            openAPIV3Schema:
              description: ImageRepository is the Schema for the imagerepositories
                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: ImageRepositorySpec defines the parameters for scanning
                    an image repository, e.g., `fluxcd/flux`.
                  properties:
                    certSecretRef:
                      description: "CertSecretRef can be given the name of a secret
                        containing either or both of \n  - a PEM-encoded client certificate
                        (`certFile`) and private  key (`keyFile`);  - a PEM-encoded
                        CA certificate (`caFile`) \n  and whichever are supplied,
                        will be used for connecting to the  registry. The client cert
                        and key are useful if you are  authenticating with a certificate;
                        the CA cert is useful if  you are using a self-signed server
                        certificate."
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    image:
                      description: Image is the name of the image repository
                      type: string
                    interval:
                      description: Interval is the length of time to wait between
                        scans of the image repository.
                      type: string
                    secretRef:
                      description: SecretRef can be given the name of a secret containing
                        credentials to use for the image registry. The secret should
                        be created with `kubectl create secret docker-registry`, or
                        the equivalent.
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    suspend:
                      description: This flag tells the controller to suspend subsequent
                        image scans. It does not apply to already started scans. Defaults
                        to false.
                      type: boolean
                    timeout:
                      description: Timeout for image scanning. Defaults to 'Interval'
                        duration.
                      type: string
                  type: object
                status:
                  description: ImageRepositoryStatus defines the observed state of
                    ImageRepository
                  properties:
                    canonicalImageName:
                      description: CanonicalName is the name of the image repository
                        with all the implied bits made explicit; e.g., `docker.io/library/alpine`
                        rather than `alpine`.
                      type: string
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    lastHandledReconcileAt:
                      description: LastHandledReconcileAt holds the value of the most
                        recent reconcile request value, so a change can be detected.
                      type: string
                    lastScanResult:
                      description: LastScanResult contains the number of fetched tags.
                      properties:
                        scanTime:
                          format: date-time
                          type: string
                        tagCount:
                          type: integer
                      required:
                      - tagCount
                      type: object
                    observedGeneration:
                      description: ObservedGeneration is the last reconciled generation.
                      format: int64
                      type: integer
                  type: object
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    type: raw
  - name: imageupdateautomations.image.toolkit.fluxcd.io
    properties:
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
        annotations:
          controller-gen.kubebuilder.io/version: v0.5.0
        labels:
          app.kubernetes.io/instance: flux-system
        name: imageupdateautomations.image.toolkit.fluxcd.io
      spec:
        group: image.toolkit.fluxcd.io
        names:
          kind: ImageUpdateAutomation
          listKind: ImageUpdateAutomationList
          plural: imageupdateautomations
          singular: imageupdateautomation
        scope: Namespaced
        versions:
        - additionalPrinterColumns:
          - jsonPath: .status.lastAutomationRunTime
            name: Last run
            type: string
          name: v1alpha1
          schema:
            openAPIV3Schema:
              description: ImageUpdateAutomation is the Schema for the imageupdateautomations
                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: ImageUpdateAutomationSpec defines the desired state
                    of ImageUpdateAutomation
                  properties:
                    checkout:
                      description: Checkout gives the parameters for cloning the git
                        repository, ready to make changes.
                      properties:
                        branch:
                          description: Branch gives the branch to clone from the git
                            repository. If `.spec.push` is not supplied, commits will
                            also be pushed to this branch.
                          type: string
                        gitRepositoryRef:
                          description: GitRepositoryRef refers to the resource giving
                            access details to a git repository to update files in.
                          properties:
                            name:
                              description: Name of the referent
                              type: string
                          required:
                          - name
                          type: object
                      required:
                      - branch
                      - gitRepositoryRef
                      type: object
                    commit:
                      description: Commit specifies how to commit to the git repository.
                      properties:
                        authorEmail:
                          description: AuthorEmail gives the email to provide when
                            making a commit
                          type: string
                        authorName:
                          description: AuthorName gives the name to provide when making
                            a commit
                          type: string
                        messageTemplate:
                          description: MessageTemplate provides a template for the
                            commit message, into which will be interpolated the details
                            of the change made.
                          type: string
                        signingKey:
                          description: SigningKey provides the option to sign commits
                            with a GPG key
                          properties:
                            secretRef:
                              description: SecretRef holds the name to a secret that
                                contains a 'git.asc' key corresponding to the ASCII
                                Armored file containing the GPG signing keypair as
                                the value. It must be in the same namespace as the
                                ImageUpdateAutomation.
                              properties:
                                name:
                                  description: Name of the referent
                                  type: string
                              required:
                              - name
                              type: object
                          type: object
                      required:
                      - authorEmail
                      - authorName
                      type: object
                    interval:
                      description: Interval gives an lower bound for how often the
                        automation run should be attempted.
                      type: string
                    push:
                      description: Push specifies how and where to push commits made
                        by the automation. If missing, commits are pushed (back) to
                        `.spec.checkout.branch`.
                      properties:
                        branch:
                          description: Branch specifies that commits should be pushed
                            to the branch named. The branch is created using `.spec.checkout.branch`
                            as the starting point, if it doesn't already exist.
                          type: string
                      required:
                      - branch
                      type: object
                    suspend:
                      description: Suspend tells the controller to not run this automation,
                        until it is unset (or set to false). Defaults to false.
                      type: boolean
                    update:
                      default:
                        strategy: Setters
                      description: Update gives the specification for how to update
                        the files in the repository. This can be left empty, to use
                        the default value.
                      properties:
                        path:
                          description: Path to the directory containing the manifests
                            to be updated. Defaults to 'None', which translates to
                            the root path of the GitRepositoryRef.
                          type: string
                        strategy:
                          default: Setters
                          description: Strategy names the strategy to be used.
                          enum:
                          - Setters
                          type: string
                      required:
                      - strategy
                      type: object
                  required:
                  - checkout
                  - commit
                  - interval
                  type: object
                status:
                  description: ImageUpdateAutomationStatus defines the observed state
                    of ImageUpdateAutomation
                  properties:
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    lastAutomationRunTime:
                      description: LastAutomationRunTime records the last time the
                        controller ran this automation through to completion (even
                        if no updates were made).
                      format: date-time
                      type: string
                    lastHandledReconcileAt:
                      description: LastHandledReconcileAt holds the value of the most
                        recent reconcile request value, so a change can be detected.
                      type: string
                    lastPushCommit:
                      description: LastPushCommit records the SHA1 of the last commit
                        made by the controller, for this automation object
                      type: string
                    lastPushTime:
                      description: LastPushTime records the time of the last pushed
                        change.
                      format: date-time
                      type: string
                    observedGeneration:
                      format: int64
                      type: integer
                  type: object
              type: object
          served: true
          storage: false
          subresources:
            status: {}
        - additionalPrinterColumns:
          - jsonPath: .status.lastAutomationRunTime
            name: Last run
            type: string
          name: v1alpha2
          schema:
            openAPIV3Schema:
              description: ImageUpdateAutomation is the Schema for the imageupdateautomations
                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: ImageUpdateAutomationSpec defines the desired state
                    of ImageUpdateAutomation
                  properties:
                    git:
                      description: GitSpec contains all the git-specific definitions.
                        This is technically optional, but in practice mandatory until
                        there are other kinds of source allowed.
                      properties:
                        checkout:
                          description: Checkout gives the parameters for cloning the
                            git repository, ready to make changes. If not present,
                            the `spec.ref` field from the referenced `GitRepository`
                            or its default will be used.
                          properties:
                            ref:
                              description: Reference gives a branch, tag or commit
                                to clone from the Git repository.
                              properties:
                                branch:
                                  default: master
                                  description: The Git branch to checkout, defaults
                                    to master.
                                  type: string
                                commit:
                                  description: The Git commit SHA to checkout, if
                                    specified Tag filters will be ignored.
                                  type: string
                                semver:
                                  description: The Git tag semver expression, takes
                                    precedence over Tag.
                                  type: string
                                tag:
                                  description: The Git tag to checkout, takes precedence
                                    over Branch.
                                  type: string
                              type: object
                          required:
                          - ref
                          type: object
                        commit:
                          description: Commit specifies how to commit to the git repository.
                          properties:
                            author:
                              description: Author gives the email and optionally the
                                name to use as the author of commits.
                              properties:
                                email:
                                  description: Email gives the email to provide when
                                    making a commit.
                                  type: string
                                name:
                                  description: Name gives the name to provide when
                                    making a commit.
                                  type: string
                              required:
                              - email
                              type: object
                            messageTemplate:
                              description: MessageTemplate provides a template for
                                the commit message, into which will be interpolated
                                the details of the change made.
                              type: string
                            signingKey:
                              description: SigningKey provides the option to sign
                                commits with a GPG key
                              properties:
                                secretRef:
                                  description: SecretRef holds the name to a secret
                                    that contains a 'git.asc' key corresponding to
                                    the ASCII Armored file containing the GPG signing
                                    keypair as the value. It must be in the same namespace
                                    as the ImageUpdateAutomation.
                                  properties:
                                    name:
                                      description: Name of the referent
                                      type: string
                                  required:
                                  - name
                                  type: object
                              type: object
                          required:
                          - author
                          type: object
                        push:
                          description: Push specifies how and where to push commits
                            made by the automation. If missing, commits are pushed
                            (back) to `.spec.checkout.branch` or its default.
                          properties:
                            branch:
                              description: Branch specifies that commits should be
                                pushed to the branch named. The branch is created
                                using `.spec.checkout.branch` as the starting point,
                                if it doesn't already exist.
                              type: string
                          required:
                          - branch
                          type: object
                      required:
                      - commit
                      type: object
                    interval:
                      description: Interval gives an lower bound for how often the
                        automation run should be attempted.
                      type: string
                    sourceRef:
                      description: SourceRef refers to the resource giving access
                        details to a git repository.
                      properties:
                        apiVersion:
                          description: API version of the referent
                          type: string
                        kind:
                          default: GitRepository
                          description: Kind of the referent
                          enum:
                          - GitRepository
                          type: string
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - kind
                      - name
                      type: object
                    suspend:
                      description: Suspend tells the controller to not run this automation,
                        until it is unset (or set to false). Defaults to false.
                      type: boolean
                    update:
                      default:
                        strategy: Setters
                      description: Update gives the specification for how to update
                        the files in the repository. This can be left empty, to use
                        the default value.
                      properties:
                        path:
                          description: Path to the directory containing the manifests
                            to be updated. Defaults to 'None', which translates to
                            the root path of the GitRepositoryRef.
                          type: string
                        strategy:
                          default: Setters
                          description: Strategy names the strategy to be used.
                          enum:
                          - Setters
                          type: string
                      required:
                      - strategy
                      type: object
                  required:
                  - interval
                  - sourceRef
                  type: object
                status:
                  description: ImageUpdateAutomationStatus defines the observed state
                    of ImageUpdateAutomation
                  properties:
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    lastAutomationRunTime:
                      description: LastAutomationRunTime records the last time the
                        controller ran this automation through to completion (even
                        if no updates were made).
                      format: date-time
                      type: string
                    lastHandledReconcileAt:
                      description: LastHandledReconcileAt holds the value of the most
                        recent reconcile request value, so a change can be detected.
                      type: string
                    lastPushCommit:
                      description: LastPushCommit records the SHA1 of the last commit
                        made by the controller, for this automation object
                      type: string
                    lastPushTime:
                      description: LastPushTime records the time of the last pushed
                        change.
                      format: date-time
                      type: string
                    observedGeneration:
                      format: int64
                      type: integer
                  type: object
              type: object
          served: true
          storage: false
          subresources:
            status: {}
        - additionalPrinterColumns:
          - jsonPath: .status.lastAutomationRunTime
            name: Last run
            type: string
          name: v1beta1
          schema:
            openAPIV3Schema:
              description: ImageUpdateAutomation is the Schema for the imageupdateautomations
                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: ImageUpdateAutomationSpec defines the desired state
                    of ImageUpdateAutomation
                  properties:
                    git:
                      description: GitSpec contains all the git-specific definitions.
                        This is technically optional, but in practice mandatory until
                        there are other kinds of source allowed.
                      properties:
                        checkout:
                          description: Checkout gives the parameters for cloning the
                            git repository, ready to make changes. If not present,
                            the `spec.ref` field from the referenced `GitRepository`
                            or its default will be used.
                          properties:
                            ref:
                              description: Reference gives a branch, tag or commit
                                to clone from the Git repository.
                              properties:
                                branch:
                                  default: master
                                  description: The Git branch to checkout, defaults
                                    to master.
                                  type: string
                                commit:
                                  description: The Git commit SHA to checkout, if
                                    specified Tag filters will be ignored.
                                  type: string
                                semver:
                                  description: The Git tag semver expression, takes
                                    precedence over Tag.
                                  type: string
                                tag:
                                  description: The Git tag to checkout, takes precedence
                                    over Branch.
                                  type: string
                              type: object
                          required:
                          - ref
                          type: object
                        commit:
                          description: Commit specifies how to commit to the git repository.
                          properties:
                            author:
                              description: Author gives the email and optionally the
                                name to use as the author of commits.
                              properties:
                                email:
                                  description: Email gives the email to provide when
                                    making a commit.
                                  type: string
                                name:
                                  description: Name gives the name to provide when
                                    making a commit.
                                  type: string
                              required:
                              - email
                              type: object
                            messageTemplate:
                              description: MessageTemplate provides a template for
                                the commit message, into which will be interpolated
                                the details of the change made.
                              type: string
                            signingKey:
                              description: SigningKey provides the option to sign
                                commits with a GPG key
                              properties:
                                secretRef:
                                  description: SecretRef holds the name to a secret
                                    that contains a 'git.asc' key corresponding to
                                    the ASCII Armored file containing the GPG signing
                                    keypair as the value. It must be in the same namespace
                                    as the ImageUpdateAutomation.
                                  properties:
                                    name:
                                      description: Name of the referent
                                      type: string
                                  required:
                                  - name
                                  type: object
                              type: object
                          required:
                          - author
                          type: object
                        push:
                          description: Push specifies how and where to push commits
                            made by the automation. If missing, commits are pushed
                            (back) to `.spec.checkout.branch` or its default.
                          properties:
                            branch:
                              description: Branch specifies that commits should be
                                pushed to the branch named. The branch is created
                                using `.spec.checkout.branch` as the starting point,
                                if it doesn't already exist.
                              type: string
                          required:
                          - branch
                          type: object
                      required:
                      - commit
                      type: object
                    interval:
                      description: Interval gives an lower bound for how often the
                        automation run should be attempted.
                      type: string
                    sourceRef:
                      description: SourceRef refers to the resource giving access
                        details to a git repository.
                      properties:
                        apiVersion:
                          description: API version of the referent
                          type: string
                        kind:
                          default: GitRepository
                          description: Kind of the referent
                          enum:
                          - GitRepository
                          type: string
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - kind
                      - name
                      type: object
                    suspend:
                      description: Suspend tells the controller to not run this automation,
                        until it is unset (or set to false). Defaults to false.
                      type: boolean
                    update:
                      default:
                        strategy: Setters
                      description: Update gives the specification for how to update
                        the files in the repository. This can be left empty, to use
                        the default value.
                      properties:
                        path:
                          description: Path to the directory containing the manifests
                            to be updated. Defaults to 'None', which translates to
                            the root path of the GitRepositoryRef.
                          type: string
                        strategy:
                          default: Setters
                          description: Strategy names the strategy to be used.
                          enum:
                          - Setters
                          type: string
                      required:
                      - strategy
                      type: object
                  required:
                  - interval
                  - sourceRef
                  type: object
                status:
                  description: ImageUpdateAutomationStatus defines the observed state
                    of ImageUpdateAutomation
                  properties:
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    lastAutomationRunTime:
                      description: LastAutomationRunTime records the last time the
                        controller ran this automation through to completion (even
                        if no updates were made).
                      format: date-time
                      type: string
                    lastHandledReconcileAt:
                      description: LastHandledReconcileAt holds the value of the most
                        recent reconcile request value, so a change can be detected.
                      type: string
                    lastPushCommit:
                      description: LastPushCommit records the SHA1 of the last commit
                        made by the controller, for this automation object
                      type: string
                    lastPushTime:
                      description: LastPushTime records the time of the last pushed
                        change.
                      format: date-time
                      type: string
                    observedGeneration:
                      format: int64
                      type: integer
                  type: object
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    type: raw
  - name: kustomizations.kustomize.toolkit.fluxcd.io
    properties:
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
        annotations:
          controller-gen.kubebuilder.io/version: v0.5.0
        labels:
          app.kubernetes.io/instance: flux-system
        name: kustomizations.kustomize.toolkit.fluxcd.io
      spec:
        group: kustomize.toolkit.fluxcd.io
        names:
          kind: Kustomization
          listKind: KustomizationList
          plural: kustomizations
          shortNames:
          - ks
          singular: kustomization
        scope: Namespaced
        versions:
        - additionalPrinterColumns:
          - jsonPath: .status.conditions[?(@.type=="Ready")].status
            name: Ready
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].message
            name: Status
            type: string
          - jsonPath: .metadata.creationTimestamp
            name: Age
            type: date
          name: v1beta1
          schema:
            openAPIV3Schema:
              description: Kustomization is the Schema for the kustomizations 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: KustomizationSpec defines the desired state of a kustomization.
                  properties:
                    decryption:
                      description: Decrypt Kubernetes secrets before applying them
                        on the cluster.
                      properties:
                        provider:
                          description: Provider is the name of the decryption engine.
                          enum:
                          - sops
                          type: string
                        secretRef:
                          description: The secret name containing the private OpenPGP
                            keys used for decryption.
                          properties:
                            name:
                              description: Name of the referent
                              type: string
                          required:
                          - name
                          type: object
                      required:
                      - provider
                      type: object
                    dependsOn:
                      description: DependsOn may contain a dependency.CrossNamespaceDependencyReference
                        slice with references to Kustomization resources that must
                        be ready before this Kustomization can be reconciled.
                      items:
                        description: CrossNamespaceDependencyReference holds the reference
                          to a dependency.
                        properties:
                          name:
                            description: Name holds the name reference of a dependency.
                            type: string
                          namespace:
                            description: Namespace holds the namespace reference of
                              a dependency.
                            type: string
                        required:
                        - name
                        type: object
                      type: array
                    force:
                      default: false
                      description: Force instructs the controller to recreate resources
                        when patching fails due to an immutable field change.
                      type: boolean
                    healthChecks:
                      description: A list of resources to be included in the health
                        assessment.
                      items:
                        description: NamespacedObjectKindReference contains enough
                          information to let you locate the typed referenced object
                          in any namespace
                        properties:
                          apiVersion:
                            description: API version of the referent, if not specified
                              the Kubernetes preferred version will be used
                            type: string
                          kind:
                            description: Kind of the referent
                            type: string
                          name:
                            description: Name of the referent
                            type: string
                          namespace:
                            description: Namespace of the referent, when not specified
                              it acts as LocalObjectReference
                            type: string
                        required:
                        - kind
                        - name
                        type: object
                      type: array
                    images:
                      description: Images is a list of (image name, new name, new
                        tag or digest) for changing image names, tags or digests.
                        This can also be achieved with a patch, but this operator
                        is simpler to specify.
                      items:
                        description: Image contains an image name, a new name, a new
                          tag or digest, which will replace the original name and
                          tag.
                        properties:
                          digest:
                            description: Digest is the value used to replace the original
                              image tag. If digest is present NewTag value is ignored.
                            type: string
                          name:
                            description: Name is a tag-less image name.
                            type: string
                          newName:
                            description: NewName is the value used to replace the
                              original name.
                            type: string
                          newTag:
                            description: NewTag is the value used to replace the original
                              tag.
                            type: string
                        required:
                        - name
                        type: object
                      type: array
                    interval:
                      description: The interval at which to reconcile the Kustomization.
                      type: string
                    kubeConfig:
                      description: The KubeConfig for reconciling the Kustomization
                        on a remote cluster. When specified, KubeConfig takes precedence
                        over ServiceAccountName.
                      properties:
                        secretRef:
                          description: SecretRef holds the name to a secret that contains
                            a 'value' key with the kubeconfig file as the value. It
                            must be in the same namespace as the Kustomization. It
                            is recommended that the kubeconfig is self-contained,
                            and the secret is regularly updated if credentials such
                            as a cloud-access-token expire. Cloud specific `cmd-path`
                            auth helpers will not function without adding binaries
                            and credentials to the Pod that is responsible for reconciling
                            the Kustomization.
                          properties:
                            name:
                              description: Name of the referent
                              type: string
                          required:
                          - name
                          type: object
                      type: object
                    patches:
                      description: Strategic merge and JSON patches, defined as inline
                        YAML objects, capable of targeting objects based on kind,
                        label and annotation selectors.
                      items:
                        description: Patch contains either a StrategicMerge or a JSON6902
                          patch, either a file or inline, and the target the patch
                          should be applied to.
                        properties:
                          patch:
                            description: Patch contains the JSON6902 patch document
                              with an array of operation objects.
                            type: string
                          target:
                            description: Target points to the resources that the patch
                              document should be applied to.
                            properties:
                              annotationSelector:
                                description: AnnotationSelector is a string that follows
                                  the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
                                  It matches with the resource annotations.
                                type: string
                              group:
                                description: Group is the API group to select resources
                                  from. Together with Version and Kind it is capable
                                  of unambiguously identifying and/or selecting resources.
                                  https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
                                type: string
                              kind:
                                description: Kind of the API Group to select resources
                                  from. Together with Group and Version it is capable
                                  of unambiguously identifying and/or selecting resources.
                                  https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
                                type: string
                              labelSelector:
                                description: LabelSelector is a string that follows
                                  the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
                                  It matches with the resource labels.
                                type: string
                              name:
                                description: Name to match resources with.
                                type: string
                              namespace:
                                description: Namespace to select resources from.
                                type: string
                              version:
                                description: Version of the API Group to select resources
                                  from. Together with Group and Kind it is capable
                                  of unambiguously identifying and/or selecting resources.
                                  https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
                                type: string
                            type: object
                        type: object
                      type: array
                    patchesJson6902:
                      description: JSON 6902 patches, defined as inline YAML objects.
                      items:
                        description: JSON6902Patch contains a JSON6902 patch and the
                          target the patch should be applied to.
                        properties:
                          patch:
                            description: Patch contains the JSON6902 patch document
                              with an array of operation objects.
                            items:
                              description: JSON6902 is a JSON6902 operation object.
                                https://tools.ietf.org/html/rfc6902#section-4
                              properties:
                                from:
                                  type: string
                                op:
                                  enum:
                                  - test
                                  - remove
                                  - add
                                  - replace
                                  - move
                                  - copy
                                  type: string
                                path:
                                  type: string
                                value:
                                  x-kubernetes-preserve-unknown-fields: true
                              required:
                              - op
                              - path
                              type: object
                            type: array
                          target:
                            description: Target points to the resources that the patch
                              document should be applied to.
                            properties:
                              annotationSelector:
                                description: AnnotationSelector is a string that follows
                                  the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
                                  It matches with the resource annotations.
                                type: string
                              group:
                                description: Group is the API group to select resources
                                  from. Together with Version and Kind it is capable
                                  of unambiguously identifying and/or selecting resources.
                                  https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
                                type: string
                              kind:
                                description: Kind of the API Group to select resources
                                  from. Together with Group and Version it is capable
                                  of unambiguously identifying and/or selecting resources.
                                  https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
                                type: string
                              labelSelector:
                                description: LabelSelector is a string that follows
                                  the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
                                  It matches with the resource labels.
                                type: string
                              name:
                                description: Name to match resources with.
                                type: string
                              namespace:
                                description: Namespace to select resources from.
                                type: string
                              version:
                                description: Version of the API Group to select resources
                                  from. Together with Group and Kind it is capable
                                  of unambiguously identifying and/or selecting resources.
                                  https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
                                type: string
                            type: object
                        required:
                        - patch
                        - target
                        type: object
                      type: array
                    patchesStrategicMerge:
                      description: Strategic merge patches, defined as inline YAML
                        objects.
                      items:
                        x-kubernetes-preserve-unknown-fields: true
                      type: array
                    path:
                      description: Path to the directory containing the kustomization.yaml
                        file, or the set of plain YAMLs a kustomization.yaml should
                        be generated for. Defaults to 'None', which translates to
                        the root path of the SourceRef.
                      type: string
                    postBuild:
                      description: PostBuild describes which actions to perform on
                        the YAML manifest generated by building the kustomize overlay.
                      properties:
                        substitute:
                          additionalProperties:
                            type: string
                          description: Substitute holds a map of key/value pairs.
                            The variables defined in your YAML manifests that match
                            any of the keys defined in the map will be substituted
                            with the set value. Includes support for bash string replacement
                            functions e.g. ${var:=default}, ${var:position} and ${var/substring/replacement}.
                          type: object
                        substituteFrom:
                          description: SubstituteFrom holds references to ConfigMaps
                            and Secrets containing the variables and their values
                            to be substituted in the YAML manifests. The ConfigMap
                            and the Secret data keys represent the var names and they
                            must match the vars declared in the manifests for the
                            substitution to happen.
                          items:
                            description: SubstituteReference contains a reference
                              to a resource containing the variables name and value.
                            properties:
                              kind:
                                description: Kind of the values referent, valid values
                                  are ('Secret', 'ConfigMap').
                                enum:
                                - Secret
                                - ConfigMap
                                type: string
                              name:
                                description: Name of the values referent. Should reside
                                  in the same namespace as the referring resource.
                                maxLength: 253
                                minLength: 1
                                type: string
                            required:
                            - kind
                            - name
                            type: object
                          type: array
                      type: object
                    prune:
                      description: Prune enables garbage collection.
                      type: boolean
                    retryInterval:
                      description: The interval at which to retry a previously failed
                        reconciliation. When not specified, the controller uses the
                        KustomizationSpec.Interval value to retry failures.
                      type: string
                    serviceAccountName:
                      description: The name of the Kubernetes service account to impersonate
                        when reconciling this Kustomization.
                      type: string
                    sourceRef:
                      description: Reference of the source where the kustomization
                        file is.
                      properties:
                        apiVersion:
                          description: API version of the referent
                          type: string
                        kind:
                          description: Kind of the referent
                          enum:
                          - GitRepository
                          - Bucket
                          type: string
                        name:
                          description: Name of the referent
                          type: string
                        namespace:
                          description: Namespace of the referent, defaults to the
                            Kustomization namespace
                          type: string
                      required:
                      - kind
                      - name
                      type: object
                    suspend:
                      description: This flag tells the controller to suspend subsequent
                        kustomize executions, it does not apply to already started
                        executions. Defaults to false.
                      type: boolean
                    targetNamespace:
                      description: TargetNamespace sets or overrides the namespace
                        in the kustomization.yaml file.
                      maxLength: 63
                      minLength: 1
                      type: string
                    timeout:
                      description: Timeout for validation, apply and health checking
                        operations. Defaults to 'Interval' duration.
                      type: string
                    validation:
                      description: Validate the Kubernetes objects before applying
                        them on the cluster. The validation strategy can be 'client'
                        (local dry-run), 'server' (APIServer dry-run) or 'none'. When
                        'Force' is 'true', validation will fallback to 'client' if
                        set to 'server' because server-side validation is not supported
                        in this scenario.
                      enum:
                      - none
                      - client
                      - server
                      type: string
                  required:
                  - interval
                  - prune
                  - sourceRef
                  type: object
                status:
                  description: KustomizationStatus defines the observed state of a
                    kustomization.
                  properties:
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    lastAppliedRevision:
                      description: The last successfully applied revision. The revision
                        format for Git sources is <branch|tag>/<commit-sha>.
                      type: string
                    lastAttemptedRevision:
                      description: LastAttemptedRevision is the revision of the last
                        reconciliation attempt.
                      type: string
                    lastHandledReconcileAt:
                      description: LastHandledReconcileAt holds the value of the most
                        recent reconcile request value, so a change can be detected.
                      type: string
                    observedGeneration:
                      description: ObservedGeneration is the last reconciled generation.
                      format: int64
                      type: integer
                    snapshot:
                      description: The last successfully applied revision metadata.
                      properties:
                        checksum:
                          description: The manifests sha1 checksum.
                          type: string
                        entries:
                          description: A list of Kubernetes kinds grouped by namespace.
                          items:
                            description: Snapshot holds the metadata of namespaced
                              Kubernetes objects
                            properties:
                              kinds:
                                additionalProperties:
                                  type: string
                                description: The list of Kubernetes kinds.
                                type: object
                              namespace:
                                description: The namespace of this entry.
                                type: string
                            required:
                            - kinds
                            type: object
                          type: array
                      required:
                      - checksum
                      - entries
                      type: object
                  type: object
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    type: raw
  - name: providers.notification.toolkit.fluxcd.io
    properties:
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
        annotations:
          controller-gen.kubebuilder.io/version: v0.5.0
        labels:
          app.kubernetes.io/instance: flux-system
        name: providers.notification.toolkit.fluxcd.io
      spec:
        group: notification.toolkit.fluxcd.io
        names:
          kind: Provider
          listKind: ProviderList
          plural: providers
          singular: provider
        scope: Namespaced
        versions:
        - additionalPrinterColumns:
          - jsonPath: .status.conditions[?(@.type=="Ready")].status
            name: Ready
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].message
            name: Status
            type: string
          - jsonPath: .metadata.creationTimestamp
            name: Age
            type: date
          name: v1beta1
          schema:
            openAPIV3Schema:
              description: Provider is the Schema for the providers 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: ProviderSpec defines the desired state of Provider
                  properties:
                    address:
                      description: HTTP/S webhook address of this provider
                      pattern: ^(http|https)://
                      type: string
                    certSecretRef:
                      description: CertSecretRef can be given the name of a secret
                        containing a PEM-encoded CA certificate (`caFile`)
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    channel:
                      description: Alert channel for this provider
                      type: string
                    proxy:
                      description: HTTP/S address of the proxy
                      pattern: ^(http|https)://
                      type: string
                    secretRef:
                      description: Secret reference containing the provider webhook
                        URL using "address" as data key
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    type:
                      description: Type of provider
                      enum:
                      - slack
                      - discord
                      - msteams
                      - rocket
                      - generic
                      - github
                      - gitlab
                      - bitbucket
                      - azuredevops
                      - googlechat
                      - webex
                      - sentry
                      - azureeventhub
                      type: string
                    username:
                      description: Bot username for this provider
                      type: string
                  required:
                  - type
                  type: object
                status:
                  description: ProviderStatus defines the observed state of Provider
                  properties:
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                  type: object
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    type: raw
  - name: receivers.notification.toolkit.fluxcd.io
    properties:
      apiVersion: apiextensions.k8s.io/v1
      kind: CustomResourceDefinition
      metadata:
        annotations:
          controller-gen.kubebuilder.io/version: v0.5.0
        labels:
          app.kubernetes.io/instance: flux-system
        name: receivers.notification.toolkit.fluxcd.io
      spec:
        group: notification.toolkit.fluxcd.io
        names:
          kind: Receiver
          listKind: ReceiverList
          plural: receivers
          singular: receiver
        scope: Namespaced
        versions:
        - additionalPrinterColumns:
          - jsonPath: .status.conditions[?(@.type=="Ready")].status
            name: Ready
            type: string
          - jsonPath: .status.conditions[?(@.type=="Ready")].message
            name: Status
            type: string
          - jsonPath: .metadata.creationTimestamp
            name: Age
            type: date
          name: v1beta1
          schema:
            openAPIV3Schema:
              description: Receiver is the Schema for the receivers 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: ReceiverSpec defines the desired state of Receiver
                  properties:
                    events:
                      description: A list of events to handle, e.g. 'push' for GitHub
                        or 'Push Hook' for GitLab.
                      items:
                        type: string
                      type: array
                    resources:
                      description: A list of resources to be notified about changes.
                      items:
                        description: CrossNamespaceObjectReference contains enough
                          information to let you locate the typed referenced object
                          at cluster level
                        properties:
                          apiVersion:
                            description: API version of the referent
                            type: string
                          kind:
                            description: Kind of the referent
                            enum:
                            - Bucket
                            - GitRepository
                            - Kustomization
                            - HelmRelease
                            - HelmChart
                            - HelmRepository
                            - ImageRepository
                            - ImagePolicy
                            - ImageUpdateAutomation
                            type: string
                          name:
                            description: Name of the referent
                            maxLength: 53
                            minLength: 1
                            type: string
                          namespace:
                            description: Namespace of the referent
                            maxLength: 53
                            minLength: 1
                            type: string
                        required:
                        - name
                        type: object
                      type: array
                    secretRef:
                      description: Secret reference containing the token used to validate
                        the payload authenticity
                      properties:
                        name:
                          description: Name of the referent
                          type: string
                      required:
                      - name
                      type: object
                    suspend:
                      description: This flag tells the controller to suspend subsequent
                        events handling. Defaults to false.
                      type: boolean
                    type:
                      description: Type of webhook sender, used to determine the validation
                        procedure and payload deserialization.
                      enum:
                      - generic
                      - generic-hmac
                      - github
                      - gitlab
                      - bitbucket
                      - harbor
                      - dockerhub
                      - quay
                      - gcr
                      - nexus
                      - acr
                      type: string
                  required:
                  - resources
                  - type
                  type: object
                status:
                  description: ReceiverStatus defines the observed state of Receiver
                  properties:
                    conditions:
                      items:
                        description: "Condition contains details for one aspect of
                          the current state of this API Resource. --- This struct
                          is intended for direct use as an array at the field path
                          .status.conditions.  For example, type FooStatus struct{
                          \    // Represents the observations of a foo's current state.
                          \    // Known .status.conditions.type are: \"Available\",
                          \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
                          \    // +patchStrategy=merge     // +listType=map     //
                          +listMapKey=type     Conditions []metav1.Condition `json:\"conditions,omitempty\"
                          patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
                          \n     // other fields }"
                        properties:
                          lastTransitionTime:
                            description: lastTransitionTime is the last time the condition
                              transitioned from one status to another. This should
                              be when the underlying condition changed.  If that is
                              not known, then using the time when the API field changed
                              is acceptable.
                            format: date-time
                            type: string
                          message:
                            description: message is a human readable message indicating
                              details about the transition. This may be an empty string.
                            maxLength: 32768
                            type: string
                          observedGeneration:
                            description: observedGeneration represents the .metadata.generation
                              that the condition was set based upon. For instance,
                              if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration
                              is 9, the condition is out of date with respect to the
                              current state of the instance.
                            format: int64
                            minimum: 0
                            type: integer
                          reason:
                            description: reason contains a programmatic identifier
                              indicating the reason for the condition's last transition.
                              Producers of specific condition types may define expected
                              values and meanings for this field, and whether the
                              values are considered a guaranteed API. The value should
                              be a CamelCase string. This field may not be empty.
                            maxLength: 1024
                            minLength: 1
                            pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
                            type: string
                          status:
                            description: status of the condition, one of True, False,
                              Unknown.
                            enum:
                            - "True"
                            - "False"
                            - Unknown
                            type: string
                          type:
                            description: type of condition in CamelCase or in foo.example.com/CamelCase.
                              --- Many .condition.type values are consistent across
                              resources like Available, but because arbitrary conditions
                              can be useful (see .node.status.conditions), the ability
                              to deconflict is important. The regex it matches is
                              (dns1123SubdomainFmt/)?(qualifiedNameFmt)
                            maxLength: 316
                            pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
                            type: string
                        required:
                        - lastTransitionTime
                        - message
                        - reason
                        - status
                        - type
                        type: object
                      type: array
                    observedGeneration:
                      description: ObservedGeneration is the last observed generation.
                      format: int64
                      type: integer
                    url:
                      description: Generated webhook URL in the format of '/hook/sha256sum(token+name+namespace)'.
                      type: string
                  type: object
              type: object
          served: true
          storage: true
          subresources:
            status: {}
    type: raw
  - name: helm-controller
    properties:
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
          control-plane: controller
        name: helm-controller
        namespace: flux-system
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: helm-controller
        template:
          metadata:
            annotations:
              prometheus.io/port: "8080"
              prometheus.io/scrape: "true"
            labels:
              app: helm-controller
          spec:
            containers:
            - args:
              - --events-addr=http://notification-controller/
              - --watch-all-namespaces
              - --log-level=info
              - --log-encoding=json
              - --enable-leader-election
              env:
              - name: RUNTIME_NAMESPACE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
              image: fluxcd/helm-controller:v0.11.1
              imagePullPolicy: IfNotPresent
              livenessProbe:
                httpGet:
                  path: /healthz
                  port: healthz
              name: manager
              ports:
              - containerPort: 8080
                name: http-prom
              - containerPort: 9440
                name: healthz
                protocol: TCP
              readinessProbe:
                httpGet:
                  path: /readyz
                  port: healthz
              resources:
                limits:
                  cpu: 1000m
                  memory: 1Gi
                requests:
                  cpu: 100m
                  memory: 64Mi
              securityContext:
                allowPrivilegeEscalation: false
                readOnlyRootFilesystem: true
              volumeMounts:
              - mountPath: /tmp
                name: temp
            serviceAccountName: sa-helm-controller
            terminationGracePeriodSeconds: 600
            volumes:
            - emptyDir: {}
              name: temp
    type: raw
  - name: image-automation-controller
    properties:
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
          control-plane: controller
        name: image-automation-controller
        namespace: flux-system
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: image-automation-controller
        template:
          metadata:
            annotations:
              prometheus.io/port: "8080"
              prometheus.io/scrape: "true"
            labels:
              app: image-automation-controller
          spec:
            containers:
            - args:
              - --events-addr=http://notification-controller/
              - --watch-all-namespaces
              - --log-level=info
              - --log-encoding=json
              - --enable-leader-election
              env:
              - name: RUNTIME_NAMESPACE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
              image: fluxcd/image-automation-controller:v0.14.0
              imagePullPolicy: IfNotPresent
              livenessProbe:
                httpGet:
                  path: /healthz
                  port: healthz
              name: manager
              ports:
              - containerPort: 8080
                name: http-prom
              - containerPort: 9440
                name: healthz
                protocol: TCP
              readinessProbe:
                httpGet:
                  path: /readyz
                  port: healthz
              resources:
                limits:
                  cpu: 1000m
                  memory: 1Gi
                requests:
                  cpu: 100m
                  memory: 64Mi
              securityContext:
                allowPrivilegeEscalation: false
                readOnlyRootFilesystem: true
              volumeMounts:
              - mountPath: /tmp
                name: temp
            securityContext:
              fsGroup: 1337
            serviceAccountName: sa-image-automation-controller
            terminationGracePeriodSeconds: 10
            volumes:
            - emptyDir: {}
              name: temp
    type: raw
  - name: image-reflector-controller
    properties:
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
          control-plane: controller
        name: image-reflector-controller
        namespace: flux-system
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: image-reflector-controller
        template:
          metadata:
            annotations:
              prometheus.io/port: "8080"
              prometheus.io/scrape: "true"
            labels:
              app: image-reflector-controller
          spec:
            containers:
            - args:
              - --events-addr=http://notification-controller/
              - --watch-all-namespaces
              - --log-level=info
              - --log-encoding=json
              - --enable-leader-election
              env:
              - name: RUNTIME_NAMESPACE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
              image: fluxcd/image-reflector-controller:v0.11.0
              imagePullPolicy: IfNotPresent
              livenessProbe:
                httpGet:
                  path: /healthz
                  port: healthz
              name: manager
              ports:
              - containerPort: 8080
                name: http-prom
              - containerPort: 9440
                name: healthz
                protocol: TCP
              readinessProbe:
                httpGet:
                  path: /readyz
                  port: healthz
              resources:
                limits:
                  cpu: 1000m
                  memory: 1Gi
                requests:
                  cpu: 100m
                  memory: 64Mi
              securityContext:
                allowPrivilegeEscalation: false
                readOnlyRootFilesystem: true
              volumeMounts:
              - mountPath: /tmp
                name: temp
              - mountPath: /data
                name: data
            securityContext:
              fsGroup: 1337
            serviceAccountName: sa-image-reflector-controller
            terminationGracePeriodSeconds: 10
            volumes:
            - emptyDir: {}
              name: temp
            - emptyDir: {}
              name: data
    type: raw
  - name: kustomize-controller
    properties:
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
          control-plane: controller
        name: kustomize-controller
        namespace: flux-system
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: kustomize-controller
        template:
          metadata:
            annotations:
              prometheus.io/port: "8080"
              prometheus.io/scrape: "true"
            labels:
              app: kustomize-controller
          spec:
            containers:
            - args:
              - --events-addr=http://notification-controller/
              - --watch-all-namespaces
              - --log-level=info
              - --log-encoding=json
              - --enable-leader-election
              env:
              - name: RUNTIME_NAMESPACE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
              image: fluxcd/kustomize-controller:v0.13.1
              imagePullPolicy: IfNotPresent
              livenessProbe:
                httpGet:
                  path: /healthz
                  port: healthz
              name: manager
              ports:
              - containerPort: 8080
                name: http-prom
              - containerPort: 9440
                name: healthz
                protocol: TCP
              readinessProbe:
                httpGet:
                  path: /readyz
                  port: healthz
              resources:
                limits:
                  cpu: 1000m
                  memory: 1Gi
                requests:
                  cpu: 100m
                  memory: 64Mi
              securityContext:
                allowPrivilegeEscalation: false
                readOnlyRootFilesystem: true
              volumeMounts:
              - mountPath: /tmp
                name: temp
            securityContext:
              fsGroup: 1337
            serviceAccountName: sa-kustomize-controller
            terminationGracePeriodSeconds: 60
            volumes:
            - emptyDir: {}
              name: temp
    type: raw
  - name: flux-notification-controller
    properties:
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
          control-plane: controller
        name: flux-notification-controller
        namespace: flux-system
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: notification-controller
        template:
          metadata:
            annotations:
              prometheus.io/port: "8080"
              prometheus.io/scrape: "true"
            labels:
              app: notification-controller
          spec:
            containers:
            - args:
              - --watch-all-namespaces
              - --log-level=info
              - --log-encoding=json
              - --enable-leader-election
              env:
              - name: RUNTIME_NAMESPACE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
              image: fluxcd/notification-controller:v0.15.0
              imagePullPolicy: IfNotPresent
              livenessProbe:
                httpGet:
                  path: /healthz
                  port: healthz
              name: manager
              ports:
              - containerPort: 9090
                name: http
              - containerPort: 9292
                name: http-webhook
              - containerPort: 8080
                name: http-prom
              - containerPort: 9440
                name: healthz
                protocol: TCP
              readinessProbe:
                httpGet:
                  path: /readyz
                  port: healthz
              resources:
                limits:
                  cpu: 1000m
                  memory: 1Gi
                requests:
                  cpu: 100m
                  memory: 64Mi
              securityContext:
                allowPrivilegeEscalation: false
                readOnlyRootFilesystem: true
              volumeMounts:
              - mountPath: /tmp
                name: temp
            serviceAccountName: sa-notification-controller
            terminationGracePeriodSeconds: 10
            volumes:
            - emptyDir: {}
              name: temp
    type: raw
  - name: flux-source-controller
    properties:
      apiVersion: apps/v1
      kind: Deployment
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
          control-plane: controller
        name: flux-source-controller
        namespace: flux-system
      spec:
        replicas: 1
        selector:
          matchLabels:
            app: source-controller
        strategy:
          type: Recreate
        template:
          metadata:
            annotations:
              prometheus.io/port: "8080"
              prometheus.io/scrape: "true"
            labels:
              app: source-controller
          spec:
            containers:
            - args:
              - --events-addr=http://notification-controller/
              - --watch-all-namespaces
              - --log-level=info
              - --log-encoding=json
              - --enable-leader-election
              - --storage-path=/data
              - --storage-adv-addr=source-controller.$(RUNTIME_NAMESPACE).svc.cluster.local.
              env:
              - name: RUNTIME_NAMESPACE
                valueFrom:
                  fieldRef:
                    fieldPath: metadata.namespace
              image: fluxcd/source-controller:v0.15.3
              imagePullPolicy: IfNotPresent
              livenessProbe:
                httpGet:
                  path: /healthz
                  port: healthz
              name: manager
              ports:
              - containerPort: 9090
                name: http
              - containerPort: 8080
                name: http-prom
              - containerPort: 9440
                name: healthz
              readinessProbe:
                httpGet:
                  path: /
                  port: http
              resources:
                limits:
                  cpu: 1000m
                  memory: 1Gi
                requests:
                  cpu: 50m
                  memory: 64Mi
              securityContext:
                allowPrivilegeEscalation: false
                readOnlyRootFilesystem: true
              volumeMounts:
              - mountPath: /data
                name: data
              - mountPath: /tmp
                name: tmp
            securityContext:
              fsGroup: 1337
            serviceAccountName: sa-source-controller
            terminationGracePeriodSeconds: 10
            volumes:
            - emptyDir: {}
              name: data
            - emptyDir: {}
              name: tmp
    type: raw
  - name: allow-egress
    properties:
      apiVersion: networking.k8s.io/v1
      kind: NetworkPolicy
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
        name: allow-egress
        namespace: flux-system
      spec:
        egress:
        - {}
        ingress:
        - from:
          - podSelector: {}
        podSelector: {}
        policyTypes:
        - Ingress
        - Egress
    type: raw
  - name: allow-scraping
    properties:
      apiVersion: networking.k8s.io/v1
      kind: NetworkPolicy
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
        name: allow-scraping
        namespace: flux-system
      spec:
        ingress:
        - from:
          - namespaceSelector: {}
          ports:
          - port: 8080
            protocol: TCP
        podSelector: {}
        policyTypes:
        - Ingress
    type: raw
  - name: allow-webhooks
    properties:
      apiVersion: networking.k8s.io/v1
      kind: NetworkPolicy
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
        name: allow-webhooks
        namespace: flux-system
      spec:
        ingress:
        - from:
          - namespaceSelector: {}
        podSelector:
          matchLabels:
            app: notification-controller
        policyTypes:
        - Ingress
    type: raw
  - name: cluster-reconciler
    properties:
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
        name: cluster-reconciler
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: cluster-admin
      subjects:
      - kind: ServiceAccount
        name: sa-kustomize-controller
        namespace: flux-system
      - kind: ServiceAccount
        name: sa-helm-controller
        namespace: flux-system
    type: raw
  - name: crd-controller
    properties:
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRoleBinding
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
        name: crd-controller
      roleRef:
        apiGroup: rbac.authorization.k8s.io
        kind: ClusterRole
        name: cr-crd-controller
      subjects:
      - kind: ServiceAccount
        name: sa-kustomize-controller
        namespace: flux-system
      - kind: ServiceAccount
        name: sa-helm-controller
        namespace: flux-system
      - kind: ServiceAccount
        name: sa-source-controller
        namespace: flux-system
      - kind: ServiceAccount
        name: sa-notification-controller
        namespace: flux-system
      - kind: ServiceAccount
        name: sa-image-reflector-controller
        namespace: flux-system
      - kind: ServiceAccount
        name: sa-image-automation-controller
        namespace: flux-system
    type: raw
  - name: cr-crd-controller
    properties:
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
        name: cr-crd-controller
      rules:
      - apiGroups:
        - source.toolkit.fluxcd.io
        resources:
        - '*'
        verbs:
        - '*'
      - apiGroups:
        - kustomize.toolkit.fluxcd.io
        resources:
        - '*'
        verbs:
        - '*'
      - apiGroups:
        - helm.toolkit.fluxcd.io
        resources:
        - '*'
        verbs:
        - '*'
      - apiGroups:
        - notification.toolkit.fluxcd.io
        resources:
        - '*'
        verbs:
        - '*'
      - apiGroups:
        - image.toolkit.fluxcd.io
        resources:
        - '*'
        verbs:
        - '*'
      - apiGroups:
        - ""
        resources:
        - secrets
        verbs:
        - get
        - list
        - watch
      - apiGroups:
        - ""
        resources:
        - events
        verbs:
        - create
        - patch
      - apiGroups:
        - ""
        resources:
        - configmaps
        - configmaps/status
        verbs:
        - get
        - list
        - watch
        - create
        - update
        - patch
        - delete
      - apiGroups:
        - coordination.k8s.io
        resources:
        - leases
        verbs:
        - get
        - list
        - watch
        - create
        - update
        - patch
        - delete
    type: raw
  - name: sa-helm-controller
    properties:
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
        name: sa-helm-controller
        namespace: flux-system
    type: raw
  - name: sa-image-automation-controller
    properties:
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
        name: sa-image-automation-controller
        namespace: flux-system
    type: raw
  - name: sa-image-reflector-controller
    properties:
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
        name: sa-image-reflector-controller
        namespace: flux-system
    type: raw
  - name: sa-kustomize-controller
    properties:
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
        name: sa-kustomize-controller
        namespace: flux-system
    type: raw
  - name: sa-notification-controller
    properties:
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
        name: sa-notification-controller
        namespace: flux-system
    type: raw
  - name: sa-source-controller
    properties:
      apiVersion: v1
      kind: ServiceAccount
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
        name: sa-source-controller
        namespace: flux-system
    type: raw
  - name: notification-controller
    properties:
      apiVersion: v1
      kind: Service
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
          control-plane: controller
        name: notification-controller
        namespace: flux-system
      spec:
        ports:
        - name: http
          port: 80
          protocol: TCP
          targetPort: http
        selector:
          app: notification-controller
        type: ClusterIP
    type: raw
  - name: source-controller
    properties:
      apiVersion: v1
      kind: Service
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
          control-plane: controller
        name: source-controller
        namespace: flux-system
      spec:
        ports:
        - name: http
          port: 80
          protocol: TCP
          targetPort: http
        selector:
          app: source-controller
        type: ClusterIP
    type: raw
  - name: webhook-receiver
    properties:
      apiVersion: v1
      kind: Service
      metadata:
        labels:
          app.kubernetes.io/instance: flux-system
          control-plane: controller
        name: webhook-receiver
        namespace: flux-system
      spec:
        ports:
        - name: http
          port: 80
          protocol: TCP
          targetPort: http-webhook
        selector:
          app: notification-controller
        type: ClusterIP
    type: raw
  - name: helm
    properties:
      apiVersion: core.oam.dev/v1beta1
      kind: ComponentDefinition
      metadata:
        annotations:
          definition.oam.dev/description: helm release is a group of K8s resources
            from either git repository or helm repo
        name: helm
        namespace: vela-system
      spec:
        schematic:
          cue:
            template: "output: {\n\tapiVersion: \"source.toolkit.fluxcd.io/v1beta1\"\n\tmetadata:
              {\n\t\tname: context.name\n\t}\n\tif parameter.repoType == \"git\" {\n\t\tkind:
              \"GitRepository\"\n\t\tspec: {\n\t\t\turl: parameter.url\n\t\t\tif parameter.git.branch
              != _|_ {\n\t\t\t\tref: branch: parameter.git.branch\n\t\t\t}\n\t\t\t_secret\n\t\t\t_sourceCommonArgs\n\t\t}\n\t}\n\tif
              parameter.repoType == \"oss\" {\n\t\tkind: \"Bucket\"\n\t\tspec: {\n\t\t\tendpoint:
              \  parameter.url\n\t\t\tbucketName: parameter.oss.bucketName\n\t\t\tprovider:
              \  parameter.oss.provider\n\t\t\tif parameter.oss.region != _|_ {\n\t\t\t\tregion:
              parameter.oss.region\n\t\t\t}\n\t\t\t_secret\n\t\t\t_sourceCommonArgs\n\t\t}\n\t}\n\tif
              parameter.repoType == \"helm\" {\n\t\tkind: \"HelmRepository\"\n\t\tspec:
              {\n\t\t\turl: parameter.url\n\t\t\t_secret\n\t\t\t_sourceCommonArgs\n\t\t}\n\t}\n}\n\noutputs:
              release: {\n\tapiVersion: \"helm.toolkit.fluxcd.io/v2beta1\"\n\tkind:
              \      \"HelmRelease\"\n\tmetadata: {\n\t\tname: context.name\n\t}\n\tspec:
              {\n\t\tinterval: parameter.pullInterval\n\t\tchart: {\n\t\t\tspec: {\n\t\t\t\tchart:
              \  parameter.chart\n\t\t\t\tversion: parameter.version\n\t\t\t\tsourceRef:
              {\n\t\t\t\t\tif parameter.repoType == \"git\" {\n\t\t\t\t\t\tkind: \"GitRepository\"\n\t\t\t\t\t}\n\t\t\t\t\tif
              parameter.repoType == \"helm\" {\n\t\t\t\t\t\tkind: \"HelmRepository\"\n\t\t\t\t\t}\n\t\t\t\t\tif
              parameter.repoType == \"oss\" {\n\t\t\t\t\t\tkind: \"Bucket\"\n\t\t\t\t\t}\n\t\t\t\t\tname:
              \     context.name\n\t\t\t\t\tnamespace: context.namespace\n\t\t\t\t}\n\t\t\t\tinterval:
              parameter.pullInterval\n\t\t\t}\n\t\t}\n\t\tif parameter.targetNamespace
              != _|_ {\n\t\t\ttargetNamespace: parameter.targetNamespace\n\t\t}\n\t\tif
              parameter.releaseName != _|_ {\n\t\t\treleaseName: parameter.releaseName\n\t\t}\n\t\tif
              parameter.values != _|_ {\n\t\t\tvalues: parameter.values\n\t\t}\n\t}\n}\n\n_secret:
              {\n\tif parameter.secretRef != _|_ {\n\t\tsecretRef: {\n\t\t\tname:
              parameter.secretRef\n\t\t}\n\t}\n}\n\n_sourceCommonArgs: {\n\tinterval:
              parameter.pullInterval\n\tif parameter.timeout != _|_ {\n\t\ttimeout:
              parameter.timeout\n\t}\n}\n\nparameter: {\n\trepoType: *\"helm\" | \"git\"
              | \"oss\"\n\t// +usage=The interval at which to check for repository/bucket
              and relese updates, default to 5m\n\tpullInterval: *\"5m\" | string\n\t//
              +usage=The Git or Helm repository URL, OSS endpoint, accept HTTP/S or
              SSH address as git url,\n\turl: string\n\t// +usage=The name of the
              secret containing authentication credentials\n\tsecretRef?: string\n\t//
              +usage=The timeout for operations like download index/clone repository,
              optional\n\ttimeout?: string\n\n\tgit?: {\n\t\t// +usage=The Git reference
              to checkout and monitor for changes, defaults to master branch\n\t\tbranch:
              string\n\t}\n\toss?: {\n\t\t// +usage=The bucket's name, required if
              repoType is oss\n\t\tbucketName: string\n\t\t// +usage=\"generic\" for
              Minio, Amazon S3, Google Cloud Storage, Alibaba Cloud OSS, \"aws\" for
              retrieve credentials from the EC2 service when credentials not specified,
              default \"generic\"\n\t\tprovider: *\"generic\" | \"aws\"\n\t\t// +usage=The
              bucket region, optional\n\t\tregion?: string\n\t}\n\n\t// +usage=1.The
              relative path to helm chart for git/oss source. 2. chart name for helm
              resource 3. relative path for chart package(e.g. ./charts/podinfo-1.2.3.tgz)\n\tchart:
              string\n\t// +usage=Chart version\n\tversion: *\"*\" | string\n\t//
              +usage=The namespace for helm chart, optional\n\ttargetNamespace?: string\n\t//
              +usage=The release name\n\treleaseName?: string\n\t// +usage=Chart values\n\tvalues?:
              #nestedmap\n}\n\n#nestedmap: {\n\t...\n}\n"
        status:
          customStatus: "repoMessage:    string\nreleaseMessage: string\nif context.output.status
            == _|_ {\n\trepoMessage:    \"Fetching repository\"\n\treleaseMessage:
            \"Wating repository ready\"\n}\nif context.output.status != _|_ {\n\trepoStatus:
            context.output.status\n\tif repoStatus.conditions[0][\"type\"] != \"Ready\"
            {\n\t\trepoMessage: \"Fetch repository fail\"\n\t}\n\tif repoStatus.conditions[0][\"type\"]
            == \"Ready\" {\n\t\trepoMessage: \"Fetch repository successfully\"\n\t}\n\n\tif
            context.outputs.release.status == _|_ {\n\t\treleaseMessage: \"Creating
            helm release\"\n\t}\n\tif context.outputs.release.status != _|_ {\n\t\tif
            context.outputs.release.status.conditions[0][\"message\"] == \"Release
            reconciliation succeeded\" {\n\t\t\treleaseMessage: \"Create helm release
            successfully\"\n\t\t}\n\t\tif context.outputs.release.status.conditions[0][\"message\"]
            != \"Release reconciliation succeeded\" {\n\t\t\treleaseMessage: \"Create
            helm release fail, message: \" + context.outputs.release.status.conditions[0][\"message\"]\n\t\t}\n\t}\n\n}\nmessage:
            repoMessage + \", \" + releaseMessage"
          healthPolicy: 'isHealth: len(context.outputs.release.status.conditions)
            != 0 && context.outputs.release.status.conditions[0]["status"]=="True"'
        workload:
          type: autodetects.core.oam.dev
    type: raw
  - name: kustomize-json-patch
    properties:
      apiVersion: core.oam.dev/v1beta1
      kind: TraitDefinition
      metadata:
        annotations:
          definition.oam.dev/description: A list of JSON6902 patch to selected target
        name: kustomize-json-patch
      spec:
        schematic:
          cue:
            template: "patch: {\n\tspec: {\n\t\tpatchesJson6902: parameter.patchesJson\n\t}\n}\n\nparameter:
              {\n\t// +usage=A list of JSON6902 patch.\n\tpatchesJson: [...#jsonPatchItem]\n}\n\n//
              +usage=Contains a JSON6902 patch\n#jsonPatchItem: {\n\ttarget: #selector\n\tpatch:
              [...{\n\t\t// +usage=operation to perform\n\t\top: string | \"add\"
              | \"remove\" | \"replace\" | \"move\" | \"copy\" | \"test\"\n\t\t//
              +usage=operate path e.g. /foo/bar\n\t\tpath: string\n\t\t// +usage=specify
              source path when op is copy/move\n\t\tfrom?:  string\n\t\t// +usage=specify
              opraation value when op is test/add/replace\n\t\tvalue?: string\n\t}]\n}\n\n//
              +usage=Selector specifies a set of resources\n#selector: {\n\tgroup?:
              \             string\n\tversion?:            string\n\tkind?:               string\n\tnamespace?:
              \         string\n\tname?:               string\n\tannotationSelector?:
              string\n\tlabelSelector?:      string\n}\n"
    type: raw
  - name: kustomize-patch
    properties:
      apiVersion: core.oam.dev/v1beta1
      kind: TraitDefinition
      metadata:
        annotations:
          definition.oam.dev/description: A list of StrategicMerge or JSON6902 patch
            to selected target
        name: kustomize-patch
      spec:
        schematic:
          cue:
            template: "patch: {\n\tspec: {\n\t\tpatches: parameter.patches\n\t}\n}\nparameter:
              {\n\t// +usage=a list of StrategicMerge or JSON6902 patch to selected
              target\n\tpatches: [...#patchItem]\n}\n\n// +usage=Contains a strategicMerge
              or JSON6902 patch\n#patchItem: {\n\t// +usage=Inline patch string, in
              yaml style\n\tpatch: string\n\t// +usage=Specify the target the patch
              should be applied to\n\ttarget: #selector\n}\n\n// +usage=Selector specifies
              a set of resources\n#selector: {\n\tgroup?:              string\n\tversion?:
              \           string\n\tkind?:               string\n\tnamespace?:          string\n\tname?:
              \              string\n\tannotationSelector?: string\n\tlabelSelector?:
              \     string\n}\n"
    type: raw
  - name: kustomize
    properties:
      apiVersion: core.oam.dev/v1beta1
      kind: ComponentDefinition
      metadata:
        annotations:
          definition.oam.dev/description: kustomize can fetching, building, updating
            and applying Kustomize manifests from git repo.
        name: kustomize
        namespace: vela-system
      spec:
        schematic:
          cue:
            template: "output: {\n\tapiVersion: \"kustomize.toolkit.fluxcd.io/v1beta1\"\n\tkind:
              \      \"Kustomization\"\n\tmetadata: {\n\t\tname: context.name\n    namespace:
              context.namespace\n\t}\n\tspec: {\n\t\tinterval: parameter.pullInterval\n\t\tsourceRef:
              {\n\t\t\tif parameter.repoType == \"git\" {\n\t\t\t\tkind: \"GitRepository\"\n\t\t\t}\n\t\t\tif
              parameter.repoType == \"oss\" {\n\t\t\t\tkind: \"Bucket\"\n\t\t\t}\n\t\t\tname:
              \     context.name\n\t\t\tnamespace: context.namespace\n\t\t}\n\t\tpath:
              \      parameter.path\n\t\tprune:      true\n\t\tvalidation: \"client\"\n\t}\n}\n\noutputs:
              {\n  repo: {\n\t  apiVersion: \"source.toolkit.fluxcd.io/v1beta1\"\n\t
              \ metadata: {\n\t\t  name: context.name\n      namespace: context.namespace\n\t
              \ }\n\t  if parameter.repoType == \"git\" {\n\t\t  kind: \"GitRepository\"\n\t\t
              \ spec: {\n\t\t\t  url: parameter.url\n\t\t\t  if parameter.git.branch
              != _|_ {\n\t\t\t\t  ref: branch: parameter.git.branch\n\t\t\t  }\n        if
              parameter.git.provider != _|_ {\n          if parameter.git.provider
              == \"GitHub\" {\n            gitImplementation: \"go-git\"\n          }\n
              \         if parameter.git.provider == \"AzureDevOps\" {\n            gitImplementation:
              \"libgit2\"\n          }\n        }\n\t\t\t  _secret\n\t\t\t  _sourceCommonArgs\n\t\t
              \ }\n\t  }\n\t  if parameter.repoType == \"oss\" {\n\t\t  kind: \"Bucket\"\n\t\t
              \ spec: {\n\t\t\t  endpoint:   parameter.url\n\t\t\t  bucketName: parameter.oss.bucketName\n\t\t\t
              \ provider:   parameter.oss.provider\n\t\t\t  if parameter.oss.region
              != _|_ {\n\t\t\t\t  region: parameter.oss.region\n\t\t\t  }\n\t\t\t
              \ _secret\n\t\t\t  _sourceCommonArgs\n\t\t  }\n\t  }\n  }\n\n  if parameter.imageRepository
              != _|_ {\n    imageRepo: {\n      apiVersion: \"image.toolkit.fluxcd.io/v1beta1\"\n
              \     kind: \"ImageRepository\"\n\t    metadata: {\n\t\t    name: context.name\n
              \       namespace: context.namespace\n\t    }\n      spec: {\n        image:
              parameter.imageRepository.image\n        interval: parameter.pullInterval\n
              \       if parameter.imageRepository.secretRef != _|_ {\n          secretRef:
              name: parameter.imageRepository.secretRef\n        }\n      }\n    }\n\n
              \   imagePolicy: {\n      apiVersion: \"image.toolkit.fluxcd.io/v1beta1\"\n
              \     kind: \"ImagePolicy\"\n\t    metadata: {\n\t\t    name: context.name\n
              \       namespace: context.namespace\n\t    }\n      spec: {\n        imageRepositoryRef:
              name: context.name\n        policy: parameter.imageRepository.policy\n
              \       if parameter.imageRepository.filterTags != _|_ {\n          filterTags:
              parameter.imageRepository.filterTags\n        }\n      }\n    }\n\n
              \   imageUpdate: {\n      apiVersion: \"image.toolkit.fluxcd.io/v1beta1\"\n
              \     kind: \"ImageUpdateAutomation\"\n\t    metadata: {\n\t\t    name:
              context.name\n        namespace: context.namespace\n\t    }\n      spec:
              {\n        interval: parameter.pullInterval\n        sourceRef: {\n
              \         kind: \"GitRepository\"\n          name: context.name\n        }\n
              \       git: {\n          checkout: ref: branch: parameter.git.branch\n
              \         commit: {\n            author: {\n              email: \"kubevelabot@users.noreply.github.com\"\n
              \             name: \"kubevelabot\"\n            }\n            if parameter.imageRepository.commitMessage
              != _|_ {\n              messageTemplate: \"Update image automatically.\\n\"
              + parameter.imageRepository.commitMessage\n            }\n            if
              parameter.imageRepository.commitMessage == _|_ {\n              messageTemplate:
              \"Update image automatically.\"\n            }\n          }\n          push:
              branch: parameter.git.branch\n        }\n        update: {\n          path:\tparameter.path\n
              \         strategy: \"Setters\"\n        }\n      }\n    }\n  }\n}\n\n_secret:
              {\n\tif parameter.secretRef != _|_ {\n\t\tsecretRef: {\n\t\t\tname:
              parameter.secretRef\n\t\t}\n\t}\n}\n\n_sourceCommonArgs: {\n\tinterval:
              parameter.pullInterval\n\tif parameter.timeout != _|_ {\n\t\ttimeout:
              parameter.timeout\n\t}\n}\n\nparameter: {\n\trepoType: *\"git\" | \"oss\"\n
              \ // +usage=The image repository for automatically update image to git\n
              \ imageRepository?: {\n    // +usage=The image url\n    image: string\n
              \   // +usage=The name of the secret containing authentication credentials\n
              \   secretRef?: string\n    // +usage=Policy gives the particulars of
              the policy to be followed in selecting the most recent image.\n    policy:
              {\n      // +usage=Alphabetical set of rules to use for alphabetical
              ordering of the tags.\n      alphabetical?: {\n        // +usage=Order
              specifies the sorting order of the tags.\n        // +usage=Given the
              letters of the alphabet as tags, ascending order would select Z, and
              descending order would select A.\n        order?: \"asc\" | \"desc\"\n
              \     }\n      // +usage=Numerical set of rules to use for numerical
              ordering of the tags.\n      numerical?: {\n        // +usage=Order
              specifies the sorting order of the tags.\n        // +usage=Given the
              integer values from 0 to 9 as tags, ascending order would select 9,
              and descending order would select 0.\n        order: \"asc\" | \"desc\"\n
              \     }\n      // +usage=SemVer gives a semantic version range to check
              against the tags available.\n      semver?: {\n        // +usage=Range
              gives a semver range for the image tag; the highest version within the
              range that's a tag yields the latest image.\n        range: string\n
              \     }\n    }\n    // +usage=FilterTags enables filtering for only
              a subset of tags based on a set of rules. If no rules are provided,
              all the tags from the repository will be ordered and compared.\n    filterTags?:
              {\n      // +usage=Extract allows a capture group to be extracted from
              the specified regular expression pattern, useful before tag evaluation.\n
              \     extract?: string\n      // +usage=Pattern specifies a regular
              expression pattern used to filter for image tags.\n      pattern?: string\n
              \   }\n    // +usage=The image url\n    commitMessage?: string\n  }\n\t//
              +usage=The interval at which to check for repository/bucket and release
              updates, default to 5m\n\tpullInterval: *\"5m\" | string\n\t// +usage=The
              Git or Helm repository URL, OSS endpoint, accept HTTP/S or SSH address
              as git url,\n\turl: string\n\t// +usage=The name of the secret containing
              authentication credentials\n\tsecretRef?: string\n\t// +usage=The timeout
              for operations like download index/clone repository, optional\n\ttimeout?:
              string\n\tgit?: {\n\t\t// +usage=The Git reference to checkout and monitor
              for changes, defaults to master branch\n\t\tbranch: string\n    // +usage=Determines
              which git client library to use. Defaults to GitHub, it will pick go-git.
              AzureDevOps will pick libgit2.\n    provider?: *\"GitHub\" | \"AzureDevOps\"\n\t}\n\toss?:
              {\n\t\t// +usage=The bucket's name, required if repoType is oss\n\t\tbucketName:
              string\n\t\t// +usage=\"generic\" for Minio, Amazon S3, Google Cloud
              Storage, Alibaba Cloud OSS, \"aws\" for retrieve credentials from the
              EC2 service when credentials not specified, default \"generic\"\n\t\tprovider:
              *\"generic\" | \"aws\"\n\t\t// +usage=The bucket region, optional\n\t\tregion?:
              string\n\t}\n\t//+usage=Path to the directory containing the kustomization.yaml
              file, or the set of plain YAMLs a kustomization.yaml should be generated
              for.\n\tpath: string\n} \n"
        workload:
          type: autodetects.core.oam.dev
    type: raw
  - name: kustomize-strategy-merge
    properties:
      apiVersion: core.oam.dev/v1beta1
      kind: TraitDefinition
      metadata:
        annotations:
          definition.oam.dev/description: A list of strategic merge to kustomize config
        name: kustomize-strategy-merge
      spec:
        schematic:
          cue:
            template: "patch: {\n\tspec: {\n\t\tpatchesStrategicMerge: parameter.patchesStrategicMerge\n\t}\n}\n\nparameter:
              {\n\t// +usage=a list of strategicmerge, defined as inline yaml objects.\n\tpatchesStrategicMerge:
              [...#nestedmap]\n}\n\n#nestedmap: {\n\t...\n}\n"
    type: raw
  workflow:
    steps:
    - name: apply-ns
      properties:
        component: ns-flux-system
      type: apply-component
    - name: apply-resources
      type: apply-remaining
status:
  rollout:
    batchRollingState: ""
    currentBatch: 0
    lastTargetAppRevision: ""
    rollingState: ""
    upgradedReadyReplicas: 0
    upgradedReplicas: 0
