Skip to content

List or watch images in every project

GET
/apis/nodus.dev/v1/images
curl --request GET \
--url https://example.com/apis/nodus.dev/v1/images
labelSelector
string
fieldSelector
string
limit
string
continue
string
watch
string
resourceVersion
string
allowWatchBookmarks
string
timeoutSeconds
string

OK

Media type application/json
object
apiVersion
string
items
required
Array<object>

Image is a container image Nodus builds from a base and steps or a Dockerfile, or a catalog image in the nodus project. An identical spec on the same base digest reuses the built digest.

object
apiVersion
string
kind
string
metadata
object
annotations
object
key
additional properties
string
creationTimestamp
string
deletionGracePeriodSeconds
integer format: int64
deletionTimestamp
string
finalizers
Array<string>
nullable
generateName
string
generation
integer format: int64
labels
object
key
additional properties
string
managedFields
Array<object>
nullable
object
apiVersion
string
fieldsType
string
fieldsV1
object
key
additional properties
manager
string
operation
string
subresource
string
time
string
name
string
namespace
string
ownerReferences
Array<object>
nullable
object
apiVersion
required
string
blockOwnerDeletion
boolean
controller
boolean
kind
required
string
name
required
string
uid
required
string
resourceVersion
string
selfLink
string
uid
string
spec
required

ImageSpec is exactly one of base (with steps), dockerfile or fromSandbox.

object
base

Base is the OCI reference or catalog image (nodus/[:]) the steps build on.

string
buildSecrets

BuildSecrets are Secrets mounted as BuildKit secrets; never baked into layers.

Array<string>
nullable
dockerfile

ImageDockerfile is a Dockerfile build: exactly one of inline and blob.

object
blob

Blob is the blob digest of the Dockerfile.

string
buildArgs

BuildArgs are –build-arg values.

object
key
additional properties
string
context

Context is the blob digest of the build context (a tar archive).

string
inline

Inline is the Dockerfile text.

string
target

Target is the stage to build.

string
fromSandbox

ImageFromSandbox names a Sandbox whose filesystem becomes the image.

object
includePaths

IncludePaths limits the layer to these paths.

Array<string>
nullable
name
required

Name is the Sandbox.

string
imagePullSecrets

ImagePullSecrets are Registry Secrets for a private base.

Array<string>
nullable
platform

Platform is linux/amd64 or linux/arm64.

string
python

Python is the interpreter version the steps use; detected from the base when unset.

string
steps

Steps run in order on the base (at most 128).

Array<object>
nullable

ImageStep is exactly one build step.

object
aptInstall

AptInstall installs Debian packages.

Array<string>
nullable
copy

ImageCopy copies a blob to a path.

object
blob
required

Blob is the blob digest (sha256:…) of a file or tar archive.

string
dest
required

Dest is the absolute destination path.

string
env

Env sets environment variables.

object
key
additional properties
string
pipInstall

PipInstall lists packages and optional indexes.

object
extraIndexURLs

ExtraIndexURLs are searched after the index.

Array<string>
nullable
indexURL

IndexURL replaces the default index.

string
packages
required

Packages are requirement specifiers.

Array<string>
nullable
run

Run runs shell commands, one layer for all of them.

Array<string>
nullable
uvPipInstall

PipInstall lists packages and optional indexes.

object
extraIndexURLs

ExtraIndexURLs are searched after the index.

Array<string>
nullable
indexURL

IndexURL replaces the default index.

string
packages
required

Packages are requirement specifiers.

Array<string>
nullable
uvSync

UVSync installs a uv project (pyproject.toml and uv.lock) uploaded as a blob.

object
frozen

Frozen installs exactly the lock file.

boolean
project
required

Project is the blob digest (sha256:…) of the project archive.

string
workdir

Workdir sets the working directory.

string
tags

Tags this build publishes.

Array<string>
nullable
status

ImageBuildStatus is the build’s outcome.

object
build

ImageBuild describes a build attempt, or a reused digest when Cached.

object
attempt

Attempt is the build attempt’s id.

string
cached

Cached is true when an identical build’s digest was reused.

boolean
completionTime

CompletionTime is when it finished.

string
costUSD

CostUSD is what the build cost.

string
cpuSeconds

CPUSeconds is the metered build vCPU time.

integer format: int64
startTime

StartTime is when the build started.

string
conditions

Conditions are the latest observations.

Array<object>
nullable
object
lastTransitionTime
required
string
message
required
string
observedGeneration
integer format: int64
reason
required
string
status
required
string
type
required
string
digest

Digest is the built manifest digest (sha256:…).

string
message

Message is a scrubbed explanation.

string
observedGeneration

ObservedGeneration is the spec generation the status reflects.

integer format: int64
phase

Phase is Pending, Ready or Failed.

string
progress

ImageProgress is the stage of a running build.

object
stage
required

Stage is Queued, Building or Pushing.

string
python

Python is the interpreter version in the image.

string
reason

Reason says why the build failed.

string
reference

Reference is the pullable reference, repository@digest.

string
size

Size is the compressed image size in bytes.

integer format: int64
specHash

SpecHash is the content hash of the rendered build; equal hashes share a digest.

string
tags

Tags maps each published tag to its digest.

object
key
additional properties
string
kind
string
metadata
object
continue
string
remainingItemCount
integer format: int64
resourceVersion
string
selfLink
string
shardInfo
object
selector
required
string
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": {
"base": "example",
"buildSecrets": [
"example"
],
"dockerfile": {
"blob": "example",
"buildArgs": {
"additionalProperty": "example"
},
"context": "example",
"inline": "example",
"target": "example"
},
"fromSandbox": {
"includePaths": [
"example"
],
"name": "example"
},
"imagePullSecrets": [
"example"
],
"platform": "example",
"python": "example",
"steps": [
{
"aptInstall": [
"example"
],
"copy": {
"blob": "example",
"dest": "example"
},
"env": {
"additionalProperty": "example"
},
"pipInstall": {
"extraIndexURLs": [
"example"
],
"indexURL": "example",
"packages": [
"example"
]
},
"run": [
"example"
],
"uvPipInstall": {
"extraIndexURLs": [
"example"
],
"indexURL": "example",
"packages": [
"example"
]
},
"uvSync": {
"frozen": true,
"project": "example"
},
"workdir": "example"
}
],
"tags": [
"example"
]
},
"status": {
"build": {
"attempt": "example",
"cached": true,
"completionTime": "example",
"costUSD": "example",
"cpuSeconds": 1,
"startTime": "example"
},
"conditions": [
{
"lastTransitionTime": "example",
"message": "example",
"observedGeneration": 1,
"reason": "example",
"status": "example",
"type": "example"
}
],
"digest": "example",
"message": "example",
"observedGeneration": 1,
"phase": "example",
"progress": {
"stage": "example"
},
"python": "example",
"reason": "example",
"reference": "example",
"size": 1,
"specHash": "example",
"tags": {
"additionalProperty": "example"
}
}
}
],
"kind": "example",
"metadata": {
"continue": "example",
"remainingItemCount": 1,
"resourceVersion": "example",
"selfLink": "example",
"shardInfo": {
"selector": "example"
}
}
}

An error: a metav1.Status whose reason is a registered code.

Media type application/json

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
apiVersion
string
code
integer format: int32
details
object
causes
Array<object>
nullable
object
field
string
message
string
reason
string
group
string
kind
string
name
string
retryAfterSeconds
integer format: int32
uid
string
docs

Docs is the URL of the code’s docs page.

string
fix

Fix says what to do next, for example a CLI command or the field to change.

string
kind
string
message
string
metadata
object
continue
string
remainingItemCount
integer format: int64
resourceVersion
string
selfLink
string
shardInfo
object
selector
required
string
reason
string
requestId

RequestID identifies the request in logs and support tickets.

string
status
string
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"
}