Categorygithub.com/mittwald/harbor-operator
module
0.4.3
Repository: https://github.com/mittwald/harbor-operator.git
Documentation: pkg.go.dev

# README

Harbor Operator

A Kubernetes operator for managing Goharbor instances

GitHub license GoDoc Go Maintainability Test Coverage

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"

# Packages

No description provided by the author
No description provided by the author
No description provided by the author