Harbor vs Project Quay: which registry fits your team
Choose Harbor if your team wants a registry built around Trivy scanning, project-level RBAC, LDAP/AD or OIDC single sign-on and replication to many outside registry types. Choose Project Quay if your storage strategy centers on geo-replicated object storage across S3, GCS, Swift, Ceph or ODF and your scanning standard is Clair. Both are full-featured, self-hosted and open source, so the decision rests on a few specific requirements rather than on feature counts. Harbor is Apache-2.0 and a CNCF graduated project, having reached the Graduated maturity level on June 15, 2020. Its README describes it as extending the Distribution registry with projects, role-based access control, LDAP/AD and OIDC single sign-on, vulnerability scanning, garbage collection, audit logs and a REST API. Harbor also offers push and pull replication to Docker Hub, AWS ECR, Azure Container Registry, GitHub Container Registry and others, plus proxy cache projects that keep serving cached images if an upstream is unreachable.
Project Quay is Apache-2.0 open-source software and the upstream of Red Hat Quay. Its README lists Clair-based vulnerability analysis, geo-replicated storage on local filesystems, S3, GCS, Swift, Ceph and ODF, and ACLs, team management and audit logs. If your organization already runs Ceph or ODF, or needs one registry spread across several object stores in different regions, Project Quay's storage model deserves a close look. If your scanning policy is built on Trivy, Harbor's bundled scanner is the simpler path, because Harbor enables Trivy at install time with the --with-trivy option and can also connect to an external Trivy instance.
The decision turns on five checks. First, confirm which scanner your security team requires and whether results must feed existing tooling. Second, map your replication topology: one-way mirrors to cloud registries point toward Harbor, while multi-region storage replication points toward Project Quay. Third, identify your identity provider and confirm SSO and group mapping work in each candidate. Fourth, decide how you will operate it on Kubernetes, including backups, upgrades and the database each one needs. Fifth, decide what commercial support you need and ask each vendor or partner to put its support terms in writing. Review the Harbor documentation for scanner configuration before you build a pilot.
Which registry fits which scenario
This table compares Harbor and Project Quay by the operating condition that gives each one the edge. If a scenario matches your environment, the listed platform is the stronger starting point, and the last column names what to verify before you commit. Neither registry wins every row, so the mix of scenarios in your environment should drive the decision.
| Scenario | Better fit | Why it matters and what to confirm |
|---|---|---|
| Multi-cloud team replicating to and from public and cloud registries | Harbor | Replication endpoints include ECR, Azure Container Registry, Artifact Registry and GitHub Container Registry. Confirm each endpoint type you need is supported in your version. |
| Team pulling through a cache from Docker Hub or Quay | Harbor | Proxy cache projects can cache Docker Hub and Quay and serve cached copies if the upstream is unreachable. Confirm the cache retention and read-only behavior fit your workflow. |
| Team standardized on Trivy | Harbor | Trivy is Harbor's built-in scanner, enabled with the installer option. Confirm whether Project Quay's scanning setup meets your scanner standard before choosing. |
| Team with Ceph or ODF object storage already in place | Project Quay | Project Quay's README lists Ceph and ODF among its geo-replicated storage backends. Confirm Harbor's supported backends against your object store. |
| Team wanting a Red Hat support relationship | Project Quay | Red Hat Quay is the supported product built from Project Quay upstream. Confirm with Red Hat what the subscription covers and where your team's responsibilities begin. |
| Team whose security standard depends on Clair | Project Quay | Project Quay's README lists Clair for vulnerability analysis, while Harbor's built-in scanner is Trivy. Confirm with your assessor whether an external Clair scanner attached to Harbor is accepted. |
How Harbor and Project Quay are built and what that means for operations
Harbor and Project Quay both store and distribute container images, but they come from different lineages and bundle different components around the registry. The cards below cover the design choices behind each project and the operational work each choice creates, so you can check them against your own platform team's skills and your Kubernetes standards.
Harbor extends the Distribution registry
Harbor's README describes it as an extension of the open-source Distribution registry, adding projects with role-based access control, LDAP/AD and OIDC single sign-on, vulnerability scanning, garbage collection, audit logs and a REST API with an embedded Swagger UI. The operating consequence is that project, user and policy state lives in Harbor's own services and database, so you back up and upgrade Harbor as one product. Confirm how your identity provider groups map to Harbor projects before you commit to a design.
Harbor's bundled database and cache
From v2.15.2, Harbor upgrades its bundled internal database from PostgreSQL 15 to PostgreSQL 18 on container startup and replaces Redis with Valkey as the cache backend. The release notes recommend a backup before upgrading and a reindexdb run if index problems appear. Plan a tested backup and a maintenance window for the upgrade, and decide in advance whether you will run the bundled database or an external one that your DBA team already supports.
Project Quay as the upstream of Red Hat Quay
Project Quay is Apache-2.0 software that builds, stores and distributes container images, and it is the upstream of Red Hat Quay. Its README lists vulnerability analysis through Clair, geo-replicated storage on local filesystems, S3, GCS, Swift, Ceph and ODF, and ACLs, team management and audit logs. The operating consequence is that its scanning and storage choices follow the Clair and object storage model rather than Harbor's Trivy model. Confirm which Red Hat Quay features and support terms apply to your deployment before assuming they match the upstream project.
Quay.io as a live reference instance
Quay.io hosts a live instance of Project Quay, so teams can see the upstream software running in production before they deploy it. A hosted instance shows the feature set and the user experience, but it does not show how the software performs in your network, with your storage backend or under your change control. Use it to test workflows such as team permissions and audit log review, then validate the same workflows on a staging deployment inside your own infrastructure.
Harbor's Helm high availability path
Harbor documents a high-availability deployment through its Helm chart, with release history published in the harbor-helm repository. Running Harbor on Kubernetes means your cluster team owns ingress, persistent volumes, certificates and the upgrade order between the chart and the Harbor release. Ask whether the chart version you plan to use matches the Harbor version you intend to run, and test node failure and storage failover before go-live.
Project Quay's Kubernetes and storage path
Project Quay's geo-replication depends on the storage backend you choose, including S3, GCS, Swift, Ceph or ODF, so the high availability design is partly a storage design. Replicated image blobs need a backend that every region can reach, and the metadata database must survive node loss. Before you compare Project Quay with Harbor on Kubernetes, ask the Project Quay maintainers or your Red Hat contact which deployment method and operator versions they support for your target cluster.
Harbor vs Project Quay feature by feature
This table compares Harbor and Project Quay on the capabilities that usually decide a registry shortlist. Read each row as a question to put to both projects, and treat any cell that says to confirm as an open item for your own evaluation rather than a settled answer. The main takeaway is that Harbor's features are documented in detail in the supplied sources, while several Project Quay points need confirmation from the project or Red Hat before you rely on them.
| Capability | Harbor | Project Quay |
|---|---|---|
| License | Apache-2.0, according to its GitHub repository | Apache-2.0, according to the quay/quay GitHub repository |
| Governance | CNCF project, joined July 31, 2018 and graduated June 15, 2020 | Upstream of Red Hat Quay; confirm with the project and Red Hat how roadmap and releases are governed |
| Vulnerability scanning | Trivy enabled at install with the --with-trivy option; can connect to an external Trivy or other scanners; v2.15.4 bundles Trivy 0.75.0 | Vulnerability analysis through Clair; confirm supported scanner options and any Red Hat-supplied scanning features |
| Geo-replication and storage backends | Replication between registries is the documented mechanism; confirm the storage backend list for your own topology | Geo-replicated storage on local filesystems, S3, GCS, Swift, Ceph and ODF; confirm the setup and failover behavior for your regions |
| Replication and proxy cache | Push or pull replication with filters and scheduling; proxy cache for multiple upstream registries, read-only for pushes | Confirm whether replication and proxy cache features exist and how they compare with Harbor's options |
| Access control | Projects with role-based access control | ACLs, team management and audit logs, according to the Project Quay README |
| SSO | LDAP/AD and OIDC single sign-on | Confirm supported identity providers and protocols with the project documentation |
| Helm chart handling | Charts stored as OCI artifacts; ChartMuseum removed from v2.8.0 | Confirm chart storage format and Helm support in your Project Quay version |
| REST API | REST API with an embedded Swagger UI | Confirm API coverage and documentation for your target version |
| Kubernetes deployment path | Installer and Helm-based high availability deployment documented by the Harbor project | Confirm the supported Kubernetes deployment method and operator options with the project or Red Hat |
| Commercial support | Confirm support options with the vendor or a third party you contract | Red Hat Quay is the commercially supported distribution; confirm the support scope, terms and editions with Red Hat |
How vulnerability scanning and geo-replication differ in practice
Harbor scans with Trivy by default, and Project Quay scans with Clair, so the scanner you run determines the vulnerability data your policies act on. Harbor provides static analysis of images through the open-source Trivy scanner, which is enabled at install time with the --with-trivy option. Harbor v2.15.4 bundles Trivy 0.75.0, and Harbor can also connect to an external Trivy instance or to other scanners. Quay's README lists vulnerability analysis through Clair. A Trivy-centric pipeline, where developers and CI already scan with Trivy, favors Harbor because results can be compared across build and registry. A Clair-based standard favors Quay. Confirm with each vendor which scanner versions and vulnerability databases your policies will rely on.
Harbor v2.15.3 also changed behavior you must plan for. It fixed a batch of security advisories and introduced two breaking changes: webhooks to internal network addresses are blocked by default, so notification targets inside your network need an explicit allowance, and signing unsigned images fails in projects that enforce content trust. Test both in a staging project before upgrading any production instance, and read the release notes alongside the backup and PostgreSQL 18 upgrade guidance in v2.15.2. Confirm the equivalent behavior and upgrade path for Quay in your own environment.
Quay's geo-replicated storage works at the storage layer and is documented across local filesystems, S3, GCS, Swift, Ceph and ODF. If you already run a Ceph or ODF footprint, that is the strongest reason to pick Quay, since the backend you operate is already listed. Harbor replication works at the registry layer instead. Its rules run push-based or pull-based, filter by repository name, tag, label and resource type, and trigger manually, on a cron schedule or on push and retag events, with an optional per-task bandwidth limit. Its endpoints include other Harbor instances, Docker Hub and major cloud registries. Harbor proxy cache projects serve cached copies when the upstream is unreachable and apply a default 7-day retention policy, which you should review against your image lifecycle. These are Harbor-specific design choices to weigh, not interchangeable with Quay's storage replication.
Harbor and Project Quay licensing, editions and what is paid
Harbor is licensed under Apache-2.0 according to its GitHub repository, so the project itself carries no license fee and you can run and modify it inside your own environment under those terms. The CNCF project page records that Harbor joined the CNCF on July 31, 2018, moved to incubating on November 14, 2018 and reached the Graduated maturity level on June 15, 2020. This page does not identify a paid Harbor edition, so whether one exists is a question to confirm, not an assumption.
- Apache-2.0 terms: The license covers the code in the repository. It does not cover a support contract, a hosted service or a packaged build from a third party, so check exactly which artifact you plan to deploy.
- Graduated maturity: Graduation shows the project completed the CNCF maturity path. It does not set a support window, so you still need a written release policy from the maintainers or your support provider.
- Patch lines: The 2.14 and 2.13 lines received patch releases (v2.14.5 and v2.13.6) on October 6, 2026, while the latest stable release, v2.15.4, was published on October 9, 2026. Ask how long each line will receive security fixes before you choose a version.
- Commercial support: Confirm with the Harbor project and any provider you are considering which support contracts exist, what they cover and whether they include security advisories and upgrade assistance.
Before you commit, request written answers on support windows, backported security fixes and the supported upgrade path from your current release.
Project Quay is Apache-2.0 open-source software that builds, stores and distributes container images, according to the quay/quay GitHub repository. Quay.io hosts a live instance of the upstream project, which lets your team test workflows before you install anything in your own infrastructure. Project Quay is the upstream of Red Hat Quay, so the editions, subscription terms and support windows for the Red Hat product must be confirmed directly with Red Hat.
- Upstream license: The Apache-2.0 terms apply to the open-source project as published. A Red Hat Quay subscription is a separate agreement, so read its terms before assuming the upstream license covers the supported product.
- Quay.io as a hosted option: Quay.io runs a live instance of the project. It is useful for evaluation, but if your data must stay in your own environment you will need a self-hosted deployment, and the hosted service's own terms apply to anything you store there.
- Red Hat Quay editions: Ask Red Hat which editions exist, what each includes and how each is licensed. The supporting material for this page does not give tiers or prices, so do not treat any tier as settled until Red Hat confirms it.
- Support windows: Ask for the lifecycle of each release line you plan to run, including how long security fixes will be delivered for it and what happens at end of support.
- Upstream and supported builds: Changes arrive first in the open-source project, and the supported build may differ in timing or content. Confirm in writing which build your contract covers.
Request the subscription terms, edition comparison and release lifecycle from Red Hat in writing before you compare costs with the Harbor option.
What drives the running cost of each registry
A registry's running cost comes from the infrastructure beneath it, the people who keep it patched and recoverable, the scanners and support you choose, and the cluster it may run on. Each cost is paid to a different party, so ask each one for a written scope before comparing totals.
Infrastructure and storage footprint
Your largest recurring line is usually object storage, which grows with every image layer, chart and retained tag. Geo-replicated copies multiply that footprint in each target location, and the database and cache sizing you need depends on project count and scan volume. Ask each vendor or your provider which storage backends they expect at your image volume, and price the replicas separately from the primary copy.
Patching, backup and upgrade skills
Someone on your team must own patching, backups and upgrades, and that work recurs every release cycle. Harbor v2.15.2 upgrades its bundled database from PostgreSQL 15 to PostgreSQL 18 on container startup, and its release notes recommend a backup first and a reindexdb run if index problems appear. Harbor v2.15.3 blocks webhooks to internal addresses by default and changes signing behavior in projects that enforce content trust, so budget time to review those settings before you upgrade. Confirm how Project Quay's upgrade path compares for your deployment.
Scanner operations and updates
Harbor bundles Trivy when you enable it at install time, and it can also connect to an external Trivy instance or other scanners. Running Trivy yourself means maintaining its vulnerability database updates, the scanner's resources and the network path it uses in air-gapped networks. Project Quay's README lists Clair for analysis, so compare how each scanner's database is refreshed and who is responsible when a scan fails.
Support contracts and free tiers
Both registries are open source, so the license itself carries no fee. Support, however, may come from a vendor contract, an implementation partner or your internal team, and you should confirm which parts of each product are covered by community support and which need a paid agreement. For Project Quay, check whether the Red Hat Quay subscription is required for the production scope you plan. Ask for a written quote tied to a defined support window.
Kubernetes operations cost
If the registry runs on a cluster, its cost includes the cluster itself: control plane capacity, node upkeep, ingress, certificates and storage classes. Harbor documents a high-availability deployment through Helm, which means you run and monitor more components than a single-node install. Confirm with your platform team whether the cluster is already funded and staffed, because a shared cluster changes the marginal cost of the registry.
Moving from one registry to the other without losing images
This sequence moves images, tags and their metadata from one registry to the other, rebuilds access and policy controls in the target, and retires the source only after the copied content has been verified and scanned.
Inventory projects, repositories and access rules
Your platform team lists every project or namespace, repository, tag, Helm chart, signature, retention rule, robot or service account and role assignment in the source registry. Record which identity provider groups map to which roles, and which CI pipelines and Kubernetes clusters pull from each repository. The output is a written inventory that separates what the replication path will copy from what you must recreate by hand. Confirm with the source registry's documentation which signature and attestation formats it stores, because these determine whether they can be verified after the move.
Stand up the target registry and its dependencies
Your platform or DeployOpen engineers install the target registry in your own infrastructure with its database, object storage and cache. For Harbor, review the installation prerequisites and the Helm high availability guide, and note that recent Harbor releases upgrade the bundled database on startup, so plan for a backup. For Quay, follow the Project Quay deployment documentation for its database and storage backends. The step is complete when the target answers health checks, accepts a test push and pull over TLS, and its storage backend has been verified with a test object.
Copy images through replication or a pull path
Copy repositories with the target's supported mechanism. Harbor replication rules can run push-based or pull-based, filter by repository name, tag, label and resource type, and run manually or on a schedule, with an optional bandwidth limit. Harbor documents replication endpoints for other Harbor instances and several named registries, but Quay as an endpoint must be confirmed with Harbor and your Quay version before you depend on it. If it is not supported, use a registry-to-registry copy tool your team has validated, or pull each image and push it. Compare tag counts and manifest digests between source and target for every repository.
Use proxy cache during the transition if it fits
If workloads must keep pulling during the cutover, configure the target as a proxy cache for the source registry. Harbor proxy cache projects can cache Quay as an upstream, are read-only for pushes, and serve the cached copy when the upstream is unreachable. Harbor applies a default 7-day retention policy to cached artifacts, so review that setting before you rely on it. Confirm with Harbor's documentation whether this pattern fits your version and your Quay access model. The step closes when pulls through the cache succeed with the source registry blocked in a test environment.
Recreate RBAC, identity mapping and audit retention
Rebuild projects or organizations, teams and role assignments in the target from your inventory. Connect the target to your identity provider using LDAP, AD or OIDC for Harbor, or the equivalent for Quay, and map each group to the role it held before. Rebuild robot or service accounts with new credentials, and set audit log retention to match your compliance and incident response requirements. Confirm each rule with a test user per role. The step is done when every role has been exercised and audit events appear in the target's log store.
Rebuild scanning policies and scheduled jobs
Scanner policies, severity thresholds, content trust rules, garbage collection schedules and replication triggers are not assumed to transfer, so recreate them in the target. For Harbor, vulnerability scanning uses Trivy, enabled at install with the --with-trivy option, or an external scanner. For Project Quay, the README lists Clair for vulnerability analysis, so confirm your Clair deployment and its database. Note that Harbor v2.15.3 blocks webhooks to internal addresses by default and fails signing of unsigned images in projects that enforce content trust, so test these before go-live.
Repoint CI pipelines and Kubernetes pull secrets
Update image references in build pipelines, Helm values and deployment manifests to the new registry hostname, and replace pull secrets in each namespace or service account. Change push credentials in CI to the new robot or service accounts. Roll out in a non-production cluster first, then production by namespace, and keep the old registry readable until every workload has restarted on the new reference. The step is complete when a sample of deployments pulls from the target, and a search of manifests and pipeline definitions finds no references to the old hostname.
Scan copied images and then retire the old registry
Run vulnerability scanning on the copied images in the target, because scan results and metadata from the source may not carry over and should not be treated as current. Compare findings against your policy and record the baseline. Once no workloads reference the old registry and your retention window for it has passed, set it to read-only, export a final audit record, and decommission it. Keep a documented rollback plan until that point. The step closes with a signed-off report listing copied repositories, digest checks, scan results and the decommission date.
What implementing each registry involves and where projects run long
Harbor's install path is a set of choices made before the first run. The Harbor installer expects you to check the installation prerequisites for your host, container runtime and storage, then decide whether to enable Trivy at install time with the --with-trivy option. Without that flag, scanning is not active until you add a scanner, so confirm it in the first hour rather than after users start pushing images. For high availability, the Helm path described in the Harbor documentation is a separate deployment model with its own external PostgreSQL, Redis-compatible cache and shared storage decisions, and you should confirm how the chart version you pick maps to the harbor-helm release notes before you commit to it. Harbor's 2.15.x line adds upgrade discipline on top of that. Release v2.15.2 upgrades the bundled internal database from PostgreSQL 15 to PostgreSQL 18 on container startup and replaces Redis with Valkey, and its notes recommend a backup before upgrading and a reindexdb run if index problems appear. Plan a tested backup and rollback step for every upgrade, not only the first one.
Project Quay's path depends on how your team runs Kubernetes. Project Quay is Apache-2.0 software, and the README lists Clair for vulnerability analysis, geo-replicated storage on local filesystems, S3, GCS, Swift, Ceph and ODF, and ACLs, team management and audit logs. What is not in the supplied facts is the exact deployment method, operator packaging and supported storage configuration for your environment, so confirm with the upstream project and your Kubernetes platform team which installation method you will standardize on, how the database and object storage are provisioned, and how upgrades are rolled out. Those answers decide whether your Quay work is a configuration exercise or a platform build. Confirm also how Clair is kept current and how its findings reach your admission and promotion gates, since that workflow is yours to design.
Projects usually run long in five places, and the scope is set by your inputs. Identity integration tests take time when LDAP, AD, OIDC or SAML groups must map to project roles and you need proof that a revoked user loses push access. Storage and geo-replication design takes time because the replication endpoints, bandwidth limits and object store consistency model all affect recovery. Scanner policy tuning means deciding which severities block a pull, how exceptions are approved and how often feeds refresh. Signing and content trust rules need a decision on who signs, which projects enforce trust and how unsigned images are handled; Harbor v2.15.3 changed the last behavior, blocking signing of unsigned images in projects that enforce content trust, and blocking webhooks to internal network addresses by default, so test those changes against your pipelines. Migration cutover is often the longest step, because image references, replication history and client trust stores must move together. Your scope will be driven by the number of projects, identity sources, storage targets, existing scanner results and the number of pipelines that push or pull.
Questions buyers ask before choosing Harbor or Project Quay
How much does it cost to run Harbor or Project Quay?
Both are Apache-2.0 software, so the license itself costs nothing, and the running cost is the infrastructure plus the people who operate it. Infrastructure covers compute for the registry services, a database, object storage for image layers, backups and network egress. Labor covers installation, upgrades, scanner maintenance, access policy and incident response. Ask any provider, including Red Hat for Quay, to itemize subscription or support fees separately from infrastructure. The main cost drivers are image volume, replication topology, how often you upgrade and how many scanning jobs run. Neither project publishes a price in the sources reviewed here, so request figures against your own image counts and retention policy.
How long does a Harbor or Project Quay deployment take?
The timeline depends on the inputs, not on the registry alone. The main variables are the target platform (a single VM, Kubernetes, or an air-gapped network), whether you need high availability, how you integrate identity, whether you replicate to other registries or set up proxy caches, and how long your security team needs to approve the architecture. Harbor's installer and Helm chart make a basic install straightforward, but production hardening, backup testing and a documented upgrade path take longer. Build your plan from a written scope with named owners, then ask any partner for a timeline tied to those deliverables.
Can our own team deploy and upgrade Harbor or Project Quay without outside help?
A team with Kubernetes or Linux operations experience can usually run either registry, but it needs specific skills and written runbooks. Plan for database and object storage administration, TLS and certificate rotation, identity integration with LDAP, AD or OIDC, scanner updates, garbage collection, and backup and restore testing. Upgrades need particular care: Harbor v2.15.2, for example, upgrades its bundled database from PostgreSQL 15 to PostgreSQL 18 on container startup and recommends a backup first. Confirm your team can rehearse that path in a non-production environment before it becomes a production change.
Does Harbor or Project Quay have commercial support?
Project Quay is the upstream of Red Hat Quay, so commercial support for the productized version comes from Red Hat under its own subscription terms. Harbor is a CNCF graduated project, and commercial support for Harbor is provided by independent vendors and service firms rather than by the project itself. Confirm with Red Hat which Quay version, support window and deployment model are covered, and confirm with any Harbor vendor which release lines they support. DeployOpen is not a Red Hat partner or reseller, and its services for either platform are implementation and operations work defined in a written scope.
Can we switch from Harbor to Project Quay later, or the reverse?
Switching is possible but not automatic, because the registries differ in their APIs, access model and metadata. The usual path is to replicate image repositories and tags between the two, then move clients, pipelines and access policies. Harbor's replication supports Harbor and other registry endpoints, including push and pull rules with filters, which helps with bulk copy. Project Quay's storage and ACL model differs, so project structures, robot accounts and audit history need a separate mapping. Budget a parallel run, verify digests and signatures after each copy, and document the cutover.
Which vulnerability scanner should we pick, Trivy or Clair?
Harbor provides static vulnerability analysis through the open-source Trivy scanner, which is enabled at install time with the --with-trivy option, and it can connect to an external Trivy instance or other scanners. Project Quay's README lists Clair for vulnerability analysis. Choose based on the scanners' vulnerability database update process in your environment, the findings your policy gates depend on, and whether your audit team needs a specific tool named in its evidence. Test both on a representative image set and compare findings, false positives and scan times before you commit to a gate.
Is an outside partner worth it for a regulated environment?
An outside partner is most useful when the work is fixed in scope and the regulated environment adds evidence and review requirements. DeployOpen plans, implements, hardens, backs up, documents and supports self-hosted platforms inside your own infrastructure, and most engagements are fixed-scope with deliverables and timelines agreed in writing before work starts. DeployOpen prepares systems, controls and evidence for compliance assessments but does not issue audit reports or certifications. To scope the work, you provide the target environment, access to identity and storage systems, the security requirements your assessors use, and named staff for approvals. A written quote then follows from that scope.
How DeployOpen helps you choose, implement or migrate a registry
DeployOpen plans, implements, hardens, backs up and documents self-hosted open-source platforms inside your own infrastructure, so the Harbor vs Project Quay decision can be made against your own environment. We scope the work in writing before any build begins, and we can support the platform after handover as a retainer.
How we scope
- We confirm which registry content you store: container images, Helm charts or other OCI artifacts.
- We map your scanning needs, including whether Trivy or Clair fits your existing tooling and reporting.
- We define the written scope for replication, geo-replication, access control and Kubernetes deployment before work starts.
How we build
- We deploy the chosen registry in your cloud accounts, data centers or air-gapped network.
- We configure project RBAC, LDAP, AD or OIDC single sign-on, and audit logging against your identity model.
- We test replication, scanning and backup restore paths and document the results for your review.
How we hand over
- We deliver runbooks covering install, upgrade, backup, garbage collection and recovery steps for your team.
- We walk your operators through upgrade procedures, including the pre-upgrade backup steps each release requires.
- We document configuration decisions so your auditors and security reviewers can trace how controls were set up.
How we support
- Ongoing support, upgrades and continuous testing are available as a retainer after handover.
- We can plan upgrades against each release's notes, including breaking changes that affect webhooks or content trust.
- We prepare systems and evidence for compliance assessments, while independent auditors issue any formal reports.

