C0: remove containers/devpi/ build artifact

Devpi now runs natively on indri (uv venv via ansible role), so the
Dagger container build at containers/devpi/ is unused. Removing it.

Also updated dagger.md examples to use 'miniflux' as the example
container-name argument.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Erich Blume 2026-04-29 13:40:45 -07:00
commit a529d60f60
4 changed files with 5 additions and 91 deletions

View file

@ -1,56 +0,0 @@
"""devpi PyPI server and caching proxy — native Dagger build.
Single-stage build: install devpi-server and devpi-web into a Python slim image.
"""
import dagger
from dagger import dag
from blumeops.containers import oci_labels
VERSION = "6.19.3"
DEVPI_WEB_VERSION = "5.0.2"
PYTHON_BASE = "python:3.12-slim"
async def build(src: dagger.Directory) -> dagger.Container:
ctr = (
dag.container()
.from_(PYTHON_BASE)
.with_exec(
[
"pip",
"install",
"--no-cache-dir",
f"devpi-server=={VERSION}",
f"devpi-web=={DEVPI_WEB_VERSION}",
]
)
.with_exec(
[
"useradd",
"-r",
"-u",
"1000",
"devpi",
]
)
.with_exec(["mkdir", "-p", "/devpi"])
.with_exec(["chown", "devpi:devpi", "/devpi"])
.with_file(
"/usr/local/bin/start.sh",
src.file("containers/devpi/start.sh"),
)
.with_exec(["chmod", "+x", "/usr/local/bin/start.sh"])
.with_user("devpi")
.with_workdir("/devpi")
.with_exposed_port(3141)
.with_entrypoint(["/usr/local/bin/start.sh"])
)
return oci_labels(
ctr,
title="devpi",
description="devpi PyPI server and caching proxy",
version=VERSION,
)

View file

@ -1,31 +0,0 @@
#!/bin/bash
set -e
SERVERDIR="${DEVPI_SERVERDIR:-/devpi}"
HOST="${DEVPI_HOST:-0.0.0.0}"
# Note: Can't use DEVPI_PORT - Kubernetes auto-sets it for service discovery
PORT="${DEVPI_LISTEN_PORT:-3141}"
OUTSIDE_URL="${DEVPI_OUTSIDE_URL:-}"
# Check if devpi is initialized
if [ ! -f "$SERVERDIR/.serverversion" ]; then
echo "Initializing devpi server..."
if [ -z "$DEVPI_ROOT_PASSWORD" ]; then
echo "ERROR: DEVPI_ROOT_PASSWORD environment variable must be set for initialization"
exit 1
fi
devpi-init --serverdir "$SERVERDIR" --root-passwd "$DEVPI_ROOT_PASSWORD"
echo "Devpi initialized successfully"
fi
# Build command
CMD=(devpi-server --serverdir "$SERVERDIR" --host "$HOST" --port "$PORT")
if [ -n "$OUTSIDE_URL" ]; then
CMD+=(--outside-url "$OUTSIDE_URL")
fi
echo "Starting devpi-server..."
exec "${CMD[@]}"

View file

@ -0,0 +1 @@
Removed the now-unused `containers/devpi/` Dagger build artifact. Devpi runs natively on indri via uv venv; the container image is no longer referenced anywhere. Doc examples in `docs/reference/tools/dagger.md` updated to use `miniflux` as the example container name.

View file

@ -50,16 +50,16 @@ New containers for indri (k8s runner) should use `container.py`. Ringtail contai
```bash
# Build a container
dagger call build --src=. --container-name=devpi
dagger call build --src=. --container-name=miniflux
# Drop into container shell for inspection
dagger call build --src=. --container-name=devpi terminal
dagger call build --src=. --container-name=miniflux terminal
# Debug a failure interactively
dagger call --interactive build --src=. --container-name=devpi
dagger call --interactive build --src=. --container-name=miniflux
# Publish a container to zot
dagger call publish --src=. --container-name=devpi --version=v1.1.0
dagger call publish --src=. --container-name=miniflux --version=v1.1.0
# Build a nix container (no local nix required)
dagger call build-nix --src=. --container-name=ntfy export --path=./ntfy.tar.gz