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)
Last changed in ArgoCD v3.5.0
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
AppProjectSpec is the specification of an AppProject
ClusterResourceBlacklist contains list of blacklisted cluster level resources
Name is the name of the restricted resource. Glob patterns using Go's filepath.Match syntax are supported. Unlike the group and kind fields, if no name is specified, all resources of the specified group/kind are matched.
ClusterResourceWhitelist contains list of whitelisted cluster level resources
Name is the name of the restricted resource. Glob patterns using Go's filepath.Match syntax are supported. Unlike the group and kind fields, if no name is specified, all resources of the specified group/kind are matched.
Description contains optional project description
DestinationServiceAccounts holds information about the service accounts to be impersonated for the application sync operation for each destination.
DefaultServiceAccount to be used for impersonation during the sync operation
Namespace specifies the target namespace for the application's resources.
Server specifies the URL of the target cluster's Kubernetes control plane API.
Destinations contains list of destinations available for deployment
Name is an alternate way of specifying the target cluster by its symbolic name. This must be set if Server is not set.
Namespace specifies the target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace
Server specifies the URL of the target cluster's Kubernetes control plane API. This must be set if Name is not set.
NamespaceResourceBlacklist contains list of blacklisted namespace level resources
NamespaceResourceWhitelist contains list of whitelisted namespace level resources
OrphanedResources specifies if controller should monitor orphaned resources of apps in this project
Ignore contains a list of resources that are to be excluded from orphaned resources monitoring
Warn indicates if warning condition should be created for apps which have orphaned resources
PermitOnlyProjectScopedClusters determines whether destinations can only reference clusters which are project-scoped
Roles are user defined RBAC roles associated with this project
Description is a description of the role
Groups are a list of OIDC group claims bound to this role
JWTTokens are a list of generated JWT tokens bound to this role
Name is a name for this role
Policies Stores a list of casbin formatted strings that define access policies for the role in the project
SignatureKeys contains a list of PGP key IDs that commits in Git must be signed with in order to be allowed for sync Deprecated: Use SourceIntegrity instead. SignatureKeys will be removed with the next major version.
The ID of the key in hexadecimal notation
SourceIntegrity represents a constraint on manifest sources integrity to be met before they can be used. Do not access directly, use EffectiveSourceIntegrity() for correct backwards compatibility handling.
Git - policies for git source verification
Verify GPG commit/tag signatures
List of key IDs to trust. The keys need to be in the repository server keyring.
List of repository criteria restricting repositories the policy will apply to
URL specifier, glob.
SourceNamespaces defines the namespaces application resources are allowed to be created in
SourceRepos contains list of repository URLs which can be used for deployment
SyncWindows controls when syncs can be run for apps in this project
UseAndOperator use AND operator for matching applications, namespaces and clusters instead of the default OR operator
Applications contains a list of applications that the window will apply to
Clusters contains a list of clusters that the window will apply to
Description of the sync that will be applied to the schedule, can be used to add any information such as a ticket number for example
Duration is the amount of time the sync window will be open
Kind defines if the window allows or blocks syncs
ManualSync enables manual syncs when they would otherwise be blocked
Namespaces contains a list of namespaces that the window will apply to
Schedule is the time the window will begin, specified in cron format
SyncOverrun allows ongoing syncs to continue in two scenarios: For deny windows: allows syncs that started before the deny window became active to continue running For allow windows: allows syncs that started during the allow window to continue after the window ends
TimeZone of the sync that will be applied to the schedule
AppProjectStatus contains status information for AppProject CRs
JWTTokensByRole contains a list of JWT tokens issued for a given role
Source: appproject-crd.yaml
Changes to AppProject (argoproj.io/v1alpha1) in each ArgoCD version, compared to the version before it.
2 properties have been added
1 property has changed the description
Released · View AppProject in v3.5.0
2 properties have been added
Released · View AppProject in v3.3.0
1 property has been added
Released · View AppProject in v3.1.0
1 property has been added
Released · View AppProject in v3.0.0
1 property has been added
Released · View AppProject in v2.13.0
The description of AppProject has changed
3 properties have changed the description
Released · View AppProject in v2.12.0
2 properties have changed the description
Released · View AppProject in v2.9.0
2 properties have been added
Released · View AppProject in v2.5.0
1 property has been added
Released · View AppProject in v2.2.0
1 property has changed the description
Released · View AppProject in v2.1.0
1 property has been added
5 properties have changed the description
Released · View AppProject in v2.0.0
1 property has been removed
Released · View AppProject in v1.7.1
5 properties have been added
Released · View AppProject in v1.7.0
2 properties have been added
Released · View AppProject in v1.5.3
16 properties have been removed
3 properties have changed the description
Released · View AppProject in v1.4.0
2 properties have been added
1 property has changed the description
Released · View AppProject in v1.3.0
20 properties have been added
2 properties are now required
The description of AppProject has changed
1 property has changed the description
Released · View AppProject in v1.2.0
AppProject was already present in this version of ArgoCD, the oldest one on kubespec.dev
Released · View AppProject in v0.11.0
No examples of AppProject yet. Contribute one on GitHub.