Start and manage a local OCI registry for Bottlerocket kit development
Start and manage a local OCI registry for development. This allows building and publishing kits locally without requiring external registry access.
brdev registry start
This will:
localhost:5000brdev registry status
Returns exit code 0 if running, non-zero otherwise.
brdev registry url
Outputs localhost:{port} for the current grove. Use this in scripts instead of hardcoding ports.
brdev registry logs
To follow logs in real-time:
brdev registry logs --follow
brdev registry stop
Note: This preserves the registry data volume.
brdev registry clean
This removes both the container and the data volume.
brdev uses environment variables for configuration. Create a .env file in the forest root or set environment variables:
# Custom image (default: registry:2)
BRDEV_REGISTRY_IMAGE=registry:2.8
Note: Container and volume names are automatically derived from the grove name as brdev-registry-{grove} and brdev-registry-data-{grove}. The port is auto-derived from a hash of the grove name (range 5001-5999).
After starting the registry:
brdev registry list
Should return: {"repositories":[]}
Docker not installed:
Error: Docker is not installed or not in PATH. Install Docker and ensure it's in your PATH
Solution: Install Docker and ensure it's in your PATH.
Docker daemon not running:
Error: Docker daemon is not running. Start Docker with: sudo systemctl start docker
Solution: Start the Docker daemon.
Port already in use:
Error: Failed to start container. The port may already be in use
Solution:
docker ps | grep registrydocker stop <container-id>FORESTER_REGISTRY_PORTPermission denied:
groups | grep dockersudo usermod -aG docker $USERbuild-kit-locally - Uses local registry to publish built kitsbuild-variant-from-local-kits - Configures variant builds to use local registryConfiguration commands for local registry usage:
For publishing kits:
brdev twoliter use-local-publish - Create Infra.toml for publishing to local registrybrdev twoliter use-upstream-publish - Remove Infra.tomlFor fetching kits:
brdev twoliter use-local-deps - Create Twoliter.override for fetching from local registrybrdev twoliter use-upstream-deps - Remove Twoliter.overrideBoth (convenience):
brdev twoliter use-local - Create both filesbrdev twoliter use-upstream - Remove both filesWhen fetching, also set vendor = "local" in Twoliter.toml for specific kits you want from the local registry.
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer