Page MenuHomePhabricator

[tbs.harbor] Puppetize the toolsbeta installation
Closed, ResolvedPublic5 Estimated Story Points

Description

This needs expanding, but some things we need are:

  • Install dependencies (docker-compose, docker)
  • Configure the app [done]
  • Start docker compose containers (check if they are up, if not then run "docker-compose up -d")

This task includes:

Related Objects

StatusSubtypeAssignedTask
OpenLucasWerkmeister
Resolvedmatmarex
ResolvedLegoktm
ResolvedLegoktm
Opendcaro
Resolveddcaro
Resolveddcaro
ResolvedRaymond_Ndibe
ResolvedRaymond_Ndibe
ResolvedRaymond_Ndibe
ResolvedRaymond_Ndibe
ResolvedNone
Resolveddcaro
Resolveddcaro
ResolvedRaymond_Ndibe
Resolveddcaro
ResolvedRaymond_Ndibe
ResolvedSlst2020
ResolvedSlst2020
ResolvedSlst2020
ResolvedSlst2020
ResolvedRaymond_Ndibe
ResolvedSlst2020
ResolvedSlst2020
ResolvedSlst2020
Resolveddcaro
Resolveddcaro
Resolveddcaro
Resolveddcaro
Resolveddcaro
Resolveddcaro
ResolvedRaymond_Ndibe
Resolveddcaro
ResolvedRaymond_Ndibe
ResolvedRaymond_Ndibe
Resolveddcaro
ResolvedRaymond_Ndibe
ResolvedRaymond_Ndibe
Resolvedfnegri
ResolvedNone
Resolveddcaro
Resolveddcaro
ResolvedAndrew
ResolvedSlst2020
Resolveddcaro
ResolvedRaymond_Ndibe
ResolvedRaymond_Ndibe
ResolvedRaymond_Ndibe
Resolveddcaro
Resolveddcaro
Resolveddcaro

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

Change 707572 merged by Bstorm:

[operations/puppet@production] toolforge harbor: puppetize experimental base server for harbor

https://gerrit.wikimedia.org/r/707572

Ok, so I have a very nice https://goharbor.io server running in toolsbeta (using independent database auth for testing) https://harbor.toolsbeta.wmflabs.org
It has APIs for adding just about everything and has robot auth, etc. It grant plenty of flexibility for image management (even quotas).

It hooks up to LDAP, but that's not necessarily helpful here. I think to do this right, users need to not have direct push rights. That needs to be handled by another build service. However, with this, that service can easily run in k8s.

Bstorm raised the priority of this task from Medium to High.Sep 15 2021, 4:25 PM

In order to deploy this to tools soon, I'm proposing replacing tools-docker-registry with harbor running in k8s. However, unless we deploy cinder for k8s, we'll be doing that with NFS storage.

I've deployed harbor in toolsbeta, however, I want to modify the deployment a bit before replacing docker-registry with it or putting it in tools.

Change 722664 had a related patch set uploaded (by Bstorm; author: Bstorm):

[operations/puppet@production] toolforge harbor: install clients for redis and postgres

https://gerrit.wikimedia.org/r/722664

Change 722664 merged by Bstorm:

[operations/puppet@production] toolforge harbor: install clients for redis and postgres

https://gerrit.wikimedia.org/r/722664

Change 725048 had a related patch set uploaded (by Bstorm; author: Bstorm):

[operations/puppet@production] toolforge harbor: add external postgres db

https://gerrit.wikimedia.org/r/725048

Using trove for Postgres in the most recent iteration is terrible. You cannot control it much, and it doesn't actually allow you access to the Postgres account to create a database. This means you can have exactly one database and user. I doubt the replication still works as well. Maybe it will be improved as they settle in to their more containerized setup.

Change 725048 merged by Bstorm:

[operations/puppet@production] toolforge harbor: add external postgres db

https://gerrit.wikimedia.org/r/725048

Change 726723 had a related patch set uploaded (by Bstorm; author: Bstorm):

[operations/puppet@production] toolforge postgres: drop database tuning

https://gerrit.wikimedia.org/r/726723

Change 726723 merged by Bstorm:

[operations/puppet@production] toolforge postgres: drop database tuning

https://gerrit.wikimedia.org/r/726723

Change 727638 had a related patch set uploaded (by Bstorm; author: Bstorm):

[operations/puppet@production] toolforge harbor: dockerize the config file and such

https://gerrit.wikimedia.org/r/727638

Change 727638 merged by Bstorm:

[operations/puppet@production] toolforge harbor: puppetize the install/compose config file and such

https://gerrit.wikimedia.org/r/727638

Change 728560 had a related patch set uploaded (by Bstorm; author: Bstorm):

[operations/puppet@production] toolforge harbor: change the permissions a bit on the dir

https://gerrit.wikimedia.org/r/728560

Change 728560 merged by Bstorm:

[operations/puppet@production] toolforge harbor: change the permissions a bit on the dir

https://gerrit.wikimedia.org/r/728560

Change 728566 had a related patch set uploaded (by Bstorm; author: Bstorm):

[operations/puppet@production] toolforge harbor: install docker-compose with puppet

https://gerrit.wikimedia.org/r/728566

Change 728566 merged by Bstorm:

[operations/puppet@production] toolforge harbor: install docker-compose with puppet

https://gerrit.wikimedia.org/r/728566

Change 728578 had a related patch set uploaded (by Bstorm; author: Bstorm):

[operations/puppet@production] toolforge harbor: add small customization to prepare script here

https://gerrit.wikimedia.org/r/728578

Change 728578 abandoned by Bstorm:

[operations/puppet@production] toolforge harbor: add small customization to prepare script here

Reason:

changing approach

https://gerrit.wikimedia.org/r/728578

Change 728581 had a related patch set uploaded (by Bstorm; author: Bstorm):

[operations/puppet@production] toolforge harbor: clean up the certs setup a bit better

https://gerrit.wikimedia.org/r/728581

Change 728581 merged by Bstorm:

[operations/puppet@production] toolforge harbor: clean up the certs setup a bit better

https://gerrit.wikimedia.org/r/728581

Change 728629 had a related patch set uploaded (by Bstorm; author: Bstorm):

[operations/puppet@production] toolforge harbor: update certs with acmechief

https://gerrit.wikimedia.org/r/728629

dcaro renamed this task from Set up docker-registry and image builder infra in toolsbeta to Set up docker-registry (harbor) in toolsbeta.Oct 18 2021, 2:13 PM
dcaro claimed this task.
dcaro edited projects, added Toolforge Build Service; removed Toolforge.
dcaro updated the task description. (Show Details)
dcaro added a subscriber: Bstorm.
dcaro changed the task status from Open to In Progress.Apr 14 2022, 8:37 AM
dcaro moved this task from To refine to Doing on the User-dcaro board.
dcaro changed the task status from In Progress to Open.Aug 23 2022, 8:14 AM
dcaro moved this task from Doing to Refined on the User-dcaro board.
dcaro renamed this task from Set up docker-registry (harbor) in toolsbeta to [tbs.harbor] Puppetize the toolsbeta installation.Aug 26 2022, 8:24 AM
dcaro removed dcaro as the assignee of this task.
dcaro updated the task description. (Show Details)
dcaro removed a subscriber: Bstorm.

Probably, you can get the log of the file/directory if you prefer too

dcaro updated the task description. (Show Details)
KHernandez-WMF set the point value for this task to 5.
dcaro changed the task status from Open to In Progress.Nov 10 2022, 2:44 PM
dcaro claimed this task.
dcaro moved this task from Refined to Doing on the User-dcaro board.

Change 860623 had a related patch set uploaded (by David Caro; author: David Caro):

[operations/puppet@production] harbor: remove support for <bullseye

https://gerrit.wikimedia.org/r/860623

Change 860627 had a related patch set uploaded (by David Caro; author: David Caro):

[operations/puppet@production] harbor: remove unused harbor::db module/role

https://gerrit.wikimedia.org/r/860627

Change 860896 had a related patch set uploaded (by David Caro; author: David Caro):

[operations/puppet@production] harbor: ensure that it's started

https://gerrit.wikimedia.org/r/860896

Change 860623 merged by David Caro:

[operations/puppet@production] harbor: remove support for <bullseye

https://gerrit.wikimedia.org/r/860623

Change 860627 merged by David Caro:

[operations/puppet@production] harbor: remove unused harbor::db module/role

https://gerrit.wikimedia.org/r/860627

Change 728629 merged by David Caro:

[operations/puppet@production] toolforge harbor: update certs with acmechief

https://gerrit.wikimedia.org/r/728629

Change 860896 merged by David Caro:

[operations/puppet@production] harbor: ensure that it's started

https://gerrit.wikimedia.org/r/860896

dcaro moved this task from Doing to Done on the User-dcaro board.