Entwickler
CLI-Referenz
#Überblick
Die CLI deckt häufige Abläufe ab und bietet JSON-Ausgabe für Automatisierung.
#Installation und Konfiguration
Installieren Sie das offizielle Paket und nutzen Sie cdn-pizza login oder cdn-pizza login --token YOUR_API_TOKEN. CDN_PIZZA_API_URL und CDN_PIZZA_TOKEN können konfigurieren; cdn-pizza config zeigt die effektive Quelle ohne Geheimnis.
Wichtige Lesebefehle unterstützen --json. Validierungsfehler enden ungleich null. pizza ist ein Alias, aber cdn-pizza macht Skripte eindeutiger.
#Sicher in CI verwenden
Injizieren Sie den Token über den Secret Store des Runners.
Nutzen Sie JSON statt farbigem Text.
Übergeben Sie konkrete Zonen- oder Netzwerk-IDs.
Setzen Sie
--yesnur bei bereits geprüften destruktiven Aktionen.
#31 Befehle
cdn-pizza --help · cdn-pizza --version · pizza
#login
Mit Zugangsdaten oder persönlichem Token anmelden.
cdn-pizza login [options]
Optionen
-e, --email <email>- E-Mail.
-p, --password <password>- Passwort; interaktive Eingabe bevorzugen.
--token <token>- Persönliches API-Token.
--api-url <url>- Eigene API-URL.
Beispiel
cdn-pizza login --token "$CDN_PIZZA_TOKEN"
#whoami
Aktuellen Benutzer, Rolle und Organisation anzeigen.
cdn-pizza whoami
Beispiel
cdn-pizza whoami
#logout
Aktuelles lokales Token widerrufen.
cdn-pizza logout [--revoke-env]
Optionen
--revoke-env- Auch CDN_PIZZA_TOKEN widerrufen.
Beispiel
cdn-pizza logout
#zones
Zonen auflisten.
cdn-pizza zones [--json]
Optionen
--json- JSON-Ausgabe.
Beispiel
cdn-pizza zones --json
#zone:create
Verbundene Zone erstellen.
cdn-pizza zone:create -n <name> -d <domain>
Optionen
-n, --name <name>*- Zonenname.
-d, --domain <domain>*- Domain.
--region <region>- Veraltete, ignorierte Option.
Beispiel
cdn-pizza zone:create -n assets -d assets.example.com
#upload
Datei auf Storage-Nodes hochladen.
cdn-pizza upload -z <zoneId> -f <path> [options]
Optionen
-z, --zone <zoneId>*- Zonen-ID.
-f, --file <path>*- Lokale Datei.
-n, --name <name>- Remote-Name.
--cache-ttl <seconds>- Cache-TTL.
--direct-public-link- Direkten Storage-Link erstellen.
--storage-node <id...>- Bis zu drei Nodes.
Beispiel
cdn-pizza upload -z 42 -f ./app.css --cache-ttl 86400
#files
Dateien auflisten.
cdn-pizza files [-z <zoneId>] [--json]
Optionen
-z, --zone <zoneId>- Nach Zone filtern.
--json- JSON-Ausgabe.
Beispiel
cdn-pizza files -z 42
#file:show
Dateidetails anzeigen.
cdn-pizza file:show <uuid> [--json]
Optionen
<uuid>*- Datei-UUID.
--json- JSON-Ausgabe.
Beispiel
cdn-pizza file:show 550e8400-e29b-41d4-a716-446655440000
#file:delete
Datei dauerhaft löschen.
cdn-pizza file:delete <uuid> [--yes]
Optionen
<uuid>*- Datei-UUID.
--yes- Ohne Nachfrage bestätigen.
Beispiel
cdn-pizza file:delete 550e8400-e29b-41d4-a716-446655440000 --yes
#purge
Pfad oder gesamte Zone leeren.
cdn-pizza purge -z <zoneId> (--path <path> | --all) [--yes]
Optionen
-z, --zone <zoneId>*- Zonen-ID.
-p, --path <path>- Bestimmter Pfad.
--all- Gesamte Zone.
--yes- Vollständige Leerung bestätigen.
Beispiel
cdn-pizza purge -z 42 --path /assets/app.css
#stats
Zonenstatistiken anzeigen.
cdn-pizza stats -z <zoneId> [--json]
Optionen
-z, --zone <zoneId>*- Zonen-ID.
--json- JSON-Ausgabe.
Beispiel
cdn-pizza stats -z 42 --json
#nodes
Nodes auflisten.
cdn-pizza nodes [--json]
Optionen
--json- JSON-Ausgabe.
Beispiel
cdn-pizza nodes
#billing
Aktuelles Abonnement anzeigen.
cdn-pizza billing [--json]
Optionen
--json- JSON-Ausgabe.
Beispiel
cdn-pizza billing
#billing:plans
Tarife auflisten.
cdn-pizza billing:plans [--json]
Optionen
--json- JSON-Ausgabe.
Beispiel
cdn-pizza billing:plans
#billing:checkout
Checkout-Sitzung erstellen.
cdn-pizza billing:checkout --plan <plan>
Optionen
--plan <plan>*- Tarifcode.
Beispiel
cdn-pizza billing:checkout --plan pro
#networks
Private Netzwerke auflisten.
cdn-pizza networks [--json]
Optionen
--json- JSON-Ausgabe.
Beispiel
cdn-pizza networks
#network:create
Privates WireGuard-Netzwerk erstellen.
cdn-pizza network:create -n <name> --cidr <cidr> [options]
Optionen
-n, --name <name>*- Name.
--cidr <cidr>*- Privates CIDR.
-d, --description <text>- Beschreibung.
--route <cidr...>- Angekündigte Routen.
Beispiel
cdn-pizza network:create -n backoffice --cidr 10.42.0.0/24
#network:key
Kurzlebigen Einrichtungsschlüssel erstellen.
cdn-pizza network:key <networkId> [options]
Optionen
<networkId>*- Netzwerk-ID.
-n, --name <name>- Schlüsselname.
--uses <number>- Maximale Nutzungen.
--hours <number>- Gültigkeit in Stunden.
Beispiel
cdn-pizza network:key 7 --name deploy --uses 1 --hours 1
#network:show
Netzwerk und Verfügbarkeit anzeigen.
cdn-pizza network:show <networkId> [--json]
Optionen
<networkId>*- Netzwerk-ID.
--json- JSON-Ausgabe.
Beispiel
cdn-pizza network:show 7
#network:profile
WireGuard-Profil erzeugen, ohne es zu aktivieren.
cdn-pizza network:profile --token <token> [options]
Optionen
--token <token>*- cpn_… Schlüssel.
-n, --name <name>- Gerätename.
--type <type>- Peer-Typ.
--endpoint <endpoint>- Öffentlicher Endpoint.
--output <path>- Ausgabedatei.
--install- Mit wg-quick aktivieren.
Beispiel
cdn-pizza network:profile --token "$ENROLLMENT_TOKEN" --output ./wg-cdn.conf
#network:enroll
Maschine einrichten und Profil schreiben.
cdn-pizza network:enroll --token <token> [options]
Optionen
--token <token>*- cpn_… Schlüssel.
-n, --name <name>- Gerätename.
--type <type>- Peer-Typ.
--endpoint <endpoint>- Öffentlicher Endpoint.
--output <path>- Ausgabedatei.
--install- Mit wg-quick aktivieren.
Beispiel
cdn-pizza network:enroll --token "$ENROLLMENT_TOKEN" --install
#status-agent:enroll
Diese Maschine als Status-Agent einrichten.
cdn-pizza status-agent:enroll --token <token> [options]
Optionen
--token <token>*- cps_… Schlüssel.
-n, --name <name>- Agentname.
--api-url <url>- API-URL.
Beispiel
cdn-pizza status-agent:enroll --token "$STATUS_ENROLLMENT_TOKEN"
#status-agent:key
Agent-Einrichtungsschlüssel erstellen.
cdn-pizza status-agent:key --status-page <id> -n <name> [options]
Optionen
--status-page <id>*- Seiten-ID.
-n, --name <name>*- Name.
--uses <number>- Maximale Nutzungen.
--hours <number>- Gültigkeit.
--yes- Skriptkompatibilität.
Beispiel
cdn-pizza status-agent:key --status-page 3 -n branch-geneva
#status-agent:status
Lokale Agents ohne Tokenoffenlegung auflisten.
cdn-pizza status-agent:status [--json]
Optionen
--json- JSON-Ausgabe.
Beispiel
cdn-pizza status-agent:status
#status-agent:run
Lokale Heartbeats und Ergebnisse senden.
cdn-pizza status-agent:run [options]
Optionen
--agent <id>- Lokaler Agent.
--interval <seconds>- Intervall, mindestens 5 s.
--once- Einmal ausführen.
Beispiel
cdn-pizza status-agent:run --once
#agent:status
Lokale WireGuard-Profile prüfen.
cdn-pizza agent:status [options]
Optionen
--config <path>- Bestimmtes Profil.
--json- JSON-Ausgabe.
Beispiel
cdn-pizza agent:status --json
#agent:up
Profil mit wg-quick aktivieren.
cdn-pizza agent:up --config <path> [--unsafe-config]
Optionen
--config <path>*- WireGuard-Profil.
--unsafe-config- Nicht registriertes externes Profil erlauben.
Beispiel
sudo cdn-pizza agent:up --config ./wg-cdn.conf
#agent:down
WireGuard-Profil stoppen.
cdn-pizza agent:down --config <path> [--unsafe-config]
Optionen
--config <path>*- WireGuard-Profil.
--unsafe-config- Nicht registriertes externes Profil erlauben.
Beispiel
sudo cdn-pizza agent:down --config ./wg-cdn.conf
#agent:run
Tunnel automatisch aktiv halten.
cdn-pizza agent:run --config <path> [options]
Optionen
--config <path>*- WireGuard-Profil.
--interval <seconds>- Prüfintervall.
--unsafe-config- Nicht registriertes externes Profil erlauben.
Beispiel
sudo cdn-pizza agent:run --config ./wg-cdn.conf --interval 30
#config
Konfigurationsquellen ohne Geheimnisanzeige zeigen.
cdn-pizza config
Beispiel
cdn-pizza config
#dev
Statisches Verzeichnis lokal bereitstellen.
cdn-pizza dev [-p <port>] [-d <dir>]
Optionen
-p, --port <port>- Port, Standard 3000.
-d, --dir <dir>- Verzeichnis, standardmäßig aktuell.
Beispiel
cdn-pizza dev -p 3000 -d ./dist