Cloudflare Serverless Registry : un registre de conteneurs sans serveur basé sur les travailleurs de Cloudflare

Introduction générale

Cloudflare Serverless Registry est un registre de conteneurs sans serveur basé sur les travailleurs Cloudflare et le stockage R2. Il prend en charge le push et le pull d'images et fournit une authentification JWT basée sur le nom d'utilisateur, le mot de passe et la clé publique. Le projet est facile à déployer, compatible avec les opérations Docker et adapté à la gestion des images de conteneurs dans un environnement sans serveur. Malgré quelques limitations, Serverless Registry fournit une solution légère et évolutive pour les développeurs.

 

Liste des fonctions

  • Support de poussée et de traction pour les miroirs
  • Fournir le nom d'utilisateur, le mot de passe et l'authentification JWT
  • Fonctionnement compatible avec Docker
  • Prise en charge du repli sur d'autres registres
  • Facile à déployer et à gérer

 

Utiliser l'aide

Installation et déploiement

  1. Installation des dépendances: Utilisez pnpm pour installer toutes les dépendances (d'autres gestionnaires de paquets peuvent fonctionner, mais seul pnpm est pris en charge).
    $ pnpm install
    
  2. Préparation du fichier wranglerCopier le fichier d'exemple et le configurer.
    $ cp wrangler.toml.example wrangler.toml
    
  3. Définition du panier de stockage R2Création d'une unité de stockage R2 : Créer une unité de stockage R2.
    $ npx wrangler --env production r2 bucket create r2-registry
    
  4. Configuration de wrangler.tomlAjouter la configuration du seau de stockage R2 au fichier wrangler.toml.
    r2_buckets = [
      { binding = "REGISTRY", bucket_name = "r2-registry" }
    ]
    
  5. Registre de déploiementLe registre peut être déployé dans un environnement de production.
    $ npx wrangler deploy --env production
    

Authentification par nom d'utilisateur et mot de passe

  1. Définition du nom d'utilisateur et du mot de passeLe nom d'utilisateur et le mot de passe sont confidentiels.
    $ npx wrangler secret put USERNAME --env production
    $ npx wrangler secret put PASSWORD --env production
    

Certification JWT

  1. Ajouter la clé publique JWTAjouter une clé publique JWT encodée en base64 pour authentifier le mot de passe ou le jeton.
    $ npx wrangler secret put JWT_REGISTRY_TOKENS_PUBLIC_KEY --env production
    

Pousser et tirer des images avec Docker

  1. Se connecter à DockerConnexion à Docker : Connectez-vous à Docker avec votre nom d'utilisateur et votre mot de passe.
    export REGISTRY_URL=your-url-here
    echo $PASSWORD | docker login --username $USERNAME --password-stdin $REGISTRY_URL
    
  2. miroir poussoir (informatique)L'image est transférée dans le registre.
    docker pull ubuntu:latest
    docker tag ubuntu:latest $REGISTRY_URL/ubuntu:latest
    docker push $REGISTRY_URL/ubuntu:latest
    
  3. Tirer les miroirsL'image est extraite de la base de données.
    docker rmi ubuntu:latest
    docker pull $REGISTRY_URL/ubuntu:latest
    

Configuration pullback

  1. Définition du registre de secoursLe registre de secours est configuré dans le fichier wrangler.toml.
    [env.production]
    REGISTRIES_JSON = "[{ \"registry\": \"url-to-other-registry\", \"password_env\": \"REGISTRY_TOKEN\", \"username\": \"username-to-use\" }]"
    
  2. Définition du jeton de registreLe code d'accès au registre est confidentiel.
    cat ./registry-service-credentials.json | base64 | wrangler --env production secrets put REGISTRY_TOKEN
    
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...