| Open Source Project

Harbor Multi-Arch

Forked Harbor container registry with multi-architecture (AMD64/ARM64) build support

Container Registry Multi-Arch ARM64 Security
View on GitHub

Project Overview

Harbor is a CNCF Graduated project, an open-source registry for storing and distributing container images.

This project is a fork of the official Harbor repository with added multi-architecture (AMD64/ARM64) builds and software supply chain security features.

Why This Fork?

The official Harbor only officially supports AMD64 architecture, making it difficult to use in ARM64-based environments (Apple Silicon, AWS Graviton, etc.). This fork aims to:

  • Enable Harbor to run on various platforms with native ARM64 support
  • Apply latest security standards (SBOM, SLSA, Cosign)
  • Maintain continuous synchronization with official releases

Key Modifications

Multi-Architecture Builds

  • Simultaneous AMD64/ARM64 builds: Multi-platform image creation using Docker buildx
  • Unified Manifest: Automatic architecture selection with a single image tag
  • ARM64 Optimization: Support for Apple Silicon, AWS Graviton, Raspberry Pi

Software Supply Chain Security

  • SBOM (Software Bill of Materials): Container image component list generation using Syft
  • SLSA Build Attestation: Build process integrity proof via GitHub Actions
  • Cosign OIDC Keyless Signing: Keyless image signing using GitHub OIDC

CI/CD Improvements

  • GitHub Actions Workflow Optimization: Build triggers based on release tags
  • Automatic Upstream Sync: Auto-resolve merge conflicts for fork-specific files
  • ghcr.io Image Registry: Using GitHub Container Registry instead of Docker Hub

Build Pipeline

# GitHub Actions workflow
- name: Build and Push
  steps:
    - Docker buildx (AMD64 + ARM64)
    - Trivy vulnerability scanning
    - Syft SBOM generation
    - Cosign signing
    - SLSA Provenance generation

Usage

Images follow the official Helm chart compatible naming convention.

# Pull Harbor images (architecture auto-selected)
docker pull ghcr.io/dasomel/goharbor/harbor-core:v2.12.0
docker pull ghcr.io/dasomel/goharbor/harbor-portal:v2.12.0
docker pull ghcr.io/dasomel/goharbor/harbor-registryctl:v2.12.0
docker pull ghcr.io/dasomel/goharbor/harbor-jobservice:v2.12.0

# Trivy adapter
docker pull ghcr.io/dasomel/goharbor/trivy-adapter-photon:v2.12.0

Upstream Synchronization

This fork is automatically synchronized with the official Harbor repository. Upstream changes are synced automatically, while fork-specific modifications are managed separately.

VersionAMD64ARM64Upstream
v2.12.xgoharbor/harbor v2.12
v2.11.xgoharbor/harbor v2.11
v2.10.xgoharbor/harbor v2.10

Change History

For detailed change history, see FORK_CHANGES.md.

Contributing & Issues

  • Please report bugs or feature requests in Issues
  • For ARM64-related issues, use this fork; for general Harbor issues, use the official repository