Skip to main content
The argocd proj (or argocd project) command manages projects, which provide logical grouping of applications with RBAC policies, resource restrictions, and access controls.

Quick Examples

Understanding Projects

Projects provide:
  • Logical grouping of applications
  • RBAC policies for access control
  • Source repositories whitelist
  • Destination clusters and namespaces whitelist
  • Resource allow/deny lists (which Kubernetes resources can be deployed)
  • Orphaned resources monitoring
  • Sync windows for controlling when deployments can occur
The default project exists in all Argo CD installations and has no restrictions by default.

Subcommands

create

Create a new project.
Key Flags:
string
Project description
string[]
Permitted source repository URLs (supports wildcards)
string[]
Permitted destination in format: SERVER,NAMESPACE
string[]
Allow cluster-scoped resource (e.g., Namespace, ClusterRole)
string[]
Allow namespaced resource (e.g., Deployment, Service)
boolean
Warn on orphaned resources

list

List all projects.
Output:

get

Get detailed information about a project.
Output:

set

Update project settings.

edit

Edit project in your default editor.
This opens the project YAML in your $EDITOR.

delete

Delete a project.
You cannot delete a project that has applications. Delete or move all applications first.

Managing Sources

add-source

Add permitted source repository.

remove-source

Remove permitted source repository.

add-source-namespace

Add source namespace for ApplicationSet.

remove-source-namespace

Remove source namespace.

Managing Destinations

add-destination

Add permitted destination cluster and namespace.
string
required
Kubernetes cluster server URL
string
required
Target namespace (supports wildcards)
string
Cluster name instead of server URL

remove-destination

Remove permitted destination.

add-destination-service-account

Add service account for destination.

remove-destination-service-account

Remove service account from destination.

Resource Whitelists/Blacklists

allow-cluster-resource

Add cluster-scoped resource to allow list.

deny-cluster-resource

Add cluster-scoped resource to deny list.

allow-namespace-resource

Add namespaced resource to allow list.

deny-namespace-resource

Add namespaced resource to deny list.

Project Roles

Manage RBAC roles within a project.

role create

Create a new project role.

role list

List project roles.
Output:

role get

Get role details.

role delete

Delete a project role.

role add-policy

Add policy to project role.
Policy Actions:
  • get - View application
  • create - Create application
  • update - Update application
  • delete - Delete application
  • sync - Sync application
  • override - Override application parameters
  • * - All actions

role remove-policy

Remove policy from project role.

role add-group

Associate SSO group with project role.

role remove-group

Remove SSO group from project role.

role create-token

Create authentication token for project role.
Output:

role list-tokens

List tokens for a project role.

role delete-token

Delete authentication token.

Sync Windows

Control when applications can be synced.

windows add

Add a sync window.
string
required
Cron schedule (e.g., “0 9 * * 1-5” for weekdays 9am)
string
required
Window duration (e.g., 1h, 30m, 8h)
string
default:"allow"
Window type: allow or deny
string[]
Applications to which window applies (supports wildcards)
string[]
Namespaces to which window applies
string[]
Clusters to which window applies
boolean
Allow manual sync during this window

windows list

List sync windows.

windows delete

Delete a sync window.

windows enable-manual-sync / disable-manual-sync

Control manual sync in windows.

Common Workflows

Create Production Project

Create Development Project

Setup RBAC for Team

Best Practices

  • Use separate projects for different environments (prod, staging, dev)
  • Define explicit source repositories instead of using wildcards
  • Use resource whitelists to enforce governance
  • Leverage sync windows for production change management
  • Create role-based access with SSO group integration
  • Use project tokens for CI/CD pipelines
  • Monitor orphaned resources in production projects
  • Document project policies and intended usage

Next Steps

App Commands

Create applications within projects

Account Commands

Manage user accounts and permissions