HARBOR-ROBOT.md 1.6 KB

Robot Account de Harbor para el pull secret

El problema

El secret myregistrykey del cluster guarda la contraseña personal de Harbor (en base64, que no es cifrado). Cualquiera con acceso al cluster puede leerla, y si se cambia la contraseña personal en Harbor, el despliegue deja de hacer pull sin motivo aparente.

La solución

Un robot account es un usuario artificial de Harbor pensado para máquinas:

  • Se crea dentro de un proyecto, con ámbito limitado
  • Permisos mínimos (solo pull)
  • Token independiente de la contraseña personal
  • Caducidad configurable
  • Revocable sin afectar al usuario real

Crear el robot account

  1. Entrar en Harbor → proyecto reymota → pestaña Robot Accounts → New Robot Account
  2. Nombre: regbrowser-pull
  3. Expiración: según preferencia (p. ej. 1 año)
  4. Permisos: solo Pull sobre el proyecto
  5. Copiar el token que se muestra una sola vez (y el nombre de usuario generado, con el formato robot$reymota+regbrowser-pull)

Sustituir el secret en el cluster

kubectl delete secret myregistrykey -n regbrowser
kubectl create secret docker-registry myregistrykey \
  --docker-server=harbor.reymota.es \
  --docker-username='robot$reymota+regbrowser-pull' \
  --docker-password='<token>' \
  -n regbrowser

# Reiniciar para que haga pull con las nuevas credenciales
kubectl rollout restart deploy/regbrowser -n regbrowser

Verificar

kubectl get pods -n regbrowser          # STATUS debe ser Running (no ImagePullBackOff)
kubectl rollout status deploy/regbrowser -n regbrowser