Page MenuHomePhabricator

[harbor] Deploy with Helm
Open, MediumPublic

Description

Harbor is currently deployed using docker-compose. It would be nice to deploy it to Kubernetes using Helm, as we do for to all the other Toolforge components.

One blocker is T350687: [harbor] Move harbor data to object storage service

The full list of pre-requisites is:

  • Kubernetes cluster 1.10+
  • Helm 2.8.0+
  • High available ingress controller (Harbor does not manage the external endpoint) - nginx ingress
  • High available PostgreSQL (Harbor does not handle the deployment of HA of database) - trove
  • High available Redis (Harbor does not handle the deployment of HA of Redis)
  • PVC that can be shared across nodes or external object storage

Something to keep in mind here is how to bootstrap the k8s cluster, specially if we move all the images to harbor (from docker-registry), as we end up with a chicken-and-egg problem.