Skip to content

goharbor.io: server is not source-packageable (Docker-based build, multi-service runtime) #13134

@tannevaled

Description

@tannevaled

Summary

Same structural shape as #13131 (Neon DB). Harbor's server side cannot be source-packaged as a single pantry recipe.

Investigation

  • Upstream build (make/photon/Makefile): compiles every Go binary inside Docker (golang:1.26.3) and bakes them into Photon Linux container images. The Docker daemon is mandatory. No go build ./... path produces a runnable system.
  • Upstream releases (v2.14.4): only harbor-offline-installer-v2.14.4.tgz (~700 MB bundle of Docker images) and harbor-online-installer-v2.14.4.tgz (~12 KB script that pulls images). Zero standalone binaries published.
  • Runtime: harbor server is a multi-service stack — harbor-core + harbor-jobservice + harbor-portal (Angular) + harbor-registry + harbor-registryctl + harbor-trivy-adapter, plus PostgreSQL + Redis. Running harbor-core alone yields nothing useful to an end user.

Prior art — no distro source-builds harbor server

Distro Status
Homebrew core only harbor-cli (separate goharbor/harbor-cli repo). Cask harbor is an unrelated torrent app.
AUR only harbor-cli
nixpkgs only harbor-cli (pkgs/by-name/ha/harbor-cli/package.nix)
Debian nothing for goharbor

Harbor's official deployment model is Helm chart / Docker Compose. There is no end-user CLI for the server; it's a service stack.

Recommendation

Do not attempt to package the harbor server. This is consistent with the cockroachdb (#13122/#13123) and neon (#13131) precedents — projects where the upstream build chain is fundamentally container-orchestration-shaped and a single-binary pantry recipe doesn't map.

A separate follow-up PR will package harbor-cli (from the goharbor/harbor-cli repo) — a standard Go single-binary that every other distro packages. That is the user-facing tool worth having in pantry.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions