Skip to content

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

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions