WORK / ACTIVE SYSTEM

Harbor Multi-Arch

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

Container Registry · Multi-Arch · ARM64 · Security
01 / Problem02 / Architecture03 / Development04 / Proof05 / Knowledge06 / Record
01 / PROBLEM

Harbor lacks official ARM architecture support, unusable on ARM-based Kubernetes clusters

RESPONSE

Configured multi-architecture build pipeline to generate ARM-compatible images

02 / ARCHITECTURE

Read the boundaries before the features.

Identity, delivery, network, storage and workload integration are shown as operational seams rather than a feature inventory.

03 / DEVELOPMENT OVER TIME

Evolution is part of the evidence.

First commit, cumulative commits, releases and recent activity show whether the system is still being engineered.

DEVELOPMENT OBSERVATORY
dasomel/harbor

Observe a system evolving over time, not a repository frozen at one release.

Contributors: 344
First commit
Feb 1, 2016
Commits
13,078
Releases
3
Latest release
v2.15.1
Last push
Sep 19, 2026
Active for
10y 8m
Recent development activity
0 commits / 20 weeks
PAST → NOW
Language: GoLicense: Apache-2.0Stars: 2Forks: 0Open issues: 0Latest release
04 / PROOF, NOT BADGES
4
technology / domain signals

Declared scope and technical context

0
connected docs

Operational or implementation documentation

1
engineering notes

Knowledge produced by the project

0
digest links

External signals explicitly connected

05 / CONNECTED KNOWLEDGE

What this system produced beyond code

06 / ENGINEERING RECORD

Implementation details, operating notes and project-specific context.

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.14.2
docker pull ghcr.io/dasomel/goharbor/harbor-portal:v2.14.2
docker pull ghcr.io/dasomel/goharbor/harbor-registryctl:v2.14.2
docker pull ghcr.io/dasomel/goharbor/harbor-jobservice:v2.14.2
 
# Trivy adapter
docker pull ghcr.io/dasomel/goharbor/trivy-adapter-photon:v2.14.2

Verifying Image Signatures

Image signatures can be verified with Cosign.

cosign verify ghcr.io/dasomel/goharbor/harbor-core:latest \
  --certificate-identity-regexp="https://github.com/dasomel/harbor" \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com"

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.14.xgoharbor/harbor v2.14
v2.13.xgoharbor/harbor v2.13
v2.12.xgoharbor/harbor v2.12

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