v1alpha1AppProjectSpec is a JSON Structure definition published by Argo CD, describing 14 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/argo-cd/refs/heads/main/json-structure/argo-cd-v1alpha1-app-project-spec-structure.json",
"name": "v1alpha1AppProjectSpec",
"description": "v1alpha1AppProjectSpec schema from Argo CD API",
"type": "object",
"properties": {
"clusterResourceBlacklist": {
"type": "array",
"name": "ClusterResourceBlacklist contains list of blacklisted cluster level resources",
"items": {
"$ref": "#/definitions/v1alpha1ClusterResourceRestrictionItem"
}
},
"clusterResourceWhitelist": {
"type": "array",
"name": "ClusterResourceWhitelist contains list of whitelisted cluster level resources",
"items": {
"$ref": "#/definitions/v1alpha1ClusterResourceRestrictionItem"
}
},
"description": {
"type": "string",
"name": "Description contains optional project description\n+kubebuilder:validation:MaxLength=255"
},
"destinationServiceAccounts": {
"description": "DestinationServiceAccounts holds information about the service accounts to be impersonated for the application sync operation for each destination.",
"type": "array",
"items": {
"$ref": "#/definitions/v1alpha1ApplicationDestinationServiceAccount"
}
},
"destinations": {
"type": "array",
"name": "Destinations contains list of destinations available for deployment",
"items": {
"$ref": "#/definitions/v1alpha1ApplicationDestination"
}
},
"namespaceResourceBlacklist": {
"type": "array",
"name": "NamespaceResourceBlacklist contains list of blacklisted namespace level resources",
"items": {
"$ref": "#/definitions/v1GroupKind"
}
},
"namespaceResourceWhitelist": {
"type": "array",
"name": "NamespaceResourceWhitelist contains list of whitelisted namespace level resources",
"items": {
"$ref": "#/definitions/v1GroupKind"
}
},
"orphanedResources": {
"$ref": "#/definitions/v1alpha1OrphanedResourcesMonitorSettings"
},
"permitOnlyProjectScopedClusters": {
"type": "boolean",
"name": "PermitOnlyProjectScopedClusters determines whether destinations can only reference clusters which are project-scoped"
},
"roles": {
"type": "array",
"name": "Roles are user defined RBAC roles associated with this project",
"items": {
"$ref": "#/definitions/v1alpha1ProjectRole"
}
},
"signatureKeys": {
"type": "array",
"name": "SignatureKeys contains a list of PGP key IDs that commits in Git must be signed with in order to be allowed for sync",
"items": {
"$ref": "#/definitions/v1alpha1SignatureKey"
}
},
"sourceNamespaces": {
"type": "array",
"name": "SourceNamespaces defines the namespaces application resources are allowed to be created in",
"items": {
"type": "string"
}
},
"sourceRepos": {
"type": "array",
"name": "SourceRepos contains list of repository URLs which can be used for deployment",
"items": {
"type": "string"
}
},
"syncWindows": {
"type": "array",
"name": "SyncWindows controls when syncs can be run for apps in this project",
"items": {
"$ref": "#/definitions/v1alpha1SyncWindow"
}
}
}
}