Kizuna's Container Registry stores Docker and OCI-compatible container images. Push, pull, and manage images with standard Docker commands.
Quick Start
Login
bash
docker login kizuna.example.com
# Username: your-username
# Password: your-kizuna-tokenPush Image
bash
# Tag your image
docker tag myapp:latest kizuna.example.com/org/myapp:latest
# Push
docker push kizuna.example.com/org/myapp:latestPull Image
bash
docker pull kizuna.example.com/org/myapp:latestImage Naming
Format: REGISTRY/ORG/REPO/IMAGE:TAG
kizuna.example.com/my-org/my-repo/web:v1.2.3
└──────────────┘ └──────┘ └──────┘ └──┘ └───┘
Registry Org Image Name TagRepository Structure
org/
└── my-repo/
├── web/
│ ├── v1.2.3
│ ├── v1.2.2
│ └── latest
├── api/
│ ├── v2.0.0
│ └── v1.9.9
└── worker/
└── v1.0.0Tagging Best Practices
Semantic Versioning
bash
# Build with multiple tags
docker build -t kizuna.example.com/org/app:1.2.3 \
-t kizuna.example.com/org/app:1.2 \
-t kizuna.example.com/org/app:1 \
-t kizuna.example.com/org/app:latest .
# Push all
docker push --all-tags kizuna.example.com/org/appGit SHA Tags
bash
# Tag with git commit SHA
SHA=$(git rev-parse --short HEAD)
docker tag myapp kizuna.example.com/org/myapp:$SHA
docker push kizuna.example.com/org/myapp:$SHAImage Management
List Images
Via web UI:
- Navigate to Packages → Containers
- View all images and tags
Via API:
bash
curl /api/v1/repos/org/repo/packages/containersDelete Image
bash
# Delete specific tag
docker rmi kizuna.example.com/org/app:v1.2.3
# Or via API
curl -X DELETE /api/v1/repos/org/repo/packages/containers/app/tags/v1.2.3 \
-H "Authorization: Bearer $TOKEN"Image Details
bash
curl /api/v1/repos/org/repo/packages/containers/app/tags/v1.2.3Response:
json
{
"name": "v1.2.3",
"digest": "sha256:abc123...",
"size": 123456789,
"created_at": "2026-03-10T09:00:00Z",
"layers": 15
}CI/CD Integration
Build and Push in Pipeline
yaml
# .kizuna/workflows/docker.yml
name: Build and Push
on:
push:
branches: [main]
tags: ['v*']
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Login to Registry
uses: docker/login-action@v3
with:
registry: kizuna.example.com
username: ${{ github.actor }}
password: ${{ secrets.KIZUNA_TOKEN }}
- name: Build and Push
run: |
docker build -t kizuna.example.com/${{ github.repository }}/app:${{ github.sha }} .
docker push kizuna.example.com/${{ github.repository }}/app:${{ github.sha }}Multi-Platform Builds
yaml
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Buildx
uses: docker/setup-buildx-action@v3
- name: Build Multi-Platform
run: |
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t kizuna.example.com/org/app:latest \
--push .Security
Vulnerability Scanning
Enable in repository settings:
- Go to Settings → Packages → Container Registry
- Enable Automatic Scanning
- View scan results on image pages
Image Signing
Sign images with Cosign:
bash
# Install cosign
curl -O https://github.com/sigstore/cosign/releases/latest/download/cosign-linux-amd64
# Sign image
cosign sign --key cosign.key \
kizuna.example.com/org/app@sha256:abc123...
# Verify signature
cosign verify --key cosign.pub \
kizuna.example.com/org/app@sha256:abc123...API Reference
List Container Packages
bash
curl /api/v1/repos/org/repo/packages?type=containerGet Image Manifest
bash
curl /api/v1/repos/org/repo/packages/containers/app/manifests/v1.2.3Delete Image
bash
curl -X DELETE /api/v1/repos/org/repo/packages/containers/app/tags/v1.2.3 \
-H "Authorization: Bearer $TOKEN"Summary
The Container Registry provides:
- Docker/OCI compatible — Standard tooling works
- Semantic versioning — Clear release tracking
- CI/CD integration — Build and push in pipelines
- Security scanning — Detect vulnerabilities
- Multi-platform — AMD64, ARM64 support
It's the secure home for your container images.