Home

Awesome

<h1> <img src="https://github.com/sighupio/fury-distribution/blob/main/docs/assets/fury-epta-white.png?raw=true" align="left" width="90" style="margin-right: 15px"/> Kubernetes Fury Registry </h1>

Release License Slack

<!-- <KFD-DOCS> -->

Kubernetes Fury Registry provides all components necessary to deploy a container registry on top of Kubernetes based on the Harbor project for the Kubernetes Fury Distribution (KFD).

If you are new to KFD please refer to the official documentation on how to get started with KFD.

Packages

Kubernetes Fury Registry provides the following packages:

PackageVersionDescription
Harborv2.7.0Harbor is an open-source container image registry that secures images with role-based access control, scans images for vulnerabilities, and signs images as trusted.

Click on each package to see its full documentation.

Compatibility

Kubernetes VersionCompatibilityNotes
1.28.x:white_check_mark:Conformance tests passed.
1.29.x:white_check_mark:Conformance tests passed.
1.30.x:white_check_mark:Conformance tests passed.
1.31.x:white_check_mark:Conformance tests passed.

The table shows the latest 4 compatible versions. Check the compatibility matrix for the complete list of all supported versions.

Usage

Prerequisites

ToolVersionDescription
furyctl>=0.6.0The recommended tool to download and manage KFD modules and their packages. To learn more about furyctl read the official documentation.
kustomize>=3.10.0Packages are customized using kustomize. To learn how to create your customization layer with kustomize, please refer to the repository.

All packages in this repository have the following dependencies, for package specific dependencies, please visit the single package's documentation:

Deployment

  1. List the packages you want to deploy and their version in a Furyfile.yml
bases:
  - name: registry/harbor
    version: "v3.2.0"

See furyctl documentation for additional details about Furyfile.yml format.

  1. Execute furyctl vendor -H to download the packages

  2. Inspect the download packages under ./vendor/katalog/registry/harbor.

  3. Define a kustomization.yaml that includes the ./vendor/katalog/registry/harbor directory as resource.

resources:
- ./vendor/katalog/registry/harbor
  1. Apply the necessary patches. You can see some examples in the examples directory.

  2. To deploy the packages to your cluster, execute:

kustomize build . | kubectl apply -f -

Monitoring

The Registry Module also includes metrics and dashboards for Harbor's components.

You can monitor the status of Harbor from the provided Grafana Dashboards. Here are some screenshots:

<!-- markdownlint-disable MD033 -->

<a href="docs/images/screenshots/harbor-general-info.png"><img src="docs/images/screenshots/harbor-general-info.png" width="250"/></a> <a href="docs/images/screenshots/harbor-general-metrics.png"><img src="docs/images/screenshots/harbor-general-metrics.png" width="250"/></a> <a href="docs/images/screenshots/harbor-core-metrics.png"><img src="docs/images/screenshots/harbor-core-metrics.png" width="250"/></a> <a href="docs/images/screenshots/harbor-jobservice-metrics.png"><img src="docs/images/screenshots/harbor-jobservice-metrics.png" width="250"/></a> <a href="docs/images/screenshots/harbor-registry-metrics.png"><img src="docs/images/screenshots/harbor-registry-metrics.png" width="250"/></a>

<!-- markdownlint-enable MD033 -->

click on each screenshot for the full screen version

The following set of alerts is included:

Alert NameSummaryDescription
HarborIsDownThe service of Harbor is Down[Critical]: Check the deployment of Harbor and all components as they may be down

Examples

To see examples on how to customize Kubernetes Fury Registry, please view the examples directory.

<!-- Links --> <!-- </KFD-DOCS> --> <!-- <FOOTER> -->

Contributing

Before contributing, please read first the Contributing Guidelines.

Reporting Issues

In case you experience any problem with the module, please open a new issue.

License

This module is open-source and it's released under the following LICENSE

<!-- </FOOTER> -->