goharbor/harbor
GitHub: goharbor/harbor
CNCF 毕业项目,企业级云原生制品仓库,提供镜像存储、安全扫描、签名验证和跨仓库复制等完整治理能力。
Stars: 27777 | Forks: 5136
# Harbor
[](https://github.com/goharbor/harbor/actions/workflows/CI.yml)
[](https://goreportcard.com/report/github.com/goharbor/harbor)
[](https://codecov.io/gh/goharbor/harbor)
[](https://bestpractices.coreinfrastructure.org/projects/2095)
[](https://www.codacy.com/gh/goharbor/harbor/dashboard?utm_source=github.com&utm_medium=referral&utm_content=goharbor/harbor&utm_campaign=Badge_Grade)


[](https://app.fossa.com/projects/git%2Bgithub.com%2Fgoharbor%2Fharbor?ref=badge_shield)
[](https://artifacthub.io/packages/helm/harbor/harbor)
[](https://scorecard.dev/viewer/?uri=github.com/goharbor/harbor)
|社区会议|
|------------------|
|Harbor 项目在两个不同的时区每两周举行一次社区电话会议。要加入社区电话会议或查看以前的会议记录和录音,请访问[会议日程](https://github.com/goharbor/community/blob/master/MEETING_SCHEDULE.md)。|
**注意**:在开发期间,`main` 分支可能处于*不稳定甚至损坏的状态*。
请使用 [releases](https://github.com/goharbor/harbor/releases) 而不是 `main` 分支,以获取稳定的二进制文件。
Harbor 是一个开源的可信云原生 Registry 项目,用于存储、签名和扫描内容。Harbor 通过添加用户通常需要的功能(如安全性、身份和管理)扩展了开源 Docker Distribution。拥有一个更接近构建和运行环境的 Registry 可以提高镜像传输效率。Harbor 支持 Registry 之间的镜像复制,还提供高级安全功能,如用户管理、访问控制和活动审计。
Harbor 由 [Cloud Native Computing Foundation](https://cncf.io) (CNCF) 托管。如果您是一个希望帮助塑造云原生技术演进的组织,请考虑加入 CNCF。关于参与者和 Harbor 如何发挥作用的详细信息,请阅读 CNCF 的[公告](https://www.cncf.io/blog/2018/07/31/cncf-to-host-harbor-in-the-sandbox/)。
## 功能
* **云原生 Registry**:通过支持容器镜像和 [Helm](https://helm.sh) charts,Harbor 为容器运行时和编排平台等云原生环境提供 Registry 服务。
* **基于角色的访问控制**:用户通过“项目”访问不同的仓库,并且在一个项目下,用户对镜像或 Helm charts 可以拥有不同的权限。
* **基于策略的复制**:基于策略并使用过滤器(仓库、标签和标签),可以在多个 Registry 实例之间复制(同步)镜像和 charts。如果遇到任何错误,Harbor 会自动重试复制。这可用于辅助负载均衡、实现高可用性,并促进混合和多云场景下的多数据中心部署。
* **漏洞扫描**:Harbor 定期扫描镜像中的漏洞,并进行策略检查,以防止部署有漏洞的镜像。
* **LDAP/AD 支持**:Harbor 与现有的企业 LDAP/AD 集成,用于用户认证和管理,并支持将 LDAP 组导入 Harbor,然后可以授予其特定项目的权限。
* **OIDC 支持**:Harbor 利用 OpenID Connect (OIDC) 来验证由外部授权服务器或身份提供商认证的用户身份。可以启用单点登录来登录 Harbor 门户。
* **镜像删除 & 垃圾回收**:系统管理员可以运行垃圾回收作业,以便定期删除镜像(悬空 manifests 和未引用的 blobs)并释放其空间。
* **Notary**:支持使用 Docker Content Trust(利用 Notary)对容器镜像进行签名,以保证其真实性和来源。此外,还可以激活防止部署未签名镜像的策略。
* **图形用户门户**:用户可以轻松浏览、搜索仓库和管理项目。
* **审计**:对仓库的所有操作都通过日志进行跟踪。
* **RESTful API**:提供 RESTful API 以便进行管理操作,且易于与外部系统集成。内嵌的 Swagger UI 可用于探索和测试 API。
* **易于部署**:Harbor 可以通过 Docker compose 以及 Helm Chart 部署,最近还添加了 Harbor Operator。
## 架构
要了解 Harbor 的架构设计,请查看文档 [Harbor 架构概述](https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor)。
## API
* Harbor RESTful API:用于 Harbor 大多数管理操作的 API,可用于以编程方式与 Harbor 进行集成。
* 第 1 部分:[新增或变更的 API](https://editor.swagger.io/?url=https://raw.githubusercontent.com/goharbor/harbor/main/api/v2.0/swagger.yaml)
## 安装 & 运行
**系统要求:**
**在 Linux 主机上:** docker 20.10.10-ce+ 和 docker-compose 1.18.0+ 。
下载 **[Harbor release ](https://github.com/goharbor/harbor/releases)** 的二进制文件,并按照 **[安装和配置指南](https://goharbor.io/docs/latest/install-config/)** 安装 Harbor。
如果您想在 Kubernetes 上部署 Harbor,请使用 **[Harbor chart](https://github.com/goharbor/harbor-helm)**。
有关如何使用 Harbor 的更多详细信息,请参阅 **[文档](https://goharbor.io/docs/)**。
### 验证发布签名
从 v2.15.0 开始,Harbor 发布产物使用 Cosign 进行加密签名,以确保真实性和完整性。
从 Harbor releases 页面下载安装程序和签名包。
#### 快速验证
```
# 安装 Cosign (v2.0+)
brew install sigstore/tap/cosign
# 验证签名
cosign verify-blob \
--bundle harbor-offline-installer-v2.15.0.tgz.sigstore.json \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp '^https://github.com/goharbor/harbor/.github/workflows/publish_release.yml@refs/tags/v.*$' \
harbor-offline-installer-v2.15.0.tgz
```
- *预期输出:* Verified OK
- *完整验证指南:* [docs/signature-verification.md](docs/signature-verification.md)
## OCI Distribution 一致性测试
查看 Harbor 的 OCI distribution 一致性测试[报告](https://storage.googleapis.com/harbor-conformance-test/report.html)。
## 兼容性
[兼容性列表](https://goharbor.io/docs/edge/install-config/harbor-compatibility-list/)文档提供了 Harbor 组件的兼容性信息。
* [复制适配器](https://goharbor.io/docs/edge/install-config/harbor-compatibility-list/#replication-adapters)
* [OIDC 适配器](https://goharbor.io/docs/edge/install-config/harbor-compatibility-list/#oidc-adapters)
* [扫描器适配器](https://goharbor.io/docs/edge/install-config/harbor-compatibility-list/#scanner-adapters)
## 演示
* **[在线演示](https://demo.goharbor.io)** - 一个安装了最新 Harbor 稳定版本的演示环境。更多信息请参考[此页面](https://goharbor.io/docs/latest/install-config/demo-server/)。
* **[视频演示](https://github.com/goharbor/harbor/wiki/Video-demos-for-Harbor)** - Harbor 功能演示,持续更新。
## 合作伙伴和用户
有关用户列表,请参考 [ADOPTERS.md](ADOPTERS.md)。
## 安全
### 安全审计
2019 年 10 月,Cure53 进行了第三方安全审计。您可以在[这里](https://goharbor.io/docs/2.0.0/security/Harbor_Security_Audit_Oct2019.pdf)查看完整报告。
### 报告安全漏洞
如果您在 Harbor 中发现安全问题、漏洞或潜在漏洞,请将漏洞详情告知 [Harbor 安全团队](mailto:cncf-harbor-security@lists.cncf.io)。我们将发送一封确认邮件以确认您的报告,并在我们确定问题是否属实后发送另一封邮件。
更多详细信息,请参阅我们完整的[安全发布流程](SECURITY.md)。
## 许可证
Harbor 根据 [Apache 2 许可证](LICENSE)发布。
本项目使用具有附加许可条款的开源组件。这些开源组件的官方 docker 镜像和许可条款可在以下位置找到:
* Photon OS 1.0: [docker 镜像](https://hub.docker.com/_/photon/), [许可证](https://github.com/vmware/photon/blob/master/COPYING)
## Fossa 状态
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fgoharbor%2Fharbor?ref=badge_large)
Harbor 是一个开源的可信云原生 Registry 项目,用于存储、签名和扫描内容。Harbor 通过添加用户通常需要的功能(如安全性、身份和管理)扩展了开源 Docker Distribution。拥有一个更接近构建和运行环境的 Registry 可以提高镜像传输效率。Harbor 支持 Registry 之间的镜像复制,还提供高级安全功能,如用户管理、访问控制和活动审计。
Harbor 由 [Cloud Native Computing Foundation](https://cncf.io) (CNCF) 托管。如果您是一个希望帮助塑造云原生技术演进的组织,请考虑加入 CNCF。关于参与者和 Harbor 如何发挥作用的详细信息,请阅读 CNCF 的[公告](https://www.cncf.io/blog/2018/07/31/cncf-to-host-harbor-in-the-sandbox/)。
## 功能
* **云原生 Registry**:通过支持容器镜像和 [Helm](https://helm.sh) charts,Harbor 为容器运行时和编排平台等云原生环境提供 Registry 服务。
* **基于角色的访问控制**:用户通过“项目”访问不同的仓库,并且在一个项目下,用户对镜像或 Helm charts 可以拥有不同的权限。
* **基于策略的复制**:基于策略并使用过滤器(仓库、标签和标签),可以在多个 Registry 实例之间复制(同步)镜像和 charts。如果遇到任何错误,Harbor 会自动重试复制。这可用于辅助负载均衡、实现高可用性,并促进混合和多云场景下的多数据中心部署。
* **漏洞扫描**:Harbor 定期扫描镜像中的漏洞,并进行策略检查,以防止部署有漏洞的镜像。
* **LDAP/AD 支持**:Harbor 与现有的企业 LDAP/AD 集成,用于用户认证和管理,并支持将 LDAP 组导入 Harbor,然后可以授予其特定项目的权限。
* **OIDC 支持**:Harbor 利用 OpenID Connect (OIDC) 来验证由外部授权服务器或身份提供商认证的用户身份。可以启用单点登录来登录 Harbor 门户。
* **镜像删除 & 垃圾回收**:系统管理员可以运行垃圾回收作业,以便定期删除镜像(悬空 manifests 和未引用的 blobs)并释放其空间。
* **Notary**:支持使用 Docker Content Trust(利用 Notary)对容器镜像进行签名,以保证其真实性和来源。此外,还可以激活防止部署未签名镜像的策略。
* **图形用户门户**:用户可以轻松浏览、搜索仓库和管理项目。
* **审计**:对仓库的所有操作都通过日志进行跟踪。
* **RESTful API**:提供 RESTful API 以便进行管理操作,且易于与外部系统集成。内嵌的 Swagger UI 可用于探索和测试 API。
* **易于部署**:Harbor 可以通过 Docker compose 以及 Helm Chart 部署,最近还添加了 Harbor Operator。
## 架构
要了解 Harbor 的架构设计,请查看文档 [Harbor 架构概述](https://github.com/goharbor/harbor/wiki/Architecture-Overview-of-Harbor)。
## API
* Harbor RESTful API:用于 Harbor 大多数管理操作的 API,可用于以编程方式与 Harbor 进行集成。
* 第 1 部分:[新增或变更的 API](https://editor.swagger.io/?url=https://raw.githubusercontent.com/goharbor/harbor/main/api/v2.0/swagger.yaml)
## 安装 & 运行
**系统要求:**
**在 Linux 主机上:** docker 20.10.10-ce+ 和 docker-compose 1.18.0+ 。
下载 **[Harbor release ](https://github.com/goharbor/harbor/releases)** 的二进制文件,并按照 **[安装和配置指南](https://goharbor.io/docs/latest/install-config/)** 安装 Harbor。
如果您想在 Kubernetes 上部署 Harbor,请使用 **[Harbor chart](https://github.com/goharbor/harbor-helm)**。
有关如何使用 Harbor 的更多详细信息,请参阅 **[文档](https://goharbor.io/docs/)**。
### 验证发布签名
从 v2.15.0 开始,Harbor 发布产物使用 Cosign 进行加密签名,以确保真实性和完整性。
从 Harbor releases 页面下载安装程序和签名包。
#### 快速验证
```
# 安装 Cosign (v2.0+)
brew install sigstore/tap/cosign
# 验证签名
cosign verify-blob \
--bundle harbor-offline-installer-v2.15.0.tgz.sigstore.json \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp '^https://github.com/goharbor/harbor/.github/workflows/publish_release.yml@refs/tags/v.*$' \
harbor-offline-installer-v2.15.0.tgz
```
- *预期输出:* Verified OK
- *完整验证指南:* [docs/signature-verification.md](docs/signature-verification.md)
## OCI Distribution 一致性测试
查看 Harbor 的 OCI distribution 一致性测试[报告](https://storage.googleapis.com/harbor-conformance-test/report.html)。
## 兼容性
[兼容性列表](https://goharbor.io/docs/edge/install-config/harbor-compatibility-list/)文档提供了 Harbor 组件的兼容性信息。
* [复制适配器](https://goharbor.io/docs/edge/install-config/harbor-compatibility-list/#replication-adapters)
* [OIDC 适配器](https://goharbor.io/docs/edge/install-config/harbor-compatibility-list/#oidc-adapters)
* [扫描器适配器](https://goharbor.io/docs/edge/install-config/harbor-compatibility-list/#scanner-adapters)
## 演示
* **[在线演示](https://demo.goharbor.io)** - 一个安装了最新 Harbor 稳定版本的演示环境。更多信息请参考[此页面](https://goharbor.io/docs/latest/install-config/demo-server/)。
* **[视频演示](https://github.com/goharbor/harbor/wiki/Video-demos-for-Harbor)** - Harbor 功能演示,持续更新。
## 合作伙伴和用户
有关用户列表,请参考 [ADOPTERS.md](ADOPTERS.md)。
## 安全
### 安全审计
2019 年 10 月,Cure53 进行了第三方安全审计。您可以在[这里](https://goharbor.io/docs/2.0.0/security/Harbor_Security_Audit_Oct2019.pdf)查看完整报告。
### 报告安全漏洞
如果您在 Harbor 中发现安全问题、漏洞或潜在漏洞,请将漏洞详情告知 [Harbor 安全团队](mailto:cncf-harbor-security@lists.cncf.io)。我们将发送一封确认邮件以确认您的报告,并在我们确定问题是否属实后发送另一封邮件。
更多详细信息,请参阅我们完整的[安全发布流程](SECURITY.md)。
## 许可证
Harbor 根据 [Apache 2 许可证](LICENSE)发布。
本项目使用具有附加许可条款的开源组件。这些开源组件的官方 docker 镜像和许可条款可在以下位置找到:
* Photon OS 1.0: [docker 镜像](https://hub.docker.com/_/photon/), [许可证](https://github.com/vmware/photon/blob/master/COPYING)
## Fossa 状态
[](https://app.fossa.com/projects/git%2Bgithub.com%2Fgoharbor%2Fharbor?ref=badge_large)标签:Artifact 管理, CNCF, DevOps 工具, DevSecOps, Docker Registry, EVTX分析, Go, Helm Chart, Notary, RBAC, Ruby工具, Webhooks, web渗透, 上游代理, 企业级, 可信云, 子域名突变, 安全扫描, 容器镜像仓库, 幻觉检测, 开源, 日志审计, 时序注入, 版权保护, 请求拦截, 镜像存储, 镜像签名