Cloudflare Serverless Registry: Un registro de contenedores sin servidor basado en Cloudflare Workers

Introducción general

Cloudflare Serverless Registry es un registro de contenedores sin servidor basado en Cloudflare Workers y almacenamiento R2. Soporta push y pull de imágenes y proporciona autenticación JWT basada en nombre de usuario, contraseña y clave pública. El proyecto es fácil de implementar, compatible con operaciones Docker y adecuado para gestionar imágenes de contenedores en un entorno sin servidor. A pesar de algunas limitaciones, Serverless Registry proporciona una solución ligera y escalable para los desarrolladores.

 

Lista de funciones

  • Soporte para empujar y tirar del espejo
  • Proporcionar nombre de usuario, contraseña y autenticación JWT
  • Funcionamiento compatible con Docker
  • Posibilidad de recurrir a otros registros
  • Fácil de implantar y gestionar

 

Utilizar la ayuda

Instalación y despliegue

  1. Instalación de dependenciasUtilice pnpm para instalar todas las dependencias (otros gestores de paquetes pueden funcionar, pero sólo pnpm es compatible).
    $ pnpm install
    
  2. Preparación del archivo wrangler: Copie el archivo de ejemplo y configúrelo.
    $ cp wrangler.toml.example wrangler.toml
    
  3. Configuración del cubo de almacenamiento R2: Crea un bucket de almacenamiento R2.
    $ npx wrangler --env production r2 bucket create r2-registry
    
  4. Configuración de wrangler.toml: Añade la configuración del cubo de almacenamiento R2 al archivo wrangler.toml.
    r2_buckets = [
      { binding = "REGISTRY", bucket_name = "r2-registry" }
    ]
    
  5. Registro de implantaciónDespliegue del registro en un entorno de producción.
    $ npx wrangler deploy --env production
    

Autenticación mediante nombre de usuario y contraseña

  1. Configurar el nombre de usuario y la contraseñaConfigure el nombre de usuario y la contraseña como confidenciales.
    $ npx wrangler secret put USERNAME --env production
    $ npx wrangler secret put PASSWORD --env production
    

Certificación JWT

  1. Añadir clave pública JWTAñade una clave pública JWT codificada en base64 para autenticar la contraseña o el token.
    $ npx wrangler secret put JWT_REGISTRY_TOKENS_PUBLIC_KEY --env production
    

Envío y recepción de imágenes con Docker

  1. Inicio de sesión en DockerInicia sesión en Docker con tu nombre de usuario y contraseña.
    export REGISTRY_URL=your-url-here
    echo $PASSWORD | docker login --username $USERNAME --password-stdin $REGISTRY_URL
    
  2. espejo de empuje (informática): Empuja la imagen al registro.
    docker pull ubuntu:latest
    docker tag ubuntu:latest $REGISTRY_URL/ubuntu:latest
    docker push $REGISTRY_URL/ubuntu:latest
    
  3. Tirar de los espejos: Extrae la imagen del registro.
    docker rmi ubuntu:latest
    docker pull $REGISTRY_URL/ubuntu:latest
    

Configuración pullback

  1. Configuración del registro alternativoConfigure el registro fallback en el archivo wrangler.toml.
    [env.production]
    REGISTRIES_JSON = "[{ \"registry\": \"url-to-other-registry\", \"password_env\": \"REGISTRY_TOKEN\", \"username\": \"username-to-use\" }]"
    
  2. Establecer el token de registro: Establece el token de registro como confidencial.
    cat ./registry-service-credentials.json | base64 | wrangler --env production secrets put REGISTRY_TOKEN
    
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...