delonix image

Imagens OCI: pull, ls, rm, export — e, com --vm, as imagens VM douradas (build/push).

OCI images: pull, ls, rm, export — and, with --vm, the golden VM images (build/push).

Gestão de imagens de container (registos OCI: Docker Hub, ghcr.io, …) com verificação de digest no pull. Com --vm, o MESMO grupo opera sobre as imagens VM douradas (um .qcow2 + metadados por imagem): Ubuntu cloud image + kubeadm/kubelet/kubectl + delonix-cri — a base do delonix cluster.

Container image management (OCI registries: Docker Hub, ghcr.io, …) with digest verification on pull. With --vm, the SAME group operates on golden VM images (a .qcow2 plus per-image metadata): Ubuntu cloud image + kubeadm/kubelet/kubectl + delonix-cri — the base delonix cluster builds on.

Usage: dlx image [OPTIONS] <COMMAND>

Commands:
  dash       Dashboard (KPIs + table) of images — interactive TUI, or `--once` snapshot
  pull       Pull an image from a registry. With `--vm`, no argument = the OFFICIAL Delonix golden VM image
  ls-remote  (only with `--vm`) List the tags available in a remote OCI repository — with no argument, the OFFICIAL Delonix golden image repo
  ls         List local images
  describe   Human-readable detail of one or more images, `kubectl describe`-style (tags/digest/size/layers + the OCI config: entrypoint/cmd/env/workdir). With `--vm`, describes golden VM images
  tag        Give another name/tag to a local image (copies nothing — it's just a new name for the same content)
  history    Layers of an image (digest + size), from base to top
  verify     Verify the cosign signature of a local image against a public key
  scan       SBOM + CVE scan of an image (reads the layers from the CAS, without running anything). Pulls the image if missing. See `--sbom`, `--fail-on`, `--update`
  rm         Remove a local image
  export     Export an OCI runtime bundle (rootfs + config.json) for `runc`/`crun`
  save       Save an image to a portable archive (`docker save`'s counterpart) — the way to move an image to another machine with no registry. The archive is an OCI layout WITH the legacy `manifest.json`, so `delonix image load`, `docker load`, `podman load` and `ctr images import` all read it
  load       Load an image from an archive produced by `delonix image save`, `docker save` or `podman save` (the counterpart of `save`)
  apply      Apply the `kind: Image` documents of a manifest (`pull` idempotent by reference; `build` rebuilds and replaces the tag on each apply)
  login      Authenticate to an OCI registry (stores the credentials in `<root>/auth.json`, docker/podman format). The password ALWAYS comes from stdin — never from an argument (it would end up in the shell history and in /proc)
  logout     Remove the stored credentials of a registry
  vm         Golden VM images (`<root>/vm-images/`): ls/pull/push/build. Equivalent to `image --vm <cmd>` (old form, kept)
  push       Publish a local image to an OCI registry. Without `target`, publishes under the image's own reference. With `--vm`, `target` is required
  init       (only with `--vm`) Build the golden VM image (Ubuntu + kubeadm/kubelet/ kubectl + `delonix-cri`). Scaffold a `VMfile` (and a cloud-init) for building your own image
  build      
  help       Print this message or the help of the given subcommand(s)

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
      --vm            Operate on VM images (`<root>/vm-images/`) instead of container images — enables the `push`/`build` subcommands
  -h, --help          Print help

image init

(only with --vm) Build the golden VM image (Ubuntu + kubeadm/kubelet/ kubectl + delonix-cri). Scaffold a VMfile (and a cloud-init) for building your own image

Usage: dlx image init [OPTIONS] [NAME]

Arguments:
  [NAME]  Name to use in the scaffold (image tag, hostname, account) [default: myimage]

Options:
  -d, --dir <DIR>     Where to write it (default: the current directory)
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
      --force         Overwrite an existing `VMfile`
  -h, --help          Print help

Exemplos

Scaffold de um VMfile (equivalente a vm init --vmfile)
delonix image --vm init minha-base

image vm

Golden VM images (<root>/vm-images/): ls/pull/push/build. Equivalent to image --vm <cmd> (old form, kept)

Usage: dlx image vm [OPTIONS] <COMMAND>

Commands:
  ls         List the local VM images
  describe   Human-readable detail of one or more VM images, `kubectl describe`-style
  pull       Fetch a VM image from an OCI registry (single-blob artifact) — with no argument, the OFFICIAL Delonix image
  ls-remote  List the tags available in a remote OCI repository — with no argument, the OFFICIAL Delonix golden image repo (discover which k8s versions are published before `pull`/`--k8s-version`)
  push       Publish a local VM image to an OCI registry
  init       Build the golden VM image (Ubuntu + kubeadm/kubelet/kubectl + `delonix-cri`). Scaffold a `VMfile` (and a cloud-init) for building your own image
  build      
  help       Print this message or the help of the given subcommand(s)

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

O mesmo grupo de imagens VM, por outro caminho
delonix image vm ls

image logout

Remove the stored credentials of a registry

Usage: dlx image logout [OPTIONS] <REGISTRY>

Arguments:
  <REGISTRY>  

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

Esquecer as credenciais desse registo
delonix image logout ghcr.io

image login

Authenticate to an OCI registry (stores the credentials in <root>/auth.json, docker/podman format). The password ALWAYS comes from stdin — never from an argument (it would end up in the shell history and in /proc)

Usage: dlx image login [OPTIONS] --username <USERNAME> <REGISTRY>

Arguments:
  <REGISTRY>  Registry (e.g. `ghcr.io`, `docker.io`)

Options:
      --l18n <en|pt>         Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -u, --username <USERNAME>  
      --password-stdin       Read the password/token from stdin (the only supported way)
  -h, --help                 Print help

Exemplos

Autenticar num registo (a password vem do stdin, fora do histórico)
printf '%s' "$GHCR_TOKEN" | delonix image login ghcr.io --username aminhaorg

image load

Load an image from an archive produced by delonix image save, docker save or podman save (the counterpart of save)

Usage: dlx image load [OPTIONS] --input <FILE>

Options:
  -i, --input <FILE>  Archive to read (`.tar`; a `.tar.gz` must be gunzipped first)
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

Importar esse tar do outro lado
delonix image load --input app-dev.tar

image save

Save an image to a portable archive (docker save's counterpart) — the way to move an image to another machine with no registry. The archive is an OCI layout WITH the legacy manifest.json, so delonix image load, docker load, podman load and ctr images import all read it

Usage: dlx image save [OPTIONS] --output <FILE> <IMAGE>

Arguments:
  <IMAGE>  

Options:
      --l18n <en|pt>   Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -o, --output <FILE>  Destination file. Use `-o /dev/stdout` to pipe (e.g. into `gzip`)
  -h, --help           Print help

Exemplos

Exportar para um tar (para levar para uma máquina sem rede)
delonix image save app:dev --output app-dev.tar

image scan

SBOM + CVE scan of an image (reads the layers from the CAS, without running anything). Pulls the image if missing. See --sbom, --fail-on, --update

Usage: dlx image scan [OPTIONS] [IMAGE]

Arguments:
  [IMAGE]  Image to scan (optional with `--update`)

Options:
      --l18n <en|pt>         Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
      --sbom                 List the SBOM (installed packages) instead of scanning
      --fail-on <SEV>        Fail (exit 1) if there are vulnerabilities >= this severity (low|medium|high|critical) — gate for CI
      --update               Sync the CVE feed to the local database (used afterwards by each scan)
      --feed <URL|FICHEIRO>  Feed source for `--update`: URL or file (or $DELONIX_ADVISORY_FEED)
  -h, --help                 Print help

Exemplos

Procurar vulnerabilidades conhecidas numa imagem
delonix image scan nginx:alpine
Varrer todas as imagens locais
delonix image scan

image verify

Verify the cosign signature of a local image against a public key

Usage: dlx image verify [OPTIONS] <IMAGE> <PEM>

Arguments:
  <IMAGE>  
  <PEM>    Public key in PEM

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

Confirmar a assinatura contra uma chave pública
delonix image verify ghcr.io/aminhaorg/app:1.0 chave.pem

image history

Layers of an image (digest + size), from base to top

Usage: dlx image history [OPTIONS] <IMAGE>

Arguments:
  <IMAGE>  

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

Que instrução criou cada camada
delonix image history app:dev

image tag

Give another name/tag to a local image (copies nothing — it's just a new name for the same content)

Usage: dlx image tag [OPTIONS] <SOURCE> <TARGET>

Arguments:
  <SOURCE>  
  <TARGET>  

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

Dar um segundo nome à mesma imagem (não copia nada)
delonix image tag app:dev ghcr.io/aminhaorg/app:1.0

image describe

Human-readable detail of one or more images, kubectl describe-style (tags/digest/size/layers + the OCI config: entrypoint/cmd/env/workdir). With --vm, describes golden VM images

Usage: dlx image describe [OPTIONS] <NAMES>...

Arguments:
  <NAMES>...  

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

Camadas, config e digest de uma imagem
delonix image describe nginx:alpine

image ls-remote

(only with --vm) List the tags available in a remote OCI repository — with no argument, the OFFICIAL Delonix golden image repo

Usage: dlx image ls-remote [OPTIONS] [SOURCE]

Arguments:
  [SOURCE]  

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
      --no-k8s        With no argument, list the official NO-Kubernetes golden's repo instead of the Kubernetes one
  -h, --help          Print help

Exemplos

Tags publicadas num repositório, sem puxar nada
delonix image ls-remote ghcr.io/aminhaorg/app

image dash

Dashboard (KPIs + table) of images — interactive TUI, or --once snapshot

Usage: dlx image dash [OPTIONS]

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
      --once          
      --json          
  -h, --help          Print help

Exemplos

Dashboard só das imagens
delonix image dash

image pull

Pull an image from a registry. With --vm, no argument = the OFFICIAL Delonix golden VM image

Usage: dlx image pull [OPTIONS] [IMAGE]

Arguments:
  [IMAGE]  

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
      --verify <PEM>  Verify the cosign signature with this public key (PEM) AFTER the pull, and fail if it does not match. Without this, a pull is not authenticated beyond the registry's own digest
      --no-k8s        (only with `--vm`) With no argument, pull the official NO-Kubernetes golden instead of the Kubernetes one
  -h, --help          Print help

Exemplos

Referência com tag e digest (formato combinado suportado)
delonix image pull kindest/node:v1.34.0@sha256:7416a6…

image ls

List local images

Usage: dlx image ls [OPTIONS]

Options:
      --l18n <en|pt>     Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -o, --output <OUTPUT>  Output format: `table` (default) or `json` (ADR-0005). Works for both `image ls` and `image --vm ls` [default: table] [possible values: table, json]
  -h, --help             Print help

Exemplos

delonix image ls

image rm

Remove a local image

Usage: dlx image rm [OPTIONS] <IMAGE>

Arguments:
  <IMAGE>  

Options:
  -f, --force         Remove it even if a container still uses it
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

delonix image rm alpine:3.19

image export

Export an OCI runtime bundle (rootfs + config.json) for runc/crun

Usage: dlx image export [OPTIONS] <IMAGE> <DIR>

Arguments:
  <IMAGE>  
  <DIR>    

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

Bundle OCI runtime para correr com runc/crun
delonix image export alpine:3.19 /tmp/bundle && sudo runc run -b /tmp/bundle teste

image push

Publish a local image to an OCI registry. Without target, publishes under the image's own reference. With --vm, target is required

Usage: dlx image push [OPTIONS] <NAME> [TARGET]

Arguments:
  <NAME>    
  [TARGET]  

Options:
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

Publicar a imagem VM dourada como artefacto OCI (padrão ORAS)
delonix image --vm push k8s-golden ghcr.io/angolardevops/delonix-vm-k8s:1.34

image build

Usage: dlx image build [OPTIONS] --tag <TAG> [CONTEXT]

Arguments:
  [CONTEXT]  Build context — the directory `COPY` reads from [default: .]

Options:
      --l18n <en|pt>
          Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -t, --tag <TAG>
          
  -f, --file <FILE>
          Build from a `VMfile` instead of the built-in golden recipe
      --distro <DISTRO>
          [default: ubuntu] [possible values: ubuntu, debian, rocky]
      --ubuntu-release <UBUNTU_RELEASE>
          [default: 26.04]
      --debian-release <DEBIAN_RELEASE>
          [default: bookworm]
      --rocky-release <ROCKY_RELEASE>
          [default: 9]
      --k8s-version <K8S_VERSION>
          
      --extra-package <EXTRA_PACKAGES>
          
      --extra-run <EXTRA_RUN>
          
      --cri-bin <CRI_BIN>
          
      --no-compress
          Do not compress the final qcow2 (larger, but with no decompression cost on backing-file reads at runtime)
      --network
          Give the guest network access during `RUN` — VMfile builds only. The golden recipe already decides this with `--offline`
      --offline
          Fetch the k8s .deb packages on the HOST (verified) and install them with `dpkg` — the appliance runs without network. No DHCP/DNS needed in the guest
      --no-k8s
          Build a golden image with NO Kubernetes — just `delonix` itself
      --delonix-bin <DELONIX_BIN>
          
  -h, --help
          Print help

Exemplos

Construir a imagem VM dourada (descarrega Ubuntu, valida SHA256SUMS, virt-customize)
delonix image --vm build --name k8s-golden --k8s-version 1.34

image apply

Apply the kind: Image documents of a manifest (pull idempotent by reference; build rebuilds and replaces the tag on each apply)

Usage: dlx image apply [OPTIONS]

Options:
  -f, --file <FILE>   
      --l18n <en|pt>  Output language: `en` (default) or `pt` (Portuguese, pt_AO). Also settable via `$DELONIX_L18N`. Global — works before any subcommand
  -h, --help          Print help

Exemplos

delonix image apply -f delonix-manifest.yaml

LaboratórioLab

Traz uma imagem, dá-lhe uma tag própria, e olha para o histórico de camadas antes de a exportar.

delonix image pull alpine:3.20
delonix image tag alpine:3.20 meu-alpine:v1
delonix image history meu-alpine:v1
delonix image export meu-alpine:v1 -o alpine.tar

Pull an image, give it your own tag, and look at the layer history before exporting it.

delonix image pull alpine:3.20
delonix image tag alpine:3.20 my-alpine:v1
delonix image history my-alpine:v1
delonix image export my-alpine:v1 -o alpine.tar

DesafioChallenge

Antes de trazer a imagem VM dourada, vê que versões existem publicadas com ls-remote — sem descarregar nada — e só depois traz a que quiseres.

delonix image --vm ls-remote
delonix image --vm pull

Before pulling the golden VM image, check which versions are published with ls-remote — without downloading anything — and only then pull the one you want.

delonix image --vm ls-remote
delonix image --vm pull