Skip to content

Conversation

ranimandepudi
Copy link

@ranimandepudi ranimandepudi commented Aug 5, 2025

Tested and confirmed: Harbor functions fully on both Arm64 and Amd64 platforms, including the UI, API, registry, and multi-architecture artifact handling.

Commands:

  • make clean
  • make build -e VERSIONTAG=dev -e BASEIMAGETAG=dev -e PULL_BASE_FROM_DOCKERHUB=false -e PUSHBASEIMAGE=false -e BUILD_BASE=true
  • docker images | grep goharbor | grep dev
  • cd make/
  • cp harbor.yml.tmpl harbor.yml
  • vim harbor.yml
  • make prepare
  • make prepare
  • sudo ./install.sh

Building locally (Harbor components and base images)
These steps will:
• Build Harbor entirely from source
• Use your own locally built base images
• Run natively on Arm64/AMD64

Open for suggestions !! Closes #21982

…tions

Signed-off-by: Ubuntu <ubuntu@ip-172-31-100-229.ec2.internal>
Copy link

codecov bot commented Aug 6, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 65.90%. Comparing base (c8c11b4) to head (0b8ac45).
⚠️ Report is 526 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##             main   #22229       +/-   ##
===========================================
+ Coverage   45.36%   65.90%   +20.53%     
===========================================
  Files         244     1072      +828     
  Lines       13333   115862   +102529     
  Branches     2719     2925      +206     
===========================================
+ Hits         6049    76357    +70308     
- Misses       6983    35277    +28294     
- Partials      301     4228     +3927     
Flag Coverage Δ
unittests 65.90% <ø> (+20.53%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 986 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@Vad1mo Vad1mo requested a review from Copilot August 6, 2025 06:44
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds official ARM64 architecture support to Harbor, enabling it to run natively on both ARM64 and AMD64 platforms. The changes implement platform detection and conditional build configurations to support multi-architecture deployments.

Key changes:

  • Platform detection and platform-specific container configurations in Docker Compose templates
  • Architecture-specific dependency versions and build parameters in Makefiles
  • Conditional PostgreSQL package installation based on target architecture

Reviewed Changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
make/photon/prepare/utils/docker_compose.py Adds platform detection logic to set appropriate Docker platform for containers
make/photon/prepare/templates/docker_compose/docker-compose.yml.jinja Updates Docker Compose template to include platform specification for all services
make/photon/db/Dockerfile.base Implements conditional PostgreSQL package installation based on target architecture
make/photon/Makefile Adds platform detection and applies platform-specific build parameters
Makefile Introduces architecture-specific dependency versions and download URLs
Comments suppressed due to low confidence (1)

Makefile:135

  • The ARM64 Trivy version v0.58.2 appears to be older than the AMD64 version v0.61.0. Verify that v0.58.2 exists and is the correct version to use for ARM64, or consider using a more recent version if available.
   TRIVY_DOWNLOAD_URL=https://github.com/aquasecurity/trivy/releases/download/$(TRIVYVERSION)/trivy_$(TRIVYVERSION)_Linux-ARM64.tar.gz

@auggie246
Copy link

auggie246 commented Sep 1, 2025

I am facing an issue while trying to build using your fork and branch.

Dockerfile:22
--------------------
  20 |     USER harbor
  21 |     ENTRYPOINT ["/harbor/entrypoint.sh"]
  22 | >>> COPY make/photon/prepare/versions /harbor/
  23 |
--------------------
ERROR: failed to build: failed to solve: failed to compute cache key: failed to calculate checksum of ref 75a944fc-8bd9-4b3e-a9f2-76c2afe9a59e::xt3xo8tb9ggr0n4fc5evqgiz0: "/make/photon/prepare/versions": not found
make[1]: *** [/home/ubuntu/harbor/make/photon/Makefile:134: _build_core] Error 1
make[1]: Leaving directory '/home/ubuntu/harbor'
make: *** [Makefile:402: build] Error 2

ls make/photon/prepare shows that there's no versions to copy

EDIT: versions file is only created when make package_offline or make package_online but not make build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants