En este documento, se proporciona una descripción general de los repositorios remotos. Para obtener instrucciones sobre cómo crear un repositorio remoto, consulta Crea repositorios remotos.
Artifact Registry Las cuotas y los límites se aplican a los repositorios remotos.
Cómo funcionan los repositorios remotos
Los repositorios remotos almacenan artefactos de las siguientes fuentes ascendentes:
- Repositorios estándar de Artifact Registry
- Fuentes externas como Docker Hub, Maven Central, el paquete de Python (PyPI), Debian o CentOS.
Un repositorio remoto actúa como proxy de la fuente upstream para que tengas más control sobre tus dependencias. La primera vez que solicitas una versión de un paquete, Artifact Registry descarga y almacena en caché el paquete en el repositorio remoto. La próxima vez que la misma versión del paquete, Artifact Registry entrega la copia en caché.
Si solicitas un artefacto de una fuente upstream que no existe o que no contiene la versión que especificaste, la solicitud fallará.
Los otros modos de repositorio son los siguientes:
- Estándar: Es el modo de repositorio predeterminado. Subes o publicas artefactos, como paquetes privados, directamente en repositorios estándar. Aunque puedes descargar directamente desde repositorios estándar individuales acceder a grupos de repositorios con un repositorio virtual simplifica configuración de herramientas.
- Virtual: Un repositorio que actúa como un acceso único punto de acceso para múltiples repositorios ascendentes, incluidas apps remotas y estándar, de Cloud Storage.
Autenticación upstream
Los repositorios remotos de Artifact Registry admiten la autenticación básica en fuentes upstream para los formatos compatibles. Obtén más información sobre cómo autenticarte en un repositorio remoto. fuentes ascendentes, consulta Configura la autenticación en versiones ascendentes del repositorio remoto.
Casos de uso y beneficios
- Acceso más rápido y confiable a los artefactos
- Almacenar copias almacenadas en caché de tus dependencias públicas en Artifact Registry reduce la latencia cuando otros servicios de Google Cloud recuperan imágenes. Los artefactos almacenados en caché también están disponibles si el repositorio público externo está sin conexión debido a una interrupción o algún otro problema.
- Resolución de dependencias más segura
Usa repositorios remotos junto con repositorios virtuales para mitigar los riesgos. asociados con las dependencias públicas. Algunas herramientas no proporcionan una forma de y controlar el orden de búsqueda cuando se combina configurados en el cliente. Este tipo de configuración es vulnerable a un ataque de confusión de dependencias, en el que alguien sube una versión nueva de un paquete con código incorrecto a un repositorio público para engañar a los clientes y que elijan la versión incorrecta.
En lugar de configurar clientes directamente para buscar en varios repositorios, puedes puedes configurar repositorios virtuales para priorizar tus repositorios privados en repositorios remotos.
- Reduce el costo de transferencia de datos
Usa repositorios remotos para almacenar en caché artefactos en la misma regióno en una regiónque tus entornos de ejecución para reducir los costos de transferencia de datos.
Si Artifact Registry se encuentra en un perímetro de servicio de los Controles del servicio de VPC, de forma predeterminada, niega el acceso a las fuentes upstream fuera del perímetro. Permitir que los repositorios remotos de una ubicación específica accedan sus fuentes externas configuradas fuera del perímetro, consulta las para la configuración de los Controles del servicio de VPC.
Para obtener información sobre otras prácticas recomendadas de administración de dependencias, consulta Administración de dependencias.
Actualizaciones de índices y metadatos de paquetes
Los archivos mutables, como los índices y metadatos de paquetes, se actualizan desde la fuente upstream cuando superan la antigüedad predeterminada. Los valores predeterminados para tipos de archivos específicos se enumeran en la siguiente tabla:
Formato | Tipo de archivo | Edad de actualización predeterminada |
---|---|---|
Maven | maven-metadata.xml |
5 minutos |
archetype-catalog.xml |
1 hora | |
Npm | Archivos de manifiesto | 5 minutos |
Python | Archivos de índice | 1 hora |
Docker | Enumerar/obtener caché de etiquetas | 1 hora |
Apt/Yum (versión preliminar) | Archivos de índice | 2 minutos |
Archivos de paquete | 72 horas |
Formatos admitidos
Consulta las siguientes secciones para conocer los formatos disponibles para las configuraciones predeterminadas y definidas por el usuario. repositorios remotos.
URLs upstream predeterminadas
Para tu comodidad, hay varias URLs de repositorios upstream comunes disponibles como selecciones predeterminadas en los siguientes formatos.
Formato | tipos de paquetes | URL de upstream | Nombre del ajuste predeterminado upstream |
---|---|---|---|
Docker | Pública o privada | https://registry-1.docker.io |
DOCKER-HUB |
Maven | Pública o privada | https://repo.maven.apache.org/maven2 |
MAVEN-CENTRAL |
npm | Pública o privada | https://registry.npmjs.org |
NPMJS |
Python | Pública | https://pypi.io |
PYPI |
Paquetes del SO (versión preliminar) | Pública | Consulta Paquetes de SO compatibles con las fuentes upstream | Consulta Paquetes de SO compatibles con las fuentes upstream |
Sentido ascendente predeterminado de los paquetes del SO
Puedes crear un repositorio remoto de paquetes de SO eligiendo uno de los las URLs base de repositorios ascendentes preestablecidas comunes y personalizar el resto del URL al repositorio específico. Se admiten las siguientes bases de repositorio:
Apt
Repositorio | Prefijo de URL | Nombre base del repositorio |
---|---|---|
Debian | http://deb.debian.org |
DEBIAN |
Ubuntu LTS o Pro | http://archive.ubuntu.com
|
UBUNTU
|
Yum
Repositorio | Prefijo de URL | Base del repositorio Nombre |
---|---|---|
CentOS | http://mirror.centos.org
|
CENTOS
|
http://debuginfo.centos.org
|
CENTOS_DEBUG
|
|
https://vault.centos.org
|
CENTOS_VAULT
|
|
https://mirror.stream.centos.org
|
CENTOS_STREAM
|
|
Rocky | http://dl.rockylinux.org
|
ROCKY
|
Paquetes adicionales de Fedora para Enterprise Linux (EPEL) | https://dl.fedoraproject.org/pub/epel
|
EPEL
|
Flujos ascendentes del repositorio de Artifact Registry
Puedes crear repositorios remotos con el formato estándar de Artifact Registry. repositorios como flujos ascendentes para los siguientes formatos:
- Docker
- npm
- Maven
- Python
URL personalizadas
Puedes ingresar la URL de tu repositorio remoto directamente, sin usar una de las fuentes upstream predeterminadas para los siguientes formatos.
- Docker
- npm
- Maven
- Python
En la siguiente tabla no exhaustiva, se enumeran algunos URIs upstream comunes.
Formato | URI upstream | Nombre del registro |
---|---|---|
Docker | https://registry-1.docker.io |
Docker Hub |
Docker | https://public.ecr.aws |
Galería pública de AWS ECR |
Docker | https://registry.k8s.io |
Registro de contenedores de Kubernetes |
Docker | https://MY_NEXUS_IP |
Nexus |
npm | https://registry.npmjs.org |
npm |
npm | https://npm.pkg.github.com |
Registro de Npm de GitHub |
npm | https://MY_NEXUS_IP/repository/MY_UPSTREAM_REPOSITORY |
Nexus |
Maven | https://repo.maven.apache.org/maven2 |
Maven Central |
Maven | https://MY_NEXUS_IP/repository/MY_UPSTREAM_REPOSITORY |
Nexus |
Python | https://pypi.io |
Índice de paquetes de Python (PyPI) |
Python | https://MY_NEXUS_IP/repository/MY_UPSTREAM_REPOSITORY |
Nexus |
Dónde
- MY_NEXUS_IP es la dirección IP y el puerto de tu instancia de Nexus upstream.
- MY_UPSTREAM_REPOSITORY es el nombre de tu repositorio upstream que se usa en los ejemplos de Nexus.
Limitaciones
Además de las cuotas y limitaciones de Artifact Registry, los repositorios remotos tienen las siguientes limitaciones:
- Los repositorios remotos de Maven no permiten configurar la política de la versión para tomar instantáneas. o lanzar.
- Las fuentes ascendentes deben ser accesibles a través de Internet. Los repositorios remotos no admiten fuentes upstream de redes locales o de nube privada virtual (VPC) sin una dirección IP pública.
¿Qué sigue?
- Crear repositorios remotos
- Para obtener más información sobre los repositorios de Artifact Registry, lee la descripción general de los repositorios.