Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,15 @@ name = "Community"
url = "/community"
weight = 3

[[menu.main]]
name = "Ecosystem"
url = "/ecosystem"
weight = 4

[[menu.main]]
name = "Blog"
url = "/blog"
weight = 4
weight = 5

[outputs]
home = [ "HTML", "REDIRECTS" ]
Expand Down
7 changes: 7 additions & 0 deletions content/ecosystem.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: Ecosystem
---

To suggest an actively maintained project, please open a pull request against the [Harbor website repository](https://github.com/goharbor/website).

{{< ecosystem >}}
88 changes: 88 additions & 0 deletions data/ecosystem.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
- category: Featured projects
description: Projects closely connected to Harbor's development and deployment.
projects:
- title: Harbor Next
description: The next generation of Harbor projects and architecture.
link: https://github.com/container-registry/harbor-next
- title: Harbor Helm Chart
description: The official Helm chart for deploying Harbor on Kubernetes clusters.
link: https://github.com/goharbor/harbor-helm
- title: Terraform Provider for Harbor
description: A Terraform provider for managing Harbor resources like projects, users, and registries.
link: https://github.com/goharbor/terraform-provider-harbor
- title: Harbor Satellite
description: A lightweight Harbor extension for edge deployments and proxying.
link: https://github.com/container-registry/harbor-satellite

- category: Command-line and repository workflows
description: Tools for working with Harbor and synchronizing registry content.
projects:
- title: Harbor CLI
description: Official Harbor CLI
link: https://github.com/goharbor/harbor-cli
- title: Charts-Syncer
description: Sync chart packages and associated container images between chart repositories.
link: https://github.com/bitnami-labs/charts-syncer
- title: Helm Chart OCI Proxy
description: Proxy and transform Helm Chart into OCI images on the fly.
link: https://github.com/container-registry/helm-charts-oci-proxy
- title: Harbor Sync
description: Harbor Sync allows you to synchronize your Harbor robot accounts with your Kubernetes cluster.
link: https://github.com/moolen/harbor-sync
- title: docker-pushrm
description: Update your Harbor project README with a simple CLI.
link: https://github.com/christian-korneck/docker-pushrm
- title: GitHub Action for docker-pushrm
description: GitHub Action on top of docker-pushrm allowing you to update the README of a container repo.
link: https://github.com/christian-korneck/update-container-description-action
- title: CLI for Harbor
description: A community created Harbor CLI written in golang.
link: https://github.com/hinyinlam/cli-for-harbor

- category: Security and observability
description: Scanners and monitoring tools for Harbor.
projects:
- title: Harbor Scanner Adapter for Trivy
description: Allows Harbor to use Trivy for providing static analysis of vulnerabilities in container images.
link: https://github.com/aquasecurity/harbor-scanner-trivy
- title: Harbor Scanner Adapter for Aqua Enterprise
description: Allows Harbor to use Aqua Enterprise ad hoc scanning feature for providing static analysis of vulnerabilities.
link: https://github.com/aquasecurity/harbor-scanner-aqua
- title: Harbor Vulnerabilities Exporter
description: Prometheus exporter that collects vulnerability information for the latest pushed images.
link: https://github.com/NCCloud/harbor-vulnerabilities-exporter

- category: Integrations and operations
description: Infrastructure and deployment automation tools.
projects:
- title: harbor-container-webhook
description: Mutating webhook for Kubernetes, which rewrites container images to use Harbor's proxy cache.
link: https://github.com/indeedeng-alpha/harbor-container-webhook
- title: Crossplane Harbor Provider
description: Crossplane provider for Harbor based on terraform-provider-harbor.
link: https://github.com/globallogicuki/provider-harbor
- title: Pulumi Harbor Provider
description: Manage Harbor resources with Pulumi, using the Terraform Harbor Provider under the hood.
link: https://github.com/pulumiverse/pulumi-harbor
- title: Using Kyverno and Harbor to safeguard production systems
description: Rewrites image references to use an internal Harbor proxy cache for approved external registries.
link: https://github.com/jvanzyl/kyverno-registries
- title: Harbor Example - Terraform/AWS
description: A quick way to build an example or demo harbor instance in AWS with optional Route 53 DNS and SSL.
link: https://github.com/bdausses/harbor-registry-example-aws
- title: Harbor Day 2 Operator
description: Operator for automated managment of existing harbor instances using python harbor-api.
link: https://github.com/steadforce/harbor-day2-operator

- category: Client SDKs
description: Libraries for interacting with the Harbor API.
projects:
- title: Python Client API
description: Python Client API, generated from OpenAPI.
link: https://github.com/container-registry/harbor-python-client-api
- title: Go Client Library
description: '"Official" Client library with golang for accessing Harbor API.'
link: https://github.com/goharbor/go-client
- title: Mittwald Goharbor Client
description: Client API generated from OpenAPI specifications in golang.
link: https://github.com/mittwald/goharbor-client
2 changes: 1 addition & 1 deletion layouts/partials/css.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- $inServerMode := .Site.IsServer }}
{{- $inServerMode := eq hugo.Environment "development" }}
{{- $includePaths := (slice "node_modules") }}
{{- $sass := "sass/style.sass" }}
{{- $cssOutput := "css/style.css" }}
Expand Down
32 changes: 32 additions & 0 deletions layouts/partials/ecosystem.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{{ $categories := site.Data.ecosystem }}
<div class="container ecosystem-container">
{{ range $categories }}
<h2 class="title is-3" style="margin-top: 3rem; margin-bottom: 1rem;">{{ .category }}</h2>
<p class="subtitle is-5" style="margin-bottom: 1.5rem;">{{ .description }}</p>

<table class="table is-fullwidth is-hoverable is-striped" style="margin-bottom: 3rem;">
<thead>
<tr>
<th style="width: 25%;">Project</th>
<th style="width: 50%;">Description</th>
<th style="width: 25%;">Source</th>
</tr>
</thead>
<tbody>
{{ range .projects }}
<tr>
<td>
<strong><a href="{{ .link }}" target="_blank" rel="noopener noreferrer">{{ .title }}</a></strong>
</td>
<td>{{ .description }}</td>
<td>
<a href="{{ .link }}" target="_blank" rel="noopener noreferrer">
{{ replace .link "https://github.com/" "" }}
</a>
</td>
</tr>
{{ end }}
</tbody>
</table>
{{ end }}
</div>
1 change: 1 addition & 0 deletions layouts/shortcodes/ecosystem.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{ partial "ecosystem.html" . }}