Skip to content

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-token

Push Image

bash
# Tag your image
docker tag myapp:latest kizuna.example.com/org/myapp:latest

# Push
docker push kizuna.example.com/org/myapp:latest

Pull Image

bash
docker pull kizuna.example.com/org/myapp:latest

Image Naming

Format: REGISTRY/ORG/REPO/IMAGE:TAG

kizuna.example.com/my-org/my-repo/web:v1.2.3
└──────────────┘ └──────┘ └──────┘ └──┘ └───┘
   Registry      Org      Image   Name  Tag

Repository Structure

org/
└── my-repo/
    ├── web/
    │   ├── v1.2.3
    │   ├── v1.2.2
    │   └── latest
    ├── api/
    │   ├── v2.0.0
    │   └── v1.9.9
    └── worker/
        └── v1.0.0

Tagging 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/app

Git 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:$SHA

Image Management

List Images

Via web UI:

  • Navigate to PackagesContainers
  • View all images and tags

Via API:

bash
curl /api/v1/repos/org/repo/packages/containers

Delete 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.3

Response:

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:

  1. Go to SettingsPackagesContainer Registry
  2. Enable Automatic Scanning
  3. 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=container

Get Image Manifest

bash
curl /api/v1/repos/org/repo/packages/containers/app/manifests/v1.2.3

Delete 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.