List or watch apps in every project
const url = 'https://example.com/apis/nodus.dev/v1/apps';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/apis/nodus.dev/v1/appsParameters
Section titled “ Parameters ”Query Parameters
Section titled “ Query Parameters ”Responses
Section titled “ Responses ”OK
object
App is the group of Functions and Agents defined in one Python file. nodus deploy creates or updates a persistent App; nodus run creates an ephemeral one that is deleted when the entrypoint exits. Members are owned by the App, labeled nodus.dev/app, and named
object
object
object
object
object
object
object
AppSpec describes an App. Ephemeral is immutable; the rest changes on each deploy.
object
Description is a note of at most 1 KiB.
Ephemeral makes the App live only as long as its client renews it.
RenewTime is when an ephemeral App was last renewed. The client renews it every 30 s, and the App is deleted when it is older than 2 minutes.
AppSource is the code of an App.
object
Blob is the content-addressed code archive.
AppStatus is what Nodus observed about an App.
object
Conditions are the App’s conditions.
object
DeployTime is when the App was last deployed.
AppMembers is status.members.
object
Agents counts the App’s Agents.
Functions counts the App’s Functions.
Ready counts the members that accept work.
Message explains a Failed phase, naming the member.
ObservedGeneration is the spec generation this status reflects.
Phase is Pending while members are not ready, Ready, or Failed when a member failed.
Version increments on each deploy.
object
object
Example generated
{ "apiVersion": "example", "items": [ { "apiVersion": "example", "kind": "example", "metadata": { "annotations": { "additionalProperty": "example" }, "creationTimestamp": "example", "deletionGracePeriodSeconds": 1, "deletionTimestamp": "example", "finalizers": [ "example" ], "generateName": "example", "generation": 1, "labels": { "additionalProperty": "example" }, "managedFields": [ { "apiVersion": "example", "fieldsType": "example", "fieldsV1": { "additionalProperty": "example" }, "manager": "example", "operation": "example", "subresource": "example", "time": "example" } ], "name": "example", "namespace": "example", "ownerReferences": [ { "apiVersion": "example", "blockOwnerDeletion": true, "controller": true, "kind": "example", "name": "example", "uid": "example" } ], "resourceVersion": "example", "selfLink": "example", "uid": "example" }, "spec": { "description": "example", "ephemeral": true, "renewTime": "example", "source": { "blob": "example" } }, "status": { "conditions": [ { "lastTransitionTime": "example", "message": "example", "observedGeneration": 1, "reason": "example", "status": "example", "type": "example" } ], "deployTime": "example", "members": { "agents": 1, "functions": 1, "ready": 1 }, "message": "example", "observedGeneration": 1, "phase": "example", "version": 1 } } ], "kind": "example", "metadata": { "continue": "example", "remainingItemCount": 1, "resourceVersion": "example", "selfLink": "example", "shardInfo": { "selector": "example" } }}default
Section titled “ default ”An error: a metav1.Status whose reason is a registered code.
Status is the error body of every API response: a Kubernetes metav1.Status (so kubectl and client-go understand it) plus three top-level extensions that those clients ignore (ADR-028).
object
object
object
Docs is the URL of the code’s docs page.
Fix says what to do next, for example a CLI command or the field to change.
object
object
RequestID identifies the request in logs and support tickets.
Example generated
{ "apiVersion": "example", "code": 1, "details": { "causes": [ { "field": "example", "message": "example", "reason": "example" } ], "group": "example", "kind": "example", "name": "example", "retryAfterSeconds": 1, "uid": "example" }, "docs": "example", "fix": "example", "kind": "example", "message": "example", "metadata": { "continue": "example", "remainingItemCount": 1, "resourceVersion": "example", "selfLink": "example", "shardInfo": { "selector": "example" } }, "reason": "example", "requestId": "example", "status": "example"}