AppProject

io.argoproj.v1alpha1.AppProject

AppProject provides a logical grouping of applications, providing controls for:

apiVersionstring = "argoproj.io/v1alpha1"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
kindstring = "AppProject"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
metadataobject required
specobject requiredAppProjectSpec is the specification of an AppProject
clusterResourceBlacklist[]objectClusterResourceBlacklist contains list of blacklisted cluster level resources
groupstring required
kindstring required
namestringName 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[]objectClusterResourceWhitelist contains list of whitelisted cluster level resources
groupstring required
kindstring required
namestringName 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.
descriptionstringDescription contains optional project description
destinationServiceAccounts[]objectDestinationServiceAccounts holds information about the service accounts to be impersonated for the application sync operation for each destination.
defaultServiceAccountstring requiredDefaultServiceAccount to be used for impersonation during the sync operation
namespacestringNamespace specifies the target namespace for the application's resources.
serverstring requiredServer specifies the URL of the target cluster's Kubernetes control plane API.
destinations[]objectDestinations contains list of destinations available for deployment
namestringName is an alternate way of specifying the target cluster by its symbolic name. This must be set if Server is not set.
namespacestringNamespace 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
serverstringServer specifies the URL of the target cluster's Kubernetes control plane API. This must be set if Name is not set.
namespaceResourceBlacklist[]objectNamespaceResourceBlacklist contains list of blacklisted namespace level resources
groupstring required
kindstring required
namespaceResourceWhitelist[]objectNamespaceResourceWhitelist contains list of whitelisted namespace level resources
groupstring required
kindstring required
orphanedResourcesobjectOrphanedResources specifies if controller should monitor orphaned resources of apps in this project
ignore[]objectIgnore contains a list of resources that are to be excluded from orphaned resources monitoring
groupstring
kindstring
namestring
warnbooleanWarn indicates if warning condition should be created for apps which have orphaned resources
permitOnlyProjectScopedClustersbooleanPermitOnlyProjectScopedClusters determines whether destinations can only reference clusters which are project-scoped
roles[]objectRoles are user defined RBAC roles associated with this project
descriptionstringDescription is a description of the role
groups[]stringGroups are a list of OIDC group claims bound to this role
jwtTokens[]objectJWTTokens are a list of generated JWT tokens bound to this role
expinteger (int64)
iatinteger (int64) required
idstring
namestring requiredName is a name for this role
policies[]stringPolicies Stores a list of casbin formatted strings that define access policies for the role in the project
signatureKeys[]objectSignatureKeys contains a list of PGP key IDs that commits in Git must be signed with in order to be allowed for sync
keyIDstring requiredThe ID of the key in hexadecimal notation
sourceNamespaces[]stringSourceNamespaces defines the namespaces application resources are allowed to be created in
sourceRepos[]stringSourceRepos contains list of repository URLs which can be used for deployment
syncWindows[]objectSyncWindows controls when syncs can be run for apps in this project
andOperatorbooleanUseAndOperator use AND operator for matching applications, namespaces and clusters instead of the default OR operator
applications[]stringApplications contains a list of applications that the window will apply to
clusters[]stringClusters contains a list of clusters that the window will apply to
descriptionstringDescription of the sync that will be applied to the schedule, can be used to add any information such as a ticket number for example
durationstringDuration is the amount of time the sync window will be open
kindstringKind defines if the window allows or blocks syncs
manualSyncbooleanManualSync enables manual syncs when they would otherwise be blocked
namespaces[]stringNamespaces contains a list of namespaces that the window will apply to
schedulestringSchedule is the time the window will begin, specified in cron format
timeZonestringTimeZone of the sync that will be applied to the schedule
statusobject read-onlyAppProjectStatus contains status information for AppProject CRs
jwtTokensByRolemap[string]object read-onlyJWTTokensByRole contains a list of JWT tokens issued for a given role