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: {}
