Overview
The Project Service API manages AppProject resources, which provide logical grouping and access control for Applications. Projects define where apps can deploy, what can be deployed, and who can access them. Base Path:/api/v1/projects
gRPC Service: project.ProjectService
AppProject Resource
An AppProject provides multi-tenancy and RBAC controls for Applications.AppProject Spec
string[]
required
Allowed source repositories (supports wildcards)
ApplicationDestination[]
required
Allowed deployment destinations
ResourceSelector[]
Allowed cluster-scoped resources
ResourceSelector[]
Denied cluster-scoped resources
ResourceSelector[]
Allowed namespace-scoped resources
ResourceSelector[]
Denied namespace-scoped resources
ProjectRole[]
RBAC roles for the project
SyncWindow[]
Time windows for controlling sync operations
string[]
Namespaces where Applications can be created
Example AppProject
API Operations
List Projects
Retrieve list of projects.Get Project
Retrieve a specific project.string
required
Project name
Get Detailed Project
Get project with global projects and scoped resources.string
required
Project name
- Project definition
- Global projects
- Scoped repositories
- Scoped clusters
Create Project
Create a new project.AppProject
required
Complete AppProject resource
boolean
Update if already exists (default: false)
Update Project
Update an existing project.AppProject
required
Updated AppProject resource
Delete Project
Delete a project.string
required
Project name
Token Management
Create Project Token
Generate a JWT token for a project role.string
required
Project name
string
required
Role name
string
Token description
int64
Token lifetime in seconds (0 = no expiration)
string
Custom token identifier
Delete Project Token
Revoke a project token.string
required
Project name
string
required
Role name
int64
required
Token issued-at timestamp
string
Token ID (alternative to iat)
RBAC Policies
Project roles use Casbin policy syntax:Policy Components
- subject:
proj:<project>:<role> - resource:
applications,clusters,repositories, etc. - action:
get,create,update,delete,sync,override,action/* - object:
<project>/<application>or<project>/* - effect:
allowordeny
Policy Examples
Sync Windows
Control when applications can be synced.Get Sync Windows
Get active and assigned sync windows for a project.string
required
Project name
Sync Window Configuration
Events & Monitoring
List Project Events
Get Kubernetes events for a project.string
required
Project name
List Project Links
Get deep links configured for the project.Global Projects
Global projects provide shared configuration.Get Global Projects
Get global projects for a project.string
required
Project name
Resource Restrictions
Allow All Resources
Specific Resource Types
Deny Specific Resources
Wildcard Patterns
Source Repositories
Destinations
Next Steps
Application API
Create applications in projects
Cluster API
Configure destination clusters
Repository API
Configure source repositories