Développeurs
Référence CLI
#Vue d’ensemble
La CLI couvre les parcours fréquents et fournit des sorties JSON pour l’automatisation.
#Installation et configuration
Installez le paquet officiel, puis utilisez cdn-pizza login ou cdn-pizza login --token YOUR_API_TOKEN. CDN_PIZZA_API_URL et CDN_PIZZA_TOKEN peuvent fournir la configuration; cdn-pizza config affiche la source effective sans le secret.
Les commandes de lecture principales acceptent --json. Les erreurs de validation sortent avec un code non nul. pizza est un alias, mais gardez cdn-pizza dans les scripts pour une lecture explicite.
#Utilisation sûre en CI
Injectez le token via le magasin de secrets du runner.
Utilisez les sorties JSON plutôt que le texte coloré.
Passez des identifiants explicites de zone ou réseau.
Ajoutez
--yesuniquement aux actions destructives déjà revues.
#31 commandes
cdn-pizza --help · cdn-pizza --version · pizza
#login
Se connecter par identifiants ou jeton personnel.
cdn-pizza login [options]
Options
-e, --email <email>- E-mail.
-p, --password <password>- Mot de passe; préférez la saisie interactive.
--token <token>- Jeton API personnel.
--api-url <url>- URL API personnalisée.
Exemple
cdn-pizza login --token "$CDN_PIZZA_TOKEN"
#whoami
Afficher l’utilisateur, le rôle et l’organisation courants.
cdn-pizza whoami
Exemple
cdn-pizza whoami
#logout
Révoquer le jeton local courant.
cdn-pizza logout [--revoke-env]
Options
--revoke-env- Révoquer aussi CDN_PIZZA_TOKEN.
Exemple
cdn-pizza logout
#zones
Lister les zones.
cdn-pizza zones [--json]
Options
--json- Sortie JSON.
Exemple
cdn-pizza zones --json
#zone:create
Créer une zone connectée.
cdn-pizza zone:create -n <name> -d <domain>
Options
-n, --name <name>*- Nom de la zone.
-d, --domain <domain>*- Domaine.
--region <region>- Option héritée ignorée.
Exemple
cdn-pizza zone:create -n assets -d assets.example.com
#upload
Téléverser un fichier sur les nœuds storage.
cdn-pizza upload -z <zoneId> -f <path> [options]
Options
-z, --zone <zoneId>*- ID de zone.
-f, --file <path>*- Fichier local.
-n, --name <name>- Nom distant.
--cache-ttl <seconds>- TTL cache.
--direct-public-link- Créer le lien storage direct.
--storage-node <id...>- Jusqu’à trois nœuds.
Exemple
cdn-pizza upload -z 42 -f ./app.css --cache-ttl 86400
#files
Lister les fichiers.
cdn-pizza files [-z <zoneId>] [--json]
Options
-z, --zone <zoneId>- Filtrer par zone.
--json- Sortie JSON.
Exemple
cdn-pizza files -z 42
#file:show
Afficher le détail d’un fichier.
cdn-pizza file:show <uuid> [--json]
Options
<uuid>*- UUID du fichier.
--json- Sortie JSON.
Exemple
cdn-pizza file:show 550e8400-e29b-41d4-a716-446655440000
#file:delete
Supprimer définitivement un fichier.
cdn-pizza file:delete <uuid> [--yes]
Options
<uuid>*- UUID du fichier.
--yes- Confirmer sans invite.
Exemple
cdn-pizza file:delete 550e8400-e29b-41d4-a716-446655440000 --yes
#purge
Purger un chemin ou toute la zone.
cdn-pizza purge -z <zoneId> (--path <path> | --all) [--yes]
Options
-z, --zone <zoneId>*- ID de zone.
-p, --path <path>- Chemin précis.
--all- Toute la zone.
--yes- Confirmer la purge globale.
Exemple
cdn-pizza purge -z 42 --path /assets/app.css
#stats
Afficher les statistiques de zone.
cdn-pizza stats -z <zoneId> [--json]
Options
-z, --zone <zoneId>*- ID de zone.
--json- Sortie JSON.
Exemple
cdn-pizza stats -z 42 --json
#nodes
Lister les nœuds.
cdn-pizza nodes [--json]
Options
--json- Sortie JSON.
Exemple
cdn-pizza nodes
#billing
Afficher l’abonnement courant.
cdn-pizza billing [--json]
Options
--json- Sortie JSON.
Exemple
cdn-pizza billing
#billing:plans
Lister les offres.
cdn-pizza billing:plans [--json]
Options
--json- Sortie JSON.
Exemple
cdn-pizza billing:plans
#billing:checkout
Créer une session de paiement.
cdn-pizza billing:checkout --plan <plan>
Options
--plan <plan>*- Code de l’offre.
Exemple
cdn-pizza billing:checkout --plan pro
#networks
Lister les réseaux privés.
cdn-pizza networks [--json]
Options
--json- Sortie JSON.
Exemple
cdn-pizza networks
#network:create
Créer un réseau WireGuard privé.
cdn-pizza network:create -n <name> --cidr <cidr> [options]
Options
-n, --name <name>*- Nom.
--cidr <cidr>*- CIDR privé.
-d, --description <text>- Description.
--route <cidr...>- Routes annoncées.
Exemple
cdn-pizza network:create -n backoffice --cidr 10.42.0.0/24
#network:key
Créer une clé d’enrôlement courte durée.
cdn-pizza network:key <networkId> [options]
Options
<networkId>*- ID réseau.
-n, --name <name>- Nom de clé.
--uses <number>- Utilisations maximales.
--hours <number>- Validité en heures.
Exemple
cdn-pizza network:key 7 --name deploy --uses 1 --hours 1
#network:show
Afficher un réseau et sa disponibilité.
cdn-pizza network:show <networkId> [--json]
Options
<networkId>*- ID réseau.
--json- Sortie JSON.
Exemple
cdn-pizza network:show 7
#network:profile
Générer un profil WireGuard sans l’activer.
cdn-pizza network:profile --token <token> [options]
Options
--token <token>*- Clé cpn_…
-n, --name <name>- Nom de l’appareil.
--type <type>- Type de pair.
--endpoint <endpoint>- Endpoint public.
--output <path>- Fichier de sortie.
--install- Activer avec wg-quick.
Exemple
cdn-pizza network:profile --token "$ENROLLMENT_TOKEN" --output ./wg-cdn.conf
#network:enroll
Enrôler la machine et écrire son profil.
cdn-pizza network:enroll --token <token> [options]
Options
--token <token>*- Clé cpn_…
-n, --name <name>- Nom de l’appareil.
--type <type>- Type de pair.
--endpoint <endpoint>- Endpoint public.
--output <path>- Fichier de sortie.
--install- Activer avec wg-quick.
Exemple
cdn-pizza network:enroll --token "$ENROLLMENT_TOKEN" --install
#status-agent:enroll
Enrôler cette machine comme agent de statut.
cdn-pizza status-agent:enroll --token <token> [options]
Options
--token <token>*- Clé cps_…
-n, --name <name>- Nom de l’agent.
--api-url <url>- URL API.
Exemple
cdn-pizza status-agent:enroll --token "$STATUS_ENROLLMENT_TOKEN"
#status-agent:key
Créer une clé d’enrôlement d’agent.
cdn-pizza status-agent:key --status-page <id> -n <name> [options]
Options
--status-page <id>*- ID de page.
-n, --name <name>*- Nom.
--uses <number>- Utilisations maximales.
--hours <number>- Validité.
--yes- Compatibilité script.
Exemple
cdn-pizza status-agent:key --status-page 3 -n branch-geneva
#status-agent:status
Lister les agents locaux sans révéler leurs jetons.
cdn-pizza status-agent:status [--json]
Options
--json- Sortie JSON.
Exemple
cdn-pizza status-agent:status
#status-agent:run
Envoyer heartbeats et résultats locaux.
cdn-pizza status-agent:run [options]
Options
--agent <id>- Agent local.
--interval <seconds>- Intervalle, minimum 5 s.
--once- Une seule passe.
Exemple
cdn-pizza status-agent:run --once
#agent:status
Inspecter les profils WireGuard locaux.
cdn-pizza agent:status [options]
Options
--config <path>- Profil précis.
--json- Sortie JSON.
Exemple
cdn-pizza agent:status --json
#agent:up
Activer un profil avec wg-quick.
cdn-pizza agent:up --config <path> [--unsafe-config]
Options
--config <path>*- Profil WireGuard.
--unsafe-config- Autoriser un profil externe non enregistré.
Exemple
sudo cdn-pizza agent:up --config ./wg-cdn.conf
#agent:down
Arrêter un profil WireGuard.
cdn-pizza agent:down --config <path> [--unsafe-config]
Options
--config <path>*- Profil WireGuard.
--unsafe-config- Autoriser un profil externe non enregistré.
Exemple
sudo cdn-pizza agent:down --config ./wg-cdn.conf
#agent:run
Maintenir automatiquement un tunnel actif.
cdn-pizza agent:run --config <path> [options]
Options
--config <path>*- Profil WireGuard.
--interval <seconds>- Intervalle de contrôle.
--unsafe-config- Autoriser un profil externe non enregistré.
Exemple
sudo cdn-pizza agent:run --config ./wg-cdn.conf --interval 30
#config
Afficher les sources de configuration sans révéler le secret.
cdn-pizza config
Exemple
cdn-pizza config
#dev
Servir localement un répertoire statique.
cdn-pizza dev [-p <port>] [-d <dir>]
Options
-p, --port <port>- Port, 3000 par défaut.
-d, --dir <dir>- Répertoire, courant par défaut.
Exemple
cdn-pizza dev -p 3000 -d ./dist