Project Specification
The following describes all the available fields of a Project:
apiVersion: argoproj.io/v1alpha1kind: AppProjectmetadata:name: my-projectnamespace: argocd# Finalizer that ensures that project is not deleted until it is not referenced by any applicationfinalizers:- resources-finalizer.argocd.argoproj.iospec:# Project descriptiondescription: Example Project# Allow manifests to deploy from any Git repossourceRepos:- '*'# Only permit applications to deploy to the guestbook namespace in the same cluster# Destination clusters can be identified by 'server', 'name', or both.destinations:- namespace: guestbookserver: https://kubernetes.default.svcname: in-cluster# Deny all cluster-scoped resources from being created, except for NamespaceclusterResourceWhitelist:- group: ''kind: Namespace# Allow all namespaced-scoped resources to be created, except for ResourceQuota, LimitRange, NetworkPolicynamespaceResourceBlacklist:- group: ''kind: ResourceQuota- group: ''kind: LimitRange- group: ''kind: NetworkPolicy# Deny all namespaced-scoped resources from being created, except for Deployment and StatefulSetnamespaceResourceWhitelist:- group: 'apps'kind: Deployment- group: 'apps'kind: StatefulSet# Enables namespace orphaned resource monitoring.orphanedResources:warn: falseroles:# A role which provides read-only access to all applications in the project- name: read-onlydescription: Read-only privileges to my-projectpolicies:- p, proj:my-project:read-only, applications, get, my-project/*, allowgroups:- my-oidc-group# A role which provides sync privileges to only the guestbook-dev application, e.g. to provide# sync privileges to a CI system- name: ci-roledescription: Sync privileges for guestbook-devpolicies:- p, proj:my-project:ci-role, applications, sync, my-project/guestbook-dev, allow# NOTE: JWT tokens can only be generated by the API server and the token is not persisted# anywhere by Argo CD. It can be prematurely revoked by removing the entry from this list.jwtTokens:- iat: 1535390316# Sync windows restrict when Applications may be synced. https://argo-cd.readthedocs.io/en/stable/user-guide/sync_windows/syncWindows:- kind: allowschedule: '10 1 * * *'duration: 1happlications:- '*-prod'manualSync: true- kind: denyschedule: '0 22 * * *'duration: 1hnamespaces:- default- kind: allowschedule: '0 23 * * *'duration: 1hclusters:- in-cluster- cluster1# By default, apps may sync to any cluster specified under the `destinations` field, even if they are not# scoped to this project. Set the following field to `true` to restrict apps in this cluster to only clusters# scoped to this project.permitOnlyProjectScopedClusters: false# When using Applications-in-any-namespace, this field determines which namespaces this AppProject permits# Applications to reside in. Details: https://argo-cd.readthedocs.io/en/stable/operator-manual/app-any-namespace/sourceNamespaces:- "argocd-apps-*"