Hanzo
OpenapiDeploy

Returns the argocd AppProjectList this console groups and filters applications…

Returns the argocd AppProjectList this console groups and filters applications by.

GET /v1/deploy/projects

Addresshttps://api.hanzo.ai/v1/deploy/projects
MethodGET
Operationget_deploy_projects
AuthAuthorization: Bearer $HANZO_API_KEY

Returns the argocd AppProjectList this console groups and filters applications by. Projects are owned by Hanzo IAM rather than by argocd, so they are REFLECTED read-only from the IAM project store and nothing is persisted here: a validated org member gets its own organization's projects and a platform SuperAdmin gets every organization's.

A SuperAdmin whose IAM store is not reachable falls back to the real argoproj.io AppProject CRs when that CRD is served, and otherwise to one permissive synthesized project per distinct project name the App CRs declare. A project named "default" is always present, because that is what an App CR carrying no project label projects to.

Request

GET /v1/deploy/projects takes no parameters and no body — the credential is the whole request.

Response

StatusBodyMeaning
200argoProjectListok

200 body — 23 fields.

FieldInTypeAlwaysDescription
itemsbodyargoProject[]Items is the projects visible to the caller — its own organization's, or every organization's for a SuperAdmin.
items[].apiVersionbodystringAPIVersion is the constant "argoproj.io/v1alpha1".
items[].kindbodystringKind is the constant "AppProject".
items[].metadatabodyargoMeta
items[].metadata.creationTimestampbodystringCreationTimestamp is when the source object was created, RFC 3339 to the second.
items[].metadata.labelsbodyobjectLabels are the labels this projection puts on the row, not the source object's full label set.
items[].metadata.labels.*bodystring
items[].metadata.namebodystringName is the projected object's name: the App CR's metadata.name for an application, the CD Application's name for a CD row, and the IAM project name for a…
items[].metadata.namespacebodystringNamespace is the namespace the source object was read from — the tenant or platform namespace for an App CR, CD's controller namespace for a CD row.
items[].metadata.uidbodystringUID is the k8s metadata.uid of the source object, which is what the SPA keys a row on across refreshes.
items[].specbodyargoProjectSpec
items[].spec.clusterResourceWhitelistbodyargoGroupKind[]ClusterResourceWhitelist are the cluster-scoped kinds it may create — [{group:"", kind:""}] on a synthesized project.
items[].spec.clusterResourceWhitelist[].groupbodystringGroup is the API group a project admits, "*" for any.
items[].spec.clusterResourceWhitelist[].kindbodystringKind is the kind it admits, "*" for any.
items[].spec.descriptionbodystringDescription is the project's human label: the IAM project's display name, or its description when it has no display name.
items[].spec.destinationsbodyargoDestination[]Destinations are the cluster/namespace pairs it may write to — a single {server:"", namespace:""} on a synthesized project, for the same reason.
items[].spec.destinations[].namebodystringArgoCD allows a destination by cluster name; omitted for the in-cluster projection.
items[].spec.destinations[].namespacebodystringNamespace is where in that cluster the workload lands.
items[].spec.destinations[].serverbodystringServer is the cluster API URL the application reconciles into.
items[].spec.sourceReposbodystring[]SourceRepos are the git repos applications in this project may pull from.
items[].statusbodyargoProjectStat
metadatabodyargoListMeta
metadata.resourceVersionbodystringResourceVersion is the k8s list version a watch would resume from.

Failure carries the platform error shape — see Errors.

Examples

hanzo deploy projects

Deploy API · All Hanzo APIs · Interactive reference

How is this guide?

On this page