
local-registry
by cbgbt
prototpe. attempt to get Claude to be more effective at working on Bottlerocket.
SKILL.md
name: local-registry description: Start and manage a local OCI registry for Bottlerocket kit development
Skill: Local OCI Registry
Purpose
Start and manage a local OCI registry for development. This allows building and publishing kits locally without requiring external registry access.
When to Use
- Developing changes to kits that need to be consumed by variants
- Testing kit changes before publishing to production registries
- Working offline or in isolated environments
Prerequisites
- Docker installed and running
- Working from within a grove directory
Procedure
Start the registry
brdev registry start
This will:
- Start a local Docker registry on
localhost:5000 - Configure persistence (registry data survives restarts)
- Wait for the registry to be healthy before returning
- Output the registry URL for use in builds
Verify registry is running
brdev registry status
Returns exit code 0 if running, non-zero otherwise.
Get registry URL
brdev registry url
Outputs localhost:{port} for the current grove. Use this in scripts instead of hardcoding ports.
View registry logs
brdev registry logs
To follow logs in real-time:
brdev registry logs --follow
Stop the registry
brdev registry stop
Note: This preserves the registry data volume.
Clean registry data
brdev registry clean
This removes both the container and the data volume.
Configuration
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).
Validation
After starting the registry:
brdev registry list
Should return: {"repositories":[]}
Common Issues
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:
- Check for existing registry:
docker ps | grep registry - Stop conflicting container:
docker stop <container-id> - Or use a custom port via
FORESTER_REGISTRY_PORT
Permission denied:
- Ensure user is in docker group:
groups | grep docker - Add user to docker group:
sudo usermod -aG docker $USER - May need to restart shell after adding to group
Related Skills
build-kit-locally- Uses local registry to publish built kitsbuild-variant-from-local-kits- Configures variant builds to use local registry
See Also
Configuration commands for local registry usage:
For publishing kits:
brdev twoliter use-local-publish- CreateInfra.tomlfor publishing to local registrybrdev twoliter use-upstream-publish- RemoveInfra.toml
For fetching kits:
brdev twoliter use-local-deps- CreateTwoliter.overridefor fetching from local registrybrdev twoliter use-upstream-deps- RemoveTwoliter.override
Both (convenience):
brdev twoliter use-local- Create both filesbrdev twoliter use-upstream- Remove both files
When fetching, also set vendor = "local" in Twoliter.toml for specific kits you want from the local registry.
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon