# This is an auto-generated file. DO NOT EDIT
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  labels:
    app.kubernetes.io/name: applications.argoproj.io
    app.kubernetes.io/part-of: argocd
  name: applications.argoproj.io
spec:
  group: argoproj.io
  names:
    kind: Application
    plural: applications
    shortNames:
    - app
    - apps
  scope: Namespaced
  validation:
    openAPIV3Schema:
      description: Application is a definition of Application resource.
      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/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/api-conventions.md#types-kinds'
          type: string
        metadata:
          properties:
            annotations:
              additionalProperties:
                type: string
              description: 'Annotations is an unstructured key value map stored with
                a resource that may be set by external tools to store and retrieve
                arbitrary metadata. They are not queryable and should be preserved
                when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
              type: object
            clusterName:
              description: The name of the cluster which the object belongs to. This
                is used to distinguish resources with same name and namespace in different
                clusters. This field is not set anywhere right now and apiserver is
                going to ignore it if set in create or update request.
              type: string
            deletionGracePeriodSeconds:
              description: Number of seconds allowed for this object to gracefully
                terminate before it will be removed from the system. Only set when
                deletionTimestamp is also set. May only be shortened. Read-only.
              format: int64
              type: integer
            deletionTimestamp:
              description: "DeletionTimestamp is RFC 3339 date and time at which this
                resource will be deleted. This field is set by the server when a graceful
                deletion is requested by the user, and is not directly settable by
                a client. The resource is expected to be deleted (no longer visible
                from resource lists, and not reachable by name) after the time in
                this field, once the finalizers list is empty. As long as the finalizers
                list contains items, deletion is blocked. Once the deletionTimestamp
                is set, this value may not be unset or be set further into the future,
                although it may be shortened or the resource may be deleted prior
                to this time. For example, a user may request that a pod is deleted
                in 30 seconds. The Kubelet will react by sending a graceful termination
                signal to the containers in the pod. After that 30 seconds, the Kubelet
                will send a hard termination signal (SIGKILL) to the container and
                after cleanup, remove the pod from the API. In the presence of network
                partitions, this object may still exist after this timestamp, until
                an administrator or automated process can determine the resource is
                fully terminated. If not set, graceful deletion of the object has
                not been requested. \n Populated by the system when a graceful deletion
                is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata"
              format: date-time
              type: string
            finalizers:
              description: Must be empty before the object is deleted from the registry.
                Each entry is an identifier for the responsible component that will
                remove the entry from the list. If the deletionTimestamp of the object
                is non-nil, entries in this list can only be removed.
              items:
                type: string
              type: array
            generateName:
              description: "GenerateName is an optional prefix, used by the server,
                to generate a unique name ONLY IF the Name field has not been provided.
                If this field is used, the name returned to the client will be different
                than the name passed. This value will also be combined with a unique
                suffix. The provided value has the same validation rules as the Name
                field, and may be truncated by the length of the suffix required to
                make the value unique on the server. \n If this field is specified
                and the generated name exists, the server will NOT return a 409 -
                instead, it will either return 201 Created or 500 with Reason ServerTimeout
                indicating a unique name could not be found in the time allotted,
                and the client should retry (optionally after the time indicated in
                the Retry-After header). \n Applied only if Name is not specified.
                More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency"
              type: string
            generation:
              description: A sequence number representing a specific generation of
                the desired state. Populated by the system. Read-only.
              format: int64
              type: integer
            initializers:
              description: "An initializer is a controller which enforces some system
                invariant at object creation time. This field is a list of initializers
                that have not yet acted on this object. If nil or empty, this object
                has been completely initialized. Otherwise, the object is considered
                uninitialized and is hidden (in list/watch and get calls) from clients
                that haven't explicitly asked to observe uninitialized objects. \n
                When an object is created, the system will populate this list with
                the current set of initializers. Only privileged users may set or
                modify this list. Once it is empty, it may not be modified further
                by any user. \n DEPRECATED - initializers are an alpha field and will
                be removed in v1.15."
              properties:
                pending:
                  description: Pending is a list of initializers that must execute
                    in order before this object is visible. When the last pending
                    initializer is removed, and no failing result is set, the initializers
                    struct will be set to nil and the object is considered as initialized
                    and visible to all clients.
                  items:
                    properties:
                      name:
                        description: name of the process that is responsible for initializing
                          this object.
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                result:
                  description: If result is set with the Failure field, the object
                    will be persisted to storage and then deleted, ensuring that other
                    clients can observe the deletion.
                  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/api-conventions.md#resources'
                      type: string
                    code:
                      description: Suggested HTTP return code for this status, 0 if
                        not set.
                      format: int32
                      type: integer
                    details:
                      description: Extended data associated with the reason.  Each
                        reason may define its own extended details. This field is
                        optional and the data returned is not guaranteed to conform
                        to any schema except that defined by the reason type.
                      properties:
                        causes:
                          description: The Causes array includes more details associated
                            with the StatusReason failure. Not all StatusReasons may
                            provide detailed causes.
                          items:
                            properties:
                              field:
                                description: "The field of the resource that has caused
                                  this error, as named by its JSON serialization.
                                  May include dot and postfix notation for nested
                                  attributes. Arrays are zero-indexed.  Fields may
                                  appear more than once in an array of causes due
                                  to fields having multiple errors. Optional. \n Examples:
                                  \  \"name\" - the field \"name\" on the current
                                  resource   \"items[0].name\" - the field \"name\"
                                  on the first array entry in \"items\""
                                type: string
                              message:
                                description: A human-readable description of the cause
                                  of the error.  This field may be presented as-is
                                  to a reader.
                                type: string
                              reason:
                                description: A machine-readable description of the
                                  cause of the error. If this value is empty there
                                  is no information available.
                                type: string
                            type: object
                          type: array
                        group:
                          description: The group attribute of the resource associated
                            with the status StatusReason.
                          type: string
                        kind:
                          description: 'The kind attribute of the resource associated
                            with the status StatusReason. On some operations may differ
                            from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: The name attribute of the resource associated
                            with the status StatusReason (when there is a single name
                            which can be described).
                          type: string
                        retryAfterSeconds:
                          description: If specified, the time in seconds before the
                            operation should be retried. Some errors may indicate
                            the client must take an alternate action - for those errors
                            this field may indicate how long to wait before taking
                            the alternate action.
                          format: int32
                          type: integer
                        uid:
                          description: 'UID of the resource. (when there is a single
                            resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
                          type: string
                      type: object
                    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/api-conventions.md#types-kinds'
                      type: string
                    message:
                      description: A human-readable description of the status of this
                        operation.
                      type: string
                    metadata:
                      description: 'Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
                      properties:
                        continue:
                          description: continue may be set if the user set a limit
                            on the number of items returned, and indicates that the
                            server has more data available. The value is opaque and
                            may be used to issue another request to the endpoint that
                            served this list to retrieve the next set of available
                            objects. Continuing a consistent list may not be possible
                            if the server configuration has changed or more than a
                            few minutes have passed. The resourceVersion field returned
                            when using this continue value will be identical to the
                            value in the first response, unless you have received
                            this token from an error message.
                          type: string
                        resourceVersion:
                          description: 'String that identifies the server''s internal
                            version of this object that can be used by clients to
                            determine when objects have changed. Value must be treated
                            as opaque by clients and passed unmodified back to the
                            server. Populated by the system. Read-only. More info:
                            https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
                          type: string
                        selfLink:
                          description: selfLink is a URL representing this object.
                            Populated by the system. Read-only.
                          type: string
                      type: object
                    reason:
                      description: A machine-readable description of why this operation
                        is in the "Failure" status. If this value is empty there is
                        no information available. A Reason clarifies an HTTP status
                        code but does not override it.
                      type: string
                    status:
                      description: 'Status of the operation. One of: "Success" or
                        "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
                      type: string
                  type: object
              required:
              - pending
              type: object
            labels:
              additionalProperties:
                type: string
              description: 'Map of string keys and values that can be used to organize
                and categorize (scope and select) objects. May match selectors of
                replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
              type: object
            managedFields:
              description: "ManagedFields maps workflow-id and version to the set
                of fields that are managed by that workflow. This is mostly for internal
                housekeeping, and users typically shouldn't need to set or understand
                this field. A workflow can be the user's name, a controller's name,
                or the name of a specific apply path like \"ci-cd\". The set of fields
                is always in the version that the workflow used when modifying the
                object. \n This field is alpha and can be changed or removed without
                notice."
              items:
                properties:
                  apiVersion:
                    description: APIVersion defines the version of this resource that
                      this field set applies to. The format is "group/version" just
                      like the top-level APIVersion field. It is necessary to track
                      the version of a field set because it cannot be automatically
                      converted.
                    type: string
                  fields:
                    additionalProperties: true
                    description: Fields identifies a set of fields.
                    type: object
                  manager:
                    description: Manager is an identifier of the workflow managing
                      these fields.
                    type: string
                  operation:
                    description: Operation is the type of operation which lead to
                      this ManagedFieldsEntry being created. The only valid values
                      for this field are 'Apply' and 'Update'.
                    type: string
                  time:
                    description: Time is timestamp of when these fields were set.
                      It should always be empty if Operation is 'Apply'
                    format: date-time
                    type: string
                type: object
              type: array
            name:
              description: 'Name must be unique within a namespace. Is required when
                creating resources, although some resources may allow a client to
                request the generation of an appropriate name automatically. Name
                is primarily intended for creation idempotence and configuration definition.
                Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
              type: string
            namespace:
              description: "Namespace defines the space within each name must be unique.
                An empty namespace is equivalent to the \"default\" namespace, but
                \"default\" is the canonical representation. Not all objects are required
                to be scoped to a namespace - the value of this field for those objects
                will be empty. \n Must be a DNS_LABEL. Cannot be updated. More info:
                http://kubernetes.io/docs/user-guide/namespaces"
              type: string
            ownerReferences:
              description: List of objects depended by this object. If ALL objects
                in the list have been deleted, this object will be garbage collected.
                If this object is managed by a controller, then an entry in this list
                will point to this controller, with the controller field set to true.
                There cannot be more than one managing controller.
              items:
                properties:
                  apiVersion:
                    description: API version of the referent.
                    type: string
                  blockOwnerDeletion:
                    description: If true, AND if the owner has the "foregroundDeletion"
                      finalizer, then the owner cannot be deleted from the key-value
                      store until this reference is removed. Defaults to false. To
                      set this field, a user needs "delete" permission of the owner,
                      otherwise 422 (Unprocessable Entity) will be returned.
                    type: boolean
                  controller:
                    description: If true, this reference points to the managing controller.
                    type: boolean
                  kind:
                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
                    type: string
                  name:
                    description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
                    type: string
                  uid:
                    description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
                    type: string
                required:
                - apiVersion
                - kind
                - name
                - uid
                type: object
              type: array
            resourceVersion:
              description: "An opaque value that represents the internal version of
                this object that can be used by clients to determine when objects
                have changed. May be used for optimistic concurrency, change detection,
                and the watch operation on a resource or set of resources. Clients
                must treat these values as opaque and passed unmodified back to the
                server. They may only be valid for a particular resource or set of
                resources. \n Populated by the system. Read-only. Value must be treated
                as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency"
              type: string
            selfLink:
              description: SelfLink is a URL representing this object. Populated by
                the system. Read-only.
              type: string
            uid:
              description: "UID is the unique in time and space value for this object.
                It is typically generated by the server on successful creation of
                a resource and is not allowed to change on PUT operations. \n Populated
                by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids"
              type: string
          type: object
        operation:
          properties:
            sync:
              properties:
                dryRun:
                  description: DryRun will perform a `kubectl apply --dry-run` without
                    actually performing the sync
                  type: boolean
                manifests:
                  description: Manifests is an optional field that overrides sync
                    source with a local directory for development
                  items:
                    type: string
                  type: array
                prune:
                  description: Prune deletes resources that are no longer tracked
                    in git
                  type: boolean
                resources:
                  description: Resources describes which resources to sync
                  items:
                    properties:
                      group:
                        type: string
                      kind:
                        type: string
                      name:
                        type: string
                    required:
                    - kind
                    - name
                    type: object
                  type: array
                revision:
                  description: Revision is the git revision in which to sync the application
                    to. If omitted, will use the revision specified in app spec.
                  type: string
                source:
                  description: Source overrides the source definition set in the application.
                    This is typically set in a Rollback operation and nil during a
                    Sync operation
                  properties:
                    directory:
                      description: Directory holds path/directory specific options
                      properties:
                        jsonnet:
                          properties:
                            extVars:
                              description: ExtVars is a list of Jsonnet External Variables
                              items:
                                properties:
                                  code:
                                    type: boolean
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            tlas:
                              description: TLAS is a list of Jsonnet Top-level Arguments
                              items:
                                properties:
                                  code:
                                    type: boolean
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                          type: object
                        recurse:
                          type: boolean
                      type: object
                    helm:
                      description: Helm holds helm specific options
                      properties:
                        parameters:
                          description: Parameters are parameters to the helm template
                          items:
                            properties:
                              forceString:
                                description: ForceString determines whether to tell
                                  Helm to interpret booleans and numbers as strings
                                type: boolean
                              name:
                                description: Name is the name of the helm parameter
                                type: string
                              value:
                                description: Value is the value for the helm parameter
                                type: string
                            type: object
                          type: array
                        releaseName:
                          description: The Helm release name. If omitted it will use
                            the application name
                          type: string
                        valueFiles:
                          description: ValuesFiles is a list of Helm value files to
                            use when generating a template
                          items:
                            type: string
                          type: array
                      type: object
                    ksonnet:
                      description: Ksonnet holds ksonnet specific options
                      properties:
                        environment:
                          description: Environment is a ksonnet application environment
                            name
                          type: string
                        parameters:
                          description: Parameters are a list of ksonnet component
                            parameter override values
                          items:
                            properties:
                              component:
                                type: string
                              name:
                                type: string
                              value:
                                type: string
                            required:
                            - name
                            - value
                            type: object
                          type: array
                      type: object
                    kustomize:
                      description: Kustomize holds kustomize specific options
                      properties:
                        commonLabels:
                          additionalProperties:
                            type: string
                          description: CommonLabels adds additional kustomize commonLabels
                          type: object
                        images:
                          description: Images are kustomize image overrides
                          items:
                            type: string
                          type: array
                        namePrefix:
                          description: NamePrefix is a prefix appended to resources
                            for kustomize apps
                          type: string
                      type: object
                    path:
                      description: Path is a directory path within the repository
                        containing a
                      type: string
                    plugin:
                      description: ConfigManagementPlugin holds config management
                        plugin specific options
                      properties:
                        env:
                          items:
                            properties:
                              name:
                                description: the name, usually uppercase
                                type: string
                              value:
                                description: the value
                                type: string
                            required:
                            - name
                            - value
                            type: object
                          type: array
                        name:
                          type: string
                      type: object
                    repoURL:
                      description: RepoURL is the git repository URL of the application
                        manifests
                      type: string
                    targetRevision:
                      description: TargetRevision defines the commit, tag, or branch
                        in which to sync the application to. If omitted, will sync
                        to HEAD
                      type: string
                  required:
                  - repoURL
                  - path
                  type: object
                syncStrategy:
                  description: SyncStrategy describes how to perform the sync
                  properties:
                    apply:
                      description: Apply wil perform a `kubectl apply` to perform
                        the sync.
                      properties:
                        force:
                          description: Force indicates whether or not to supply the
                            --force flag to `kubectl apply`. The --force flag deletes
                            and re-create the resource, when PATCH encounters conflict
                            and has retried for 5 times.
                          type: boolean
                      type: object
                    hook:
                      description: Hook will submit any referenced resources to perform
                        the sync. This is the default strategy
                      properties:
                        force:
                          description: Force indicates whether or not to supply the
                            --force flag to `kubectl apply`. The --force flag deletes
                            and re-create the resource, when PATCH encounters conflict
                            and has retried for 5 times.
                          type: boolean
                      type: object
                  type: object
              type: object
          type: object
        spec:
          properties:
            destination:
              description: Destination overrides the kubernetes server and namespace
                defined in the environment ksonnet app.yaml
              properties:
                namespace:
                  description: Namespace overrides the environment namespace value
                    in the ksonnet app.yaml
                  type: string
                server:
                  description: Server overrides the environment server value in the
                    ksonnet app.yaml
                  type: string
              type: object
            ignoreDifferences:
              description: IgnoreDifferences controls resources fields which should
                be ignored during comparison
              items:
                properties:
                  group:
                    type: string
                  jsonPointers:
                    items:
                      type: string
                    type: array
                  kind:
                    type: string
                  name:
                    type: string
                  namespace:
                    type: string
                required:
                - group
                - kind
                - jsonPointers
                type: object
              type: array
            info:
              description: Infos contains a list of useful information (URLs, email
                addresses, and plain text) that relates to the application
              items:
                properties:
                  name:
                    type: string
                  value:
                    type: string
                required:
                - name
                - value
                type: object
              type: array
            project:
              description: Project is a application project name. Empty name means
                that application belongs to 'default' project.
              type: string
            source:
              description: Source is a reference to the location ksonnet application
                definition
              properties:
                directory:
                  description: Directory holds path/directory specific options
                  properties:
                    jsonnet:
                      properties:
                        extVars:
                          description: ExtVars is a list of Jsonnet External Variables
                          items:
                            properties:
                              code:
                                type: boolean
                              name:
                                type: string
                              value:
                                type: string
                            required:
                            - name
                            - value
                            type: object
                          type: array
                        tlas:
                          description: TLAS is a list of Jsonnet Top-level Arguments
                          items:
                            properties:
                              code:
                                type: boolean
                              name:
                                type: string
                              value:
                                type: string
                            required:
                            - name
                            - value
                            type: object
                          type: array
                      type: object
                    recurse:
                      type: boolean
                  type: object
                helm:
                  description: Helm holds helm specific options
                  properties:
                    parameters:
                      description: Parameters are parameters to the helm template
                      items:
                        properties:
                          forceString:
                            description: ForceString determines whether to tell Helm
                              to interpret booleans and numbers as strings
                            type: boolean
                          name:
                            description: Name is the name of the helm parameter
                            type: string
                          value:
                            description: Value is the value for the helm parameter
                            type: string
                        type: object
                      type: array
                    releaseName:
                      description: The Helm release name. If omitted it will use the
                        application name
                      type: string
                    valueFiles:
                      description: ValuesFiles is a list of Helm value files to use
                        when generating a template
                      items:
                        type: string
                      type: array
                  type: object
                ksonnet:
                  description: Ksonnet holds ksonnet specific options
                  properties:
                    environment:
                      description: Environment is a ksonnet application environment
                        name
                      type: string
                    parameters:
                      description: Parameters are a list of ksonnet component parameter
                        override values
                      items:
                        properties:
                          component:
                            type: string
                          name:
                            type: string
                          value:
                            type: string
                        required:
                        - name
                        - value
                        type: object
                      type: array
                  type: object
                kustomize:
                  description: Kustomize holds kustomize specific options
                  properties:
                    commonLabels:
                      additionalProperties:
                        type: string
                      description: CommonLabels adds additional kustomize commonLabels
                      type: object
                    images:
                      description: Images are kustomize image overrides
                      items:
                        type: string
                      type: array
                    namePrefix:
                      description: NamePrefix is a prefix appended to resources for
                        kustomize apps
                      type: string
                  type: object
                path:
                  description: Path is a directory path within the repository containing
                    a
                  type: string
                plugin:
                  description: ConfigManagementPlugin holds config management plugin
                    specific options
                  properties:
                    env:
                      items:
                        properties:
                          name:
                            description: the name, usually uppercase
                            type: string
                          value:
                            description: the value
                            type: string
                        required:
                        - name
                        - value
                        type: object
                      type: array
                    name:
                      type: string
                  type: object
                repoURL:
                  description: RepoURL is the git repository URL of the application
                    manifests
                  type: string
                targetRevision:
                  description: TargetRevision defines the commit, tag, or branch in
                    which to sync the application to. If omitted, will sync to HEAD
                  type: string
              required:
              - repoURL
              - path
              type: object
            syncPolicy:
              description: SyncPolicy controls when a sync will be performed
              properties:
                automated:
                  description: Automated will keep an application synced to the target
                    revision
                  properties:
                    prune:
                      description: 'Prune will prune resources automatically as part
                        of automated sync (default: false)'
                      type: boolean
                    selfHeal:
                      description: 'SelfHeal enables auto-syncing if  (default: false)'
                      type: boolean
                  type: object
              type: object
          required:
          - source
          - destination
          - project
          type: object
        status:
          properties:
            conditions:
              items:
                properties:
                  message:
                    description: Message contains human-readable message indicating
                      details about condition
                    type: string
                  type:
                    description: Type is an application condition type
                    type: string
                required:
                - type
                - message
                type: object
              type: array
            health:
              properties:
                message:
                  type: string
                status:
                  type: string
              type: object
            history:
              items:
                properties:
                  deployedAt:
                    format: date-time
                    type: string
                  id:
                    format: int64
                    type: integer
                  revision:
                    type: string
                  source:
                    properties:
                      directory:
                        description: Directory holds path/directory specific options
                        properties:
                          jsonnet:
                            properties:
                              extVars:
                                description: ExtVars is a list of Jsonnet External
                                  Variables
                                items:
                                  properties:
                                    code:
                                      type: boolean
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                              tlas:
                                description: TLAS is a list of Jsonnet Top-level Arguments
                                items:
                                  properties:
                                    code:
                                      type: boolean
                                    name:
                                      type: string
                                    value:
                                      type: string
                                  required:
                                  - name
                                  - value
                                  type: object
                                type: array
                            type: object
                          recurse:
                            type: boolean
                        type: object
                      helm:
                        description: Helm holds helm specific options
                        properties:
                          parameters:
                            description: Parameters are parameters to the helm template
                            items:
                              properties:
                                forceString:
                                  description: ForceString determines whether to tell
                                    Helm to interpret booleans and numbers as strings
                                  type: boolean
                                name:
                                  description: Name is the name of the helm parameter
                                  type: string
                                value:
                                  description: Value is the value for the helm parameter
                                  type: string
                              type: object
                            type: array
                          releaseName:
                            description: The Helm release name. If omitted it will
                              use the application name
                            type: string
                          valueFiles:
                            description: ValuesFiles is a list of Helm value files
                              to use when generating a template
                            items:
                              type: string
                            type: array
                        type: object
                      ksonnet:
                        description: Ksonnet holds ksonnet specific options
                        properties:
                          environment:
                            description: Environment is a ksonnet application environment
                              name
                            type: string
                          parameters:
                            description: Parameters are a list of ksonnet component
                              parameter override values
                            items:
                              properties:
                                component:
                                  type: string
                                name:
                                  type: string
                                value:
                                  type: string
                              required:
                              - name
                              - value
                              type: object
                            type: array
                        type: object
                      kustomize:
                        description: Kustomize holds kustomize specific options
                        properties:
                          commonLabels:
                            additionalProperties:
                              type: string
                            description: CommonLabels adds additional kustomize commonLabels
                            type: object
                          images:
                            description: Images are kustomize image overrides
                            items:
                              type: string
                            type: array
                          namePrefix:
                            description: NamePrefix is a prefix appended to resources
                              for kustomize apps
                            type: string
                        type: object
                      path:
                        description: Path is a directory path within the repository
                          containing a
                        type: string
                      plugin:
                        description: ConfigManagementPlugin holds config management
                          plugin specific options
                        properties:
                          env:
                            items:
                              properties:
                                name:
                                  description: the name, usually uppercase
                                  type: string
                                value:
                                  description: the value
                                  type: string
                              required:
                              - name
                              - value
                              type: object
                            type: array
                          name:
                            type: string
                        type: object
                      repoURL:
                        description: RepoURL is the git repository URL of the application
                          manifests
                        type: string
                      targetRevision:
                        description: TargetRevision defines the commit, tag, or branch
                          in which to sync the application to. If omitted, will sync
                          to HEAD
                        type: string
                    required:
                    - repoURL
                    - path
                    type: object
                required:
                - revision
                - deployedAt
                - id
                type: object
              type: array
            observedAt:
              format: date-time
              type: string
            operationState:
              properties:
                finishedAt:
                  description: FinishedAt contains time of operation completion
                  format: date-time
                  type: string
                message:
                  description: Message hold any pertinent messages when attempting
                    to perform operation (typically errors).
                  type: string
                operation:
                  description: Operation is the original requested operation
                  properties:
                    sync:
                      properties:
                        dryRun:
                          description: DryRun will perform a `kubectl apply --dry-run`
                            without actually performing the sync
                          type: boolean
                        manifests:
                          description: Manifests is an optional field that overrides
                            sync source with a local directory for development
                          items:
                            type: string
                          type: array
                        prune:
                          description: Prune deletes resources that are no longer
                            tracked in git
                          type: boolean
                        resources:
                          description: Resources describes which resources to sync
                          items:
                            properties:
                              group:
                                type: string
                              kind:
                                type: string
                              name:
                                type: string
                            required:
                            - kind
                            - name
                            type: object
                          type: array
                        revision:
                          description: Revision is the git revision in which to sync
                            the application to. If omitted, will use the revision
                            specified in app spec.
                          type: string
                        source:
                          description: Source overrides the source definition set
                            in the application. This is typically set in a Rollback
                            operation and nil during a Sync operation
                          properties:
                            directory:
                              description: Directory holds path/directory specific
                                options
                              properties:
                                jsonnet:
                                  properties:
                                    extVars:
                                      description: ExtVars is a list of Jsonnet External
                                        Variables
                                      items:
                                        properties:
                                          code:
                                            type: boolean
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                    tlas:
                                      description: TLAS is a list of Jsonnet Top-level
                                        Arguments
                                      items:
                                        properties:
                                          code:
                                            type: boolean
                                          name:
                                            type: string
                                          value:
                                            type: string
                                        required:
                                        - name
                                        - value
                                        type: object
                                      type: array
                                  type: object
                                recurse:
                                  type: boolean
                              type: object
                            helm:
                              description: Helm holds helm specific options
                              properties:
                                parameters:
                                  description: Parameters are parameters to the helm
                                    template
                                  items:
                                    properties:
                                      forceString:
                                        description: ForceString determines whether
                                          to tell Helm to interpret booleans and numbers
                                          as strings
                                        type: boolean
                                      name:
                                        description: Name is the name of the helm
                                          parameter
                                        type: string
                                      value:
                                        description: Value is the value for the helm
                                          parameter
                                        type: string
                                    type: object
                                  type: array
                                releaseName:
                                  description: The Helm release name. If omitted it
                                    will use the application name
                                  type: string
                                valueFiles:
                                  description: ValuesFiles is a list of Helm value
                                    files to use when generating a template
                                  items:
                                    type: string
                                  type: array
                              type: object
                            ksonnet:
                              description: Ksonnet holds ksonnet specific options
                              properties:
                                environment:
                                  description: Environment is a ksonnet application
                                    environment name
                                  type: string
                                parameters:
                                  description: Parameters are a list of ksonnet component
                                    parameter override values
                                  items:
                                    properties:
                                      component:
                                        type: string
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                              type: object
                            kustomize:
                              description: Kustomize holds kustomize specific options
                              properties:
                                commonLabels:
                                  additionalProperties:
                                    type: string
                                  description: CommonLabels adds additional kustomize
                                    commonLabels
                                  type: object
                                images:
                                  description: Images are kustomize image overrides
                                  items:
                                    type: string
                                  type: array
                                namePrefix:
                                  description: NamePrefix is a prefix appended to
                                    resources for kustomize apps
                                  type: string
                              type: object
                            path:
                              description: Path is a directory path within the repository
                                containing a
                              type: string
                            plugin:
                              description: ConfigManagementPlugin holds config management
                                plugin specific options
                              properties:
                                env:
                                  items:
                                    properties:
                                      name:
                                        description: the name, usually uppercase
                                        type: string
                                      value:
                                        description: the value
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                name:
                                  type: string
                              type: object
                            repoURL:
                              description: RepoURL is the git repository URL of the
                                application manifests
                              type: string
                            targetRevision:
                              description: TargetRevision defines the commit, tag,
                                or branch in which to sync the application to. If
                                omitted, will sync to HEAD
                              type: string
                          required:
                          - repoURL
                          - path
                          type: object
                        syncStrategy:
                          description: SyncStrategy describes how to perform the sync
                          properties:
                            apply:
                              description: Apply wil perform a `kubectl apply` to
                                perform the sync.
                              properties:
                                force:
                                  description: Force indicates whether or not to supply
                                    the --force flag to `kubectl apply`. The --force
                                    flag deletes and re-create the resource, when
                                    PATCH encounters conflict and has retried for
                                    5 times.
                                  type: boolean
                              type: object
                            hook:
                              description: Hook will submit any referenced resources
                                to perform the sync. This is the default strategy
                              properties:
                                force:
                                  description: Force indicates whether or not to supply
                                    the --force flag to `kubectl apply`. The --force
                                    flag deletes and re-create the resource, when
                                    PATCH encounters conflict and has retried for
                                    5 times.
                                  type: boolean
                              type: object
                          type: object
                      type: object
                  type: object
                phase:
                  description: Phase is the current phase of the operation
                  type: string
                startedAt:
                  description: StartedAt contains time of operation start
                  format: date-time
                  type: string
                syncResult:
                  description: SyncResult is the result of a Sync operation
                  properties:
                    resources:
                      description: Resources holds the sync result of each individual
                        resource
                      items:
                        properties:
                          group:
                            type: string
                          hookPhase:
                            description: 'the state of any operation associated with
                              this resource OR hook note: can contain values for non-hook
                              resources'
                            type: string
                          hookType:
                            description: the type of the hook, empty for non-hook
                              resources
                            type: string
                          kind:
                            type: string
                          message:
                            description: message for the last sync OR operation
                            type: string
                          name:
                            type: string
                          namespace:
                            type: string
                          status:
                            description: the final result of the sync, this is be
                              empty if the resources is yet to be applied/pruned and
                              is always zero-value for hooks
                            type: string
                          syncPhase:
                            description: indicates the particular phase of the sync
                              that this is for
                            type: string
                          version:
                            type: string
                        required:
                        - group
                        - version
                        - kind
                        - namespace
                        - name
                        type: object
                      type: array
                    revision:
                      description: Revision holds the git commit SHA of the sync
                      type: string
                    source:
                      description: Source records the application source information
                        of the sync, used for comparing auto-sync
                      properties:
                        directory:
                          description: Directory holds path/directory specific options
                          properties:
                            jsonnet:
                              properties:
                                extVars:
                                  description: ExtVars is a list of Jsonnet External
                                    Variables
                                  items:
                                    properties:
                                      code:
                                        type: boolean
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                tlas:
                                  description: TLAS is a list of Jsonnet Top-level
                                    Arguments
                                  items:
                                    properties:
                                      code:
                                        type: boolean
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                              type: object
                            recurse:
                              type: boolean
                          type: object
                        helm:
                          description: Helm holds helm specific options
                          properties:
                            parameters:
                              description: Parameters are parameters to the helm template
                              items:
                                properties:
                                  forceString:
                                    description: ForceString determines whether to
                                      tell Helm to interpret booleans and numbers
                                      as strings
                                    type: boolean
                                  name:
                                    description: Name is the name of the helm parameter
                                    type: string
                                  value:
                                    description: Value is the value for the helm parameter
                                    type: string
                                type: object
                              type: array
                            releaseName:
                              description: The Helm release name. If omitted it will
                                use the application name
                              type: string
                            valueFiles:
                              description: ValuesFiles is a list of Helm value files
                                to use when generating a template
                              items:
                                type: string
                              type: array
                          type: object
                        ksonnet:
                          description: Ksonnet holds ksonnet specific options
                          properties:
                            environment:
                              description: Environment is a ksonnet application environment
                                name
                              type: string
                            parameters:
                              description: Parameters are a list of ksonnet component
                                parameter override values
                              items:
                                properties:
                                  component:
                                    type: string
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                          type: object
                        kustomize:
                          description: Kustomize holds kustomize specific options
                          properties:
                            commonLabels:
                              additionalProperties:
                                type: string
                              description: CommonLabels adds additional kustomize
                                commonLabels
                              type: object
                            images:
                              description: Images are kustomize image overrides
                              items:
                                type: string
                              type: array
                            namePrefix:
                              description: NamePrefix is a prefix appended to resources
                                for kustomize apps
                              type: string
                          type: object
                        path:
                          description: Path is a directory path within the repository
                            containing a
                          type: string
                        plugin:
                          description: ConfigManagementPlugin holds config management
                            plugin specific options
                          properties:
                            env:
                              items:
                                properties:
                                  name:
                                    description: the name, usually uppercase
                                    type: string
                                  value:
                                    description: the value
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            name:
                              type: string
                          type: object
                        repoURL:
                          description: RepoURL is the git repository URL of the application
                            manifests
                          type: string
                        targetRevision:
                          description: TargetRevision defines the commit, tag, or
                            branch in which to sync the application to. If omitted,
                            will sync to HEAD
                          type: string
                      required:
                      - repoURL
                      - path
                      type: object
                  required:
                  - revision
                  type: object
              required:
              - operation
              - phase
              - startedAt
              type: object
            reconciledAt:
              format: date-time
              type: string
            resources:
              items:
                properties:
                  group:
                    type: string
                  health:
                    properties:
                      message:
                        type: string
                      status:
                        type: string
                    type: object
                  hook:
                    type: boolean
                  kind:
                    type: string
                  name:
                    type: string
                  namespace:
                    type: string
                  requiresPruning:
                    type: boolean
                  status:
                    type: string
                  version:
                    type: string
                type: object
              type: array
            sourceType:
              type: string
            summary:
              properties:
                externalURLs:
                  description: ExternalURLs holds all external URLs of application
                    child resources.
                  items:
                    type: string
                  type: array
                images:
                  description: Images holds all images of application child resources.
                  items:
                    type: string
                  type: array
              type: object
            sync:
              properties:
                comparedTo:
                  properties:
                    destination:
                      properties:
                        namespace:
                          description: Namespace overrides the environment namespace
                            value in the ksonnet app.yaml
                          type: string
                        server:
                          description: Server overrides the environment server value
                            in the ksonnet app.yaml
                          type: string
                      type: object
                    source:
                      properties:
                        directory:
                          description: Directory holds path/directory specific options
                          properties:
                            jsonnet:
                              properties:
                                extVars:
                                  description: ExtVars is a list of Jsonnet External
                                    Variables
                                  items:
                                    properties:
                                      code:
                                        type: boolean
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                                tlas:
                                  description: TLAS is a list of Jsonnet Top-level
                                    Arguments
                                  items:
                                    properties:
                                      code:
                                        type: boolean
                                      name:
                                        type: string
                                      value:
                                        type: string
                                    required:
                                    - name
                                    - value
                                    type: object
                                  type: array
                              type: object
                            recurse:
                              type: boolean
                          type: object
                        helm:
                          description: Helm holds helm specific options
                          properties:
                            parameters:
                              description: Parameters are parameters to the helm template
                              items:
                                properties:
                                  forceString:
                                    description: ForceString determines whether to
                                      tell Helm to interpret booleans and numbers
                                      as strings
                                    type: boolean
                                  name:
                                    description: Name is the name of the helm parameter
                                    type: string
                                  value:
                                    description: Value is the value for the helm parameter
                                    type: string
                                type: object
                              type: array
                            releaseName:
                              description: The Helm release name. If omitted it will
                                use the application name
                              type: string
                            valueFiles:
                              description: ValuesFiles is a list of Helm value files
                                to use when generating a template
                              items:
                                type: string
                              type: array
                          type: object
                        ksonnet:
                          description: Ksonnet holds ksonnet specific options
                          properties:
                            environment:
                              description: Environment is a ksonnet application environment
                                name
                              type: string
                            parameters:
                              description: Parameters are a list of ksonnet component
                                parameter override values
                              items:
                                properties:
                                  component:
                                    type: string
                                  name:
                                    type: string
                                  value:
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                          type: object
                        kustomize:
                          description: Kustomize holds kustomize specific options
                          properties:
                            commonLabels:
                              additionalProperties:
                                type: string
                              description: CommonLabels adds additional kustomize
                                commonLabels
                              type: object
                            images:
                              description: Images are kustomize image overrides
                              items:
                                type: string
                              type: array
                            namePrefix:
                              description: NamePrefix is a prefix appended to resources
                                for kustomize apps
                              type: string
                          type: object
                        path:
                          description: Path is a directory path within the repository
                            containing a
                          type: string
                        plugin:
                          description: ConfigManagementPlugin holds config management
                            plugin specific options
                          properties:
                            env:
                              items:
                                properties:
                                  name:
                                    description: the name, usually uppercase
                                    type: string
                                  value:
                                    description: the value
                                    type: string
                                required:
                                - name
                                - value
                                type: object
                              type: array
                            name:
                              type: string
                          type: object
                        repoURL:
                          description: RepoURL is the git repository URL of the application
                            manifests
                          type: string
                        targetRevision:
                          description: TargetRevision defines the commit, tag, or
                            branch in which to sync the application to. If omitted,
                            will sync to HEAD
                          type: string
                      required:
                      - repoURL
                      - path
                      type: object
                  required:
                  - source
                  - destination
                  type: object
                revision:
                  type: string
                status:
                  type: string
              required:
              - status
              type: object
          type: object
      required:
      - metadata
      - spec
      type: object
  versions:
  - name: v1alpha1
    served: true
    storage: true
---
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  labels:
    app.kubernetes.io/name: appprojects.argoproj.io
    app.kubernetes.io/part-of: argocd
  name: appprojects.argoproj.io
spec:
  group: argoproj.io
  names:
    kind: AppProject
    plural: appprojects
    shortNames:
    - appproj
    - appprojs
  scope: Namespaced
  validation:
    openAPIV3Schema:
      description: 'AppProject provides a logical grouping of applications, providing
        controls for: * where the apps may deploy to (cluster whitelist) * what may
        be deployed (repository whitelist, resource whitelist/blacklist) * who can
        access these applications (roles, OIDC group claims bindings) * and what they
        can do (RBAC policies) * automation access to these roles (JWT tokens)'
      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/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/api-conventions.md#types-kinds'
          type: string
        metadata:
          properties:
            annotations:
              additionalProperties:
                type: string
              description: 'Annotations is an unstructured key value map stored with
                a resource that may be set by external tools to store and retrieve
                arbitrary metadata. They are not queryable and should be preserved
                when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations'
              type: object
            clusterName:
              description: The name of the cluster which the object belongs to. This
                is used to distinguish resources with same name and namespace in different
                clusters. This field is not set anywhere right now and apiserver is
                going to ignore it if set in create or update request.
              type: string
            deletionGracePeriodSeconds:
              description: Number of seconds allowed for this object to gracefully
                terminate before it will be removed from the system. Only set when
                deletionTimestamp is also set. May only be shortened. Read-only.
              format: int64
              type: integer
            deletionTimestamp:
              description: "DeletionTimestamp is RFC 3339 date and time at which this
                resource will be deleted. This field is set by the server when a graceful
                deletion is requested by the user, and is not directly settable by
                a client. The resource is expected to be deleted (no longer visible
                from resource lists, and not reachable by name) after the time in
                this field, once the finalizers list is empty. As long as the finalizers
                list contains items, deletion is blocked. Once the deletionTimestamp
                is set, this value may not be unset or be set further into the future,
                although it may be shortened or the resource may be deleted prior
                to this time. For example, a user may request that a pod is deleted
                in 30 seconds. The Kubelet will react by sending a graceful termination
                signal to the containers in the pod. After that 30 seconds, the Kubelet
                will send a hard termination signal (SIGKILL) to the container and
                after cleanup, remove the pod from the API. In the presence of network
                partitions, this object may still exist after this timestamp, until
                an administrator or automated process can determine the resource is
                fully terminated. If not set, graceful deletion of the object has
                not been requested. \n Populated by the system when a graceful deletion
                is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata"
              format: date-time
              type: string
            finalizers:
              description: Must be empty before the object is deleted from the registry.
                Each entry is an identifier for the responsible component that will
                remove the entry from the list. If the deletionTimestamp of the object
                is non-nil, entries in this list can only be removed.
              items:
                type: string
              type: array
            generateName:
              description: "GenerateName is an optional prefix, used by the server,
                to generate a unique name ONLY IF the Name field has not been provided.
                If this field is used, the name returned to the client will be different
                than the name passed. This value will also be combined with a unique
                suffix. The provided value has the same validation rules as the Name
                field, and may be truncated by the length of the suffix required to
                make the value unique on the server. \n If this field is specified
                and the generated name exists, the server will NOT return a 409 -
                instead, it will either return 201 Created or 500 with Reason ServerTimeout
                indicating a unique name could not be found in the time allotted,
                and the client should retry (optionally after the time indicated in
                the Retry-After header). \n Applied only if Name is not specified.
                More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#idempotency"
              type: string
            generation:
              description: A sequence number representing a specific generation of
                the desired state. Populated by the system. Read-only.
              format: int64
              type: integer
            initializers:
              description: "An initializer is a controller which enforces some system
                invariant at object creation time. This field is a list of initializers
                that have not yet acted on this object. If nil or empty, this object
                has been completely initialized. Otherwise, the object is considered
                uninitialized and is hidden (in list/watch and get calls) from clients
                that haven't explicitly asked to observe uninitialized objects. \n
                When an object is created, the system will populate this list with
                the current set of initializers. Only privileged users may set or
                modify this list. Once it is empty, it may not be modified further
                by any user. \n DEPRECATED - initializers are an alpha field and will
                be removed in v1.15."
              properties:
                pending:
                  description: Pending is a list of initializers that must execute
                    in order before this object is visible. When the last pending
                    initializer is removed, and no failing result is set, the initializers
                    struct will be set to nil and the object is considered as initialized
                    and visible to all clients.
                  items:
                    properties:
                      name:
                        description: name of the process that is responsible for initializing
                          this object.
                        type: string
                    required:
                    - name
                    type: object
                  type: array
                result:
                  description: If result is set with the Failure field, the object
                    will be persisted to storage and then deleted, ensuring that other
                    clients can observe the deletion.
                  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/api-conventions.md#resources'
                      type: string
                    code:
                      description: Suggested HTTP return code for this status, 0 if
                        not set.
                      format: int32
                      type: integer
                    details:
                      description: Extended data associated with the reason.  Each
                        reason may define its own extended details. This field is
                        optional and the data returned is not guaranteed to conform
                        to any schema except that defined by the reason type.
                      properties:
                        causes:
                          description: The Causes array includes more details associated
                            with the StatusReason failure. Not all StatusReasons may
                            provide detailed causes.
                          items:
                            properties:
                              field:
                                description: "The field of the resource that has caused
                                  this error, as named by its JSON serialization.
                                  May include dot and postfix notation for nested
                                  attributes. Arrays are zero-indexed.  Fields may
                                  appear more than once in an array of causes due
                                  to fields having multiple errors. Optional. \n Examples:
                                  \  \"name\" - the field \"name\" on the current
                                  resource   \"items[0].name\" - the field \"name\"
                                  on the first array entry in \"items\""
                                type: string
                              message:
                                description: A human-readable description of the cause
                                  of the error.  This field may be presented as-is
                                  to a reader.
                                type: string
                              reason:
                                description: A machine-readable description of the
                                  cause of the error. If this value is empty there
                                  is no information available.
                                type: string
                            type: object
                          type: array
                        group:
                          description: The group attribute of the resource associated
                            with the status StatusReason.
                          type: string
                        kind:
                          description: 'The kind attribute of the resource associated
                            with the status StatusReason. On some operations may differ
                            from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
                          type: string
                        name:
                          description: The name attribute of the resource associated
                            with the status StatusReason (when there is a single name
                            which can be described).
                          type: string
                        retryAfterSeconds:
                          description: If specified, the time in seconds before the
                            operation should be retried. Some errors may indicate
                            the client must take an alternate action - for those errors
                            this field may indicate how long to wait before taking
                            the alternate action.
                          format: int32
                          type: integer
                        uid:
                          description: 'UID of the resource. (when there is a single
                            resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
                          type: string
                      type: object
                    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/api-conventions.md#types-kinds'
                      type: string
                    message:
                      description: A human-readable description of the status of this
                        operation.
                      type: string
                    metadata:
                      description: 'Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
                      properties:
                        continue:
                          description: continue may be set if the user set a limit
                            on the number of items returned, and indicates that the
                            server has more data available. The value is opaque and
                            may be used to issue another request to the endpoint that
                            served this list to retrieve the next set of available
                            objects. Continuing a consistent list may not be possible
                            if the server configuration has changed or more than a
                            few minutes have passed. The resourceVersion field returned
                            when using this continue value will be identical to the
                            value in the first response, unless you have received
                            this token from an error message.
                          type: string
                        resourceVersion:
                          description: 'String that identifies the server''s internal
                            version of this object that can be used by clients to
                            determine when objects have changed. Value must be treated
                            as opaque by clients and passed unmodified back to the
                            server. Populated by the system. Read-only. More info:
                            https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
                          type: string
                        selfLink:
                          description: selfLink is a URL representing this object.
                            Populated by the system. Read-only.
                          type: string
                      type: object
                    reason:
                      description: A machine-readable description of why this operation
                        is in the "Failure" status. If this value is empty there is
                        no information available. A Reason clarifies an HTTP status
                        code but does not override it.
                      type: string
                    status:
                      description: 'Status of the operation. One of: "Success" or
                        "Failure". More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status'
                      type: string
                  type: object
              required:
              - pending
              type: object
            labels:
              additionalProperties:
                type: string
              description: 'Map of string keys and values that can be used to organize
                and categorize (scope and select) objects. May match selectors of
                replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels'
              type: object
            managedFields:
              description: "ManagedFields maps workflow-id and version to the set
                of fields that are managed by that workflow. This is mostly for internal
                housekeeping, and users typically shouldn't need to set or understand
                this field. A workflow can be the user's name, a controller's name,
                or the name of a specific apply path like \"ci-cd\". The set of fields
                is always in the version that the workflow used when modifying the
                object. \n This field is alpha and can be changed or removed without
                notice."
              items:
                properties:
                  apiVersion:
                    description: APIVersion defines the version of this resource that
                      this field set applies to. The format is "group/version" just
                      like the top-level APIVersion field. It is necessary to track
                      the version of a field set because it cannot be automatically
                      converted.
                    type: string
                  fields:
                    additionalProperties: true
                    description: Fields identifies a set of fields.
                    type: object
                  manager:
                    description: Manager is an identifier of the workflow managing
                      these fields.
                    type: string
                  operation:
                    description: Operation is the type of operation which lead to
                      this ManagedFieldsEntry being created. The only valid values
                      for this field are 'Apply' and 'Update'.
                    type: string
                  time:
                    description: Time is timestamp of when these fields were set.
                      It should always be empty if Operation is 'Apply'
                    format: date-time
                    type: string
                type: object
              type: array
            name:
              description: 'Name must be unique within a namespace. Is required when
                creating resources, although some resources may allow a client to
                request the generation of an appropriate name automatically. Name
                is primarily intended for creation idempotence and configuration definition.
                Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
              type: string
            namespace:
              description: "Namespace defines the space within each name must be unique.
                An empty namespace is equivalent to the \"default\" namespace, but
                \"default\" is the canonical representation. Not all objects are required
                to be scoped to a namespace - the value of this field for those objects
                will be empty. \n Must be a DNS_LABEL. Cannot be updated. More info:
                http://kubernetes.io/docs/user-guide/namespaces"
              type: string
            ownerReferences:
              description: List of objects depended by this object. If ALL objects
                in the list have been deleted, this object will be garbage collected.
                If this object is managed by a controller, then an entry in this list
                will point to this controller, with the controller field set to true.
                There cannot be more than one managing controller.
              items:
                properties:
                  apiVersion:
                    description: API version of the referent.
                    type: string
                  blockOwnerDeletion:
                    description: If true, AND if the owner has the "foregroundDeletion"
                      finalizer, then the owner cannot be deleted from the key-value
                      store until this reference is removed. Defaults to false. To
                      set this field, a user needs "delete" permission of the owner,
                      otherwise 422 (Unprocessable Entity) will be returned.
                    type: boolean
                  controller:
                    description: If true, this reference points to the managing controller.
                    type: boolean
                  kind:
                    description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
                    type: string
                  name:
                    description: 'Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names'
                    type: string
                  uid:
                    description: 'UID of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#uids'
                    type: string
                required:
                - apiVersion
                - kind
                - name
                - uid
                type: object
              type: array
            resourceVersion:
              description: "An opaque value that represents the internal version of
                this object that can be used by clients to determine when objects
                have changed. May be used for optimistic concurrency, change detection,
                and the watch operation on a resource or set of resources. Clients
                must treat these values as opaque and passed unmodified back to the
                server. They may only be valid for a particular resource or set of
                resources. \n Populated by the system. Read-only. Value must be treated
                as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency"
              type: string
            selfLink:
              description: SelfLink is a URL representing this object. Populated by
                the system. Read-only.
              type: string
            uid:
              description: "UID is the unique in time and space value for this object.
                It is typically generated by the server on successful creation of
                a resource and is not allowed to change on PUT operations. \n Populated
                by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids"
              type: string
          type: object
        spec:
          properties:
            clusterResourceWhitelist:
              description: ClusterResourceWhitelist contains list of whitelisted cluster
                level resources
              items:
                properties:
                  group:
                    type: string
                  kind:
                    type: string
                required:
                - group
                - kind
                type: object
              type: array
            description:
              description: Description contains optional project description
              type: string
            destinations:
              description: Destinations contains list of destinations available for
                deployment
              items:
                properties:
                  namespace:
                    description: Namespace overrides the environment namespace value
                      in the ksonnet app.yaml
                    type: string
                  server:
                    description: Server overrides the environment server value in
                      the ksonnet app.yaml
                    type: string
                type: object
              type: array
            namespaceResourceBlacklist:
              description: NamespaceResourceBlacklist contains list of blacklisted
                namespace level resources
              items:
                properties:
                  group:
                    type: string
                  kind:
                    type: string
                required:
                - group
                - kind
                type: object
              type: array
            roles:
              description: Roles are user defined RBAC roles associated with this
                project
              items:
                properties:
                  description:
                    description: Description is a description of the role
                    type: string
                  groups:
                    description: Groups are a list of OIDC group claims bound to this
                      role
                    items:
                      type: string
                    type: array
                  jwtTokens:
                    description: JWTTokens are a list of generated JWT tokens bound
                      to this role
                    items:
                      properties:
                        exp:
                          format: int64
                          type: integer
                        iat:
                          format: int64
                          type: integer
                      required:
                      - iat
                      type: object
                    type: array
                  name:
                    description: Name is a name for this role
                    type: string
                  policies:
                    description: Policies Stores a list of casbin formated strings
                      that define access policies for the role in the project
                    items:
                      type: string
                    type: array
                required:
                - name
                type: object
              type: array
            sourceRepos:
              description: SourceRepos contains list of git repository URLs which
                can be used for deployment
              items:
                type: string
              type: array
          type: object
      required:
      - metadata
      - spec
      type: object
  versions:
  - name: v1alpha1
    served: true
    storage: true
---
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    app.kubernetes.io/component: application-controller
    app.kubernetes.io/name: argocd-application-controller
    app.kubernetes.io/part-of: argocd
  name: argocd-application-controller
---
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    app.kubernetes.io/component: dex-server
    app.kubernetes.io/name: argocd-dex-server
    app.kubernetes.io/part-of: argocd
  name: argocd-dex-server
---
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    app.kubernetes.io/component: server
    app.kubernetes.io/name: argocd-server
    app.kubernetes.io/part-of: argocd
  name: argocd-server
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  labels:
    app.kubernetes.io/component: application-controller
    app.kubernetes.io/name: argocd-application-controller
    app.kubernetes.io/part-of: argocd
  name: argocd-application-controller
rules:
- apiGroups:
  - ""
  resources:
  - secrets
  - configmaps
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - argoproj.io
  resources:
  - applications
  - appprojects
  verbs:
  - create
  - get
  - list
  - watch
  - update
  - patch
  - delete
- apiGroups:
  - ""
  resources:
  - events
  verbs:
  - create
  - list
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  labels:
    app.kubernetes.io/component: dex-server
    app.kubernetes.io/name: argocd-dex-server
    app.kubernetes.io/part-of: argocd
  name: argocd-dex-server
rules:
- apiGroups:
  - ""
  resources:
  - secrets
  - configmaps
  verbs:
  - get
  - list
  - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  labels:
    app.kubernetes.io/component: server
    app.kubernetes.io/name: argocd-server
    app.kubernetes.io/part-of: argocd
  name: argocd-server
rules:
- apiGroups:
  - ""
  resources:
  - secrets
  - configmaps
  verbs:
  - create
  - get
  - list
  - watch
  - update
  - patch
  - delete
- apiGroups:
  - argoproj.io
  resources:
  - applications
  - appprojects
  verbs:
  - create
  - get
  - list
  - watch
  - update
  - delete
  - patch
- apiGroups:
  - ""
  resources:
  - events
  verbs:
  - create
  - list
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/component: application-controller
    app.kubernetes.io/name: argocd-application-controller
    app.kubernetes.io/part-of: argocd
  name: argocd-application-controller
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - '*'
- nonResourceURLs:
  - '*'
  verbs:
  - '*'
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/component: server
    app.kubernetes.io/name: argocd-server
    app.kubernetes.io/part-of: argocd
  name: argocd-server
rules:
- apiGroups:
  - '*'
  resources:
  - '*'
  verbs:
  - delete
  - get
  - patch
- apiGroups:
  - ""
  resources:
  - events
  verbs:
  - list
- apiGroups:
  - ""
  resources:
  - pods
  - pods/log
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  labels:
    app.kubernetes.io/component: application-controller
    app.kubernetes.io/name: argocd-application-controller
    app.kubernetes.io/part-of: argocd
  name: argocd-application-controller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: argocd-application-controller
subjects:
- kind: ServiceAccount
  name: argocd-application-controller
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  labels:
    app.kubernetes.io/component: dex-server
    app.kubernetes.io/name: argocd-dex-server
    app.kubernetes.io/part-of: argocd
  name: argocd-dex-server
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: argocd-dex-server
subjects:
- kind: ServiceAccount
  name: argocd-dex-server
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  labels:
    app.kubernetes.io/component: server
    app.kubernetes.io/name: argocd-server
    app.kubernetes.io/part-of: argocd
  name: argocd-server
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: argocd-server
subjects:
- kind: ServiceAccount
  name: argocd-server
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  labels:
    app.kubernetes.io/component: application-controller
    app.kubernetes.io/name: argocd-application-controller
    app.kubernetes.io/part-of: argocd
  name: argocd-application-controller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: argocd-application-controller
subjects:
- kind: ServiceAccount
  name: argocd-application-controller
  namespace: argocd
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  labels:
    app.kubernetes.io/component: server
    app.kubernetes.io/name: argocd-server
    app.kubernetes.io/part-of: argocd
  name: argocd-server
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: argocd-server
subjects:
- kind: ServiceAccount
  name: argocd-server
  namespace: argocd
---
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app.kubernetes.io/name: argocd-cm
    app.kubernetes.io/part-of: argocd
  name: argocd-cm
---
apiVersion: v1
kind: ConfigMap
metadata:
  labels:
    app.kubernetes.io/name: argocd-rbac-cm
    app.kubernetes.io/part-of: argocd
  name: argocd-rbac-cm
---
apiVersion: v1
data:
  ssh_known_hosts: |
    bitbucket.org ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAubiN81eDcafrgMeLzaFPsw2kNvEcqTKl/VqLat/MaB33pZy0y3rJZtnqwR2qOOvbwKZYKiEO1O6VqNEBxKvJJelCq0dTXWT5pbO2gDXC6h6QDXCaHo6pOHGPUy+YBaGQRGuSusMEASYiWunYN0vCAI8QaXnWMXNMdFP3jHAJH0eDsoiGnLPBlBp4TNm6rYI74nMzgz3B9IikW4WVK+dc8KZJZWYjAuORU3jc1c/NPskD2ASinf8v3xnfXeukU0sJ5N6m5E8VLjObPEO+mN2t/FZTMZLiFqPWc/ALSqnMnnhwrNi2rbfg/rd/IpL8Le3pSBne8+seeFVBoGqzHM9yXw==
    github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
    gitlab.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY=
    gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf
    gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9
    ssh.dev.azure.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
    vs-ssh.visualstudio.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7Hr1oTWqNqOlzGJOfGJ4NakVyIzf1rXYd4d7wo6jBlkLvCA4odBlL0mDUyZ0/QUfTTqeu+tm22gOsv+VrVTMk6vwRU75gY/y9ut5Mb3bR5BV58dKXyq9A9UeB5Cakehn5Zgm6x1mKoVyf+FFn26iYqXJRgzIZZcZ5V6hrE0Qg39kZm4az48o0AUbf6Sp4SLdvnuMa2sVNwHBboS7EJkm57XQPVU3/QpyNLHbWDdzwtrlS+ez30S3AdYhLKEOxAG8weOnyrtLJAUen9mTkol8oII1edf7mWWbWVf0nBmly21+nZcmCTISQBtdcyPaEno7fFQMDD26/s0lfKob4Kw8H
kind: ConfigMap
metadata:
  labels:
    app.kubernetes.io/name: argocd-ssh-known-hosts-cm
    app.kubernetes.io/part-of: argocd
  name: argocd-ssh-known-hosts-cm
---
apiVersion: v1
data: null
kind: ConfigMap
metadata:
  labels:
    app.kubernetes.io/name: argocd-tls-certs-cm
    app.kubernetes.io/part-of: argocd
  name: argocd-tls-certs-cm
---
apiVersion: v1
kind: Secret
metadata:
  labels:
    app.kubernetes.io/name: argocd-secret
    app.kubernetes.io/part-of: argocd
  name: argocd-secret
type: Opaque
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/component: dex-server
    app.kubernetes.io/name: argocd-dex-server
    app.kubernetes.io/part-of: argocd
  name: argocd-dex-server
spec:
  ports:
  - name: http
    port: 5556
    protocol: TCP
    targetPort: 5556
  - name: grpc
    port: 5557
    protocol: TCP
    targetPort: 5557
  selector:
    app.kubernetes.io/name: argocd-dex-server
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/component: metrics
    app.kubernetes.io/name: argocd-metrics
    app.kubernetes.io/part-of: argocd
  name: argocd-metrics
spec:
  ports:
  - name: metrics
    port: 8082
    protocol: TCP
    targetPort: 8082
  selector:
    app.kubernetes.io/name: argocd-application-controller
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/component: redis
    app.kubernetes.io/name: argocd-redis
    app.kubernetes.io/part-of: argocd
  name: argocd-redis
spec:
  ports:
  - name: tcp-redis
    port: 6379
    targetPort: 6379
  selector:
    app.kubernetes.io/name: argocd-redis
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/component: repo-server
    app.kubernetes.io/name: argocd-repo-server
    app.kubernetes.io/part-of: argocd
  name: argocd-repo-server
spec:
  ports:
  - name: server
    port: 8081
    protocol: TCP
    targetPort: 8081
  - name: metrics
    port: 8084
    protocol: TCP
    targetPort: 8084
  selector:
    app.kubernetes.io/name: argocd-repo-server
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/component: server
    app.kubernetes.io/name: argocd-server-metrics
    app.kubernetes.io/part-of: argocd
  name: argocd-server-metrics
spec:
  ports:
  - name: metrics
    port: 8083
    protocol: TCP
    targetPort: 8083
  selector:
    app.kubernetes.io/name: argocd-server
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/component: server
    app.kubernetes.io/name: argocd-server
    app.kubernetes.io/part-of: argocd
  name: argocd-server
spec:
  type: LoadBalancer
  ports:
  - name: http
    port: 80
    protocol: TCP
    targetPort: 8080
  - name: https
    port: 443
    protocol: TCP
    targetPort: 8080
  selector:
    app.kubernetes.io/name: argocd-server
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/component: application-controller
    app.kubernetes.io/name: argocd-application-controller
    app.kubernetes.io/part-of: argocd
  name: argocd-application-controller
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: argocd-application-controller
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app.kubernetes.io/name: argocd-application-controller
    spec:
      containers:
      - command:
        - argocd-application-controller
        - --status-processors
        - "20"
        - --operation-processors
        - "10"
        image: argoproj/argocd:v1.2.4
        imagePullPolicy: Always
        livenessProbe:
          httpGet:
            path: /healthz
            port: 8082
          initialDelaySeconds: 5
          periodSeconds: 10
        name: argocd-application-controller
        ports:
        - containerPort: 8082
        readinessProbe:
          httpGet:
            path: /healthz
            port: 8082
          initialDelaySeconds: 5
          periodSeconds: 10
      serviceAccountName: argocd-application-controller
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/component: dex-server
    app.kubernetes.io/name: argocd-dex-server
    app.kubernetes.io/part-of: argocd
  name: argocd-dex-server
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: argocd-dex-server
  template:
    metadata:
      labels:
        app.kubernetes.io/name: argocd-dex-server
    spec:
      containers:
      - command:
        - /shared/argocd-util
        - rundex
        image: quay.io/dexidp/dex:v2.14.0
        imagePullPolicy: Always
        name: dex
        ports:
        - containerPort: 5556
        - containerPort: 5557
        volumeMounts:
        - mountPath: /shared
          name: static-files
      initContainers:
      - command:
        - cp
        - /usr/local/bin/argocd-util
        - /shared
        image: argoproj/argocd:v1.2.4
        imagePullPolicy: Always
        name: copyutil
        volumeMounts:
        - mountPath: /shared
          name: static-files
      serviceAccountName: argocd-dex-server
      volumes:
      - emptyDir: {}
        name: static-files
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/component: redis
    app.kubernetes.io/name: argocd-redis
    app.kubernetes.io/part-of: argocd
  name: argocd-redis
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: argocd-redis
  template:
    metadata:
      labels:
        app.kubernetes.io/name: argocd-redis
    spec:
      containers:
      - args:
        - --save
        - ""
        - --appendonly
        - "no"
        image: redis:5.0.3
        imagePullPolicy: Always
        name: redis
        ports:
        - containerPort: 6379
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/component: repo-server
    app.kubernetes.io/name: argocd-repo-server
    app.kubernetes.io/part-of: argocd
  name: argocd-repo-server
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: argocd-repo-server
  template:
    metadata:
      labels:
        app.kubernetes.io/name: argocd-repo-server
    spec:
      automountServiceAccountToken: false
      containers:
      - command:
        - uid_entrypoint.sh
        - argocd-repo-server
        - --redis
        - argocd-redis:6379
        image: argoproj/argocd:v1.2.4
        imagePullPolicy: Always
        livenessProbe:
          initialDelaySeconds: 5
          periodSeconds: 10
          tcpSocket:
            port: 8081
        name: argocd-repo-server
        ports:
        - containerPort: 8081
        - containerPort: 8084
        readinessProbe:
          initialDelaySeconds: 5
          periodSeconds: 10
          tcpSocket:
            port: 8081
        volumeMounts:
        - mountPath: /app/config/ssh
          name: ssh-known-hosts
        - mountPath: /app/config/tls
          name: tls-certs
      volumes:
      - configMap:
          name: argocd-ssh-known-hosts-cm
        name: ssh-known-hosts
      - configMap:
          name: argocd-tls-certs-cm
        name: tls-certs
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/component: server
    app.kubernetes.io/name: argocd-server
    app.kubernetes.io/part-of: argocd
  name: argocd-server
spec:
  selector:
    matchLabels:
      app.kubernetes.io/name: argocd-server
  template:
    metadata:
      labels:
        app.kubernetes.io/name: argocd-server
    spec:
      containers:
      - command:
        - argocd-server
        - --staticassets
        - /shared/app
        image: argoproj/argocd:v1.2.4
        imagePullPolicy: Always
        livenessProbe:
          httpGet:
            path: /healthz
            port: 8080
          initialDelaySeconds: 3
          periodSeconds: 30
        name: argocd-server
        ports:
        - containerPort: 8080
        - containerPort: 8083
        readinessProbe:
          httpGet:
            path: /healthz
            port: 8080
          initialDelaySeconds: 3
          periodSeconds: 30
        volumeMounts:
        - mountPath: /app/config/ssh
          name: ssh-known-hosts
        - mountPath: /app/config/tls
          name: tls-certs
      serviceAccountName: argocd-server
      volumes:
      - emptyDir: {}
        name: static-files
      - configMap:
          name: argocd-ssh-known-hosts-cm
        name: ssh-known-hosts
      - configMap:
          name: argocd-tls-certs-cm
        name: tls-certs