Skip to main content

Proyecto

Un proyecto en Harbor contiene todos los repositorios de una aplicación.

Las imágenes no pueden ser enviadas a Harbor sin que un proyecto exista.

El Role-Based Access Control (RBAC) se aplica a los proyectos, para que solamente usuarios con las funciones apropiadas puedan ejecutar determinadas operaciones.

Ya en la creación de un proyecto podemos definir sus cuotas y si el proyecto será privado o público. Si no quieres definir cuotas utiliza -1 que ya viene seteado.

  • Público: Cualquier usuario puede hacer un pull de las imágenes de este proyecto.
  • Privado: Solamente usuarios que son miembros del proyecto pueden hacer el pull de imágenes y el push si tienen permiso.

alt text

Si es necesario el administrador de Harbor consigue ajustar las cuotas más tarde.

alt text

Como usamos el administrador de Harbor para crear un proyecto vamos a añadir un miembro como administrador del proyecto.

alt text

El usuario david ya existe y fue creado anteriormente, pero aún no está en ningún proyecto.

alt text

alt text

alt text

Y a partir de ahora vamos a loguear como el usuario david y ver lo que tenemos de acceso.

alt text

Las imágenes están hechas en capas. Dentro de un mismo proyecto existe la reutilización de capas para disminuir el espacio en disco, pero no se reutiliza de forma global. Por ejemplo, si vamos a utilizar de base una imagen Alpine en proyectoX y en proyectoY, esta imagen existirá dos veces, pues están en proyectos diferentes.

Repositorios

Un proyecto posee repositorios. Los repositorios serán creados automáticamente de acuerdo con el path durante el push de las imágenes.

Por ejemplo si hacemos el push de las imágenes abajo tendremos 2 repositorios reponamex y reponamey.

  • reponamex/grupox/imagemx:tagx
  • reponamey/grupoy/imagemy:tagy

Si hacemos ahora un push de la imagen reponamex/grupoz/imagemx:tagx, estará en el mismo repositorio, pero en otro camino. Si hacemos el push de otra imagen reponamex/grupoz/imagemz:tagz formará parte de reponamex/grupoz.

Usamos los caminos para crear un árbol, siendo que el primer nombre es el del repositorio dentro del proyecto.

Haremos una demostración sobre esto más adelante.