# README
Harbor Operator
A Kubernetes operator for managing Goharbor instances
This project is still under development and not stable yet - breaking changes may happen at any time and without notice
Features
Easy Harbor deployment & scaling: Every Harbor instance is bound only to the deployed Custom Resource. The operator utilizes a helm client library for the management of these instances
Custom chart repositories: If you need to install a customized or private Harbor helm chart, the instancechartrepo
resource allows you to do so. The official Helm chart can be found here
Harbor resource reconciliation: This operator automatically manages the following Harbor components by utilizing a custom harbor client library:
- users
- repositories
- replications
- registries
- garbage collections
Helm Chart: Installation Guide
CRDs
- registriesv1alpha1:
- instances.registries.mittwald.de
- instancechartrepos.registries.mittwald.de
- repository.registries.mittwald.de
- users.registries.mittwald.de
- replications.registries.mittwald.de
- registries.registries.mittwald.de
To get an overview of the individual resources that come this operator, take a look at the examples directory.
Installation
Helm
The helm chart of this operator can be found under ./deploy/helm-chart/harbor-operator.
Alternatively, you can use the the Mittwald Kubernetes Helm Charts repository:
helm repo add mittwald https://helm.mittwald.de
helm repo update
helm install harbor-operator mittwald/harbor-operator --namespace my-namespace
Documentation
For more specific documentation, please refer to the godoc of this repository
Web UI
For a trouble-free experience with created instances, a valid TLS certificate is required.
For automatic certificate creation, you can set the desired cluster certificate issuer via the instance spec:
.spec.helmChart.valuesYaml.expose.ingress.annotations
Example annotation, using cert-manager as the cluster-issuer:
cert-manager.io/cluster-issuer: "letsencrypt-issuer"