AppProject
io.argoproj.v1alpha1.AppProject
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)
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#resourceskindstring = "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-kindsmetadataobject requiredspecobject requiredAppProjectSpec is the specification of an AppProject
clusterResourceBlacklist[]objectClusterResourceBlacklist contains list of blacklisted cluster level resources
groupstring requiredkindstring requiredclusterResourceWhitelist[]objectClusterResourceWhitelist contains list of whitelisted cluster level resources
groupstring requiredkindstring requireddescriptionstringDescription contains optional project descriptiondestinationServiceAccounts[]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 operationnamespacestringNamespace 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.namespaceserverstringServer 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 requiredkindstring requirednamespaceResourceWhitelist[]objectNamespaceResourceWhitelist contains list of whitelisted namespace level resources
groupstring requiredkindstring requiredorphanedResourcesobjectOrphanedResources 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
groupstringkindstringnamestringwarnbooleanWarn indicates if warning condition should be created for apps which have orphaned resourcespermitOnlyProjectScopedClustersbooleanPermitOnlyProjectScopedClusters determines whether destinations can only reference clusters which are project-scopedroles[]objectRoles are user defined RBAC roles associated with this project
descriptionstringDescription is a description of the rolegroups[]stringGroups are a list of OIDC group claims bound to this rolejwtTokens[]objectJWTTokens are a list of generated JWT tokens bound to this role
expinteger (int64)iatinteger (int64) requiredidstringnamestring requiredName is a name for this rolepolicies[]stringPolicies Stores a list of casbin formatted strings that define access policies for the role in the projectsignatureKeys[]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 notationsourceNamespaces[]stringSourceNamespaces defines the namespaces application resources are allowed to be created insourceRepos[]stringSourceRepos contains list of repository URLs which can be used for deploymentsyncWindows[]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 operatorapplications[]stringApplications contains a list of applications that the window will apply toclusters[]stringClusters contains a list of clusters that the window will apply todescriptionstringDescription of the sync that will be applied to the schedule, can be used to add any information such as a ticket number for exampledurationstringDuration is the amount of time the sync window will be openkindstringKind defines if the window allows or blocks syncsmanualSyncbooleanManualSync enables manual syncs when they would otherwise be blockednamespaces[]stringNamespaces contains a list of namespaces that the window will apply toschedulestringSchedule is the time the window will begin, specified in cron formattimeZonestringTimeZone of the sync that will be applied to the schedulestatusobject read-onlyAppProjectStatus contains status information for AppProject CRs
jwtTokensByRolemap[string]object read-onlyJWTTokensByRole contains a list of JWT tokens issued for a given role