La terminal: hostbrid

Què hi guanyes: fer el que fas al tauler escrivint una línia. Crear un lloc, canviar-li el PHP, afegir un registre de DNS o llistar les teves bústies sense obrir el navegador — i, sobretot, ficar això dins d’un script o d’un pipeline.

És un sol fitxer i no cal instal·lar res: si tens Python 3, funciona.

Abans de començar

Necessites una clau d’API. Es crea al tauler, a Compte ‣ Claus per a IA, i es mostra una sola vegada. Si encara no en tens, mira La API, per automatitzar el teu compte — la primera part explica com es crea i quins permisos porta.

Posar-lo al teu equip

curl -o ~/bin/hostbrid https://my.hostbrid.com/cli/hostbrid.py
chmod +x ~/bin/hostbrid

Comprova que respon:

hostbrid --version

Entrar

hostbrid login

Et demana la clau i la comprova abans de desar-la, així que si et diu que està llesta, està llesta. Es desa a ~/.config/hostbrid/config.json, amb permisos perquè només la puguis llegir tu.

Per sortir, hostbrid logout. Compte: això l’esborra d’aquest equip, però la clau continua sent vàlida. Per anul·lar-la de debò cal revocar-la al tauler.

El que més faràs servir

hostbrid whoami                 # de qué cuenta es esta clave
hostbrid sites list             # tus sitios
hostbrid sites show 12          # uno, con todo su detalle
hostbrid dns-zones list         # tus zonas de DNS
hostbrid mailboxes list         # tus buzones

Totes les ordres segueixen el mateix patró:

hostbrid <recurso> <acción> [id] [campo=valor ...]

Les accions són list, show, create, update i delete. Els recursos són els mateixos que veus a la referència de l’API: sites, domains, databases, dns-zones, dns-records, mailboxes, mail-aliases, ftp-accounts, ssl-certificates i uns quants més. Els veus tots amb hostbrid --help.

Crear coses

Les dades van com a campo=valor, sense cometes ni claus:

hostbrid sites create domain=ejemplo.com php_version=8.3
hostbrid dns-records create zone=4 name=www type=A value=203.0.113.10

Per canviar alguna cosa, només el camp que canvia — la resta es queda com està:

hostbrid sites update 12 php_version=8.4

Note

Crear, canviar i esborrar necessiten que la teva clau tingui aquests permisos, i una clau acabada de crear només llegeix. Si et respon que falta un permís, la resposta et diu quin: demana’l en un tiquet.

Esborrar

hostbrid sites delete 12

Abans d’esborrar et mostra què esborraràs i et demana escriure el nom exacte. No és un ¿seguro? [s/N]: això es contesta que sí sense llegir.

Hi ha tres coses que no s’esborren des d’aquí ni amb confirmació —la teva fitxa de client, el teu pla i la teva marca blanca—. Aquest esborrat no es desfà amb una altra ordre, així que es fa al tauler, mirant-t’ho.

Dins d’un script o un pipeline

Dues coses fan que això funcioni bé automatitzat:

La clau es passa per variable d’entorn, sense fitxer de configuració:

export HOSTBRID_TOKEN=nxp_tu_clave
hostbrid sites list

La sortida estàndard és només la dada. Els avisos i els errors van per la sortida d’error, així que pots encadenar sense filtrar res:

hostbrid sites list --json | jq -r '.results[].domain'

I per esborrar sense que pregunti —perquè en un pipeline no hi ha ningú per contestar— cal dir-ho explícitament:

hostbrid sites delete 12 --si

Si t’oblides el --si, no esborra i t’ho diu. És a propòsit: preferim que un script falli a que n’esborri una que ningú anava a mirar.

Quan l’ordre encara no existeix

Si l’API té alguna cosa que aquest programa encara no sap cridar:

hostbrid api GET sites/12/
hostbrid api POST databases/ name=mitienda site=12

Amb això no et quedes esperant una versió nova.

El que aquest programa no fa

No desplega des de git, no construeix res i no té «projectes» ni «entorns». És una capa fina sobre l’API dels teus llocs: tot el que fa es pot fer amb curl, i tot el que l’API aprengui, ho hereta.

Problemes freqüents

«La clau no val (401)»

O l’has revocada, o està mal copiada. Torna a hostbrid login.

«Permís insuficient (403)»

A la teva clau li falta un permís, i el missatge diu quin. Es demanen en un tiquet.

«No existeix, o no és teu (404)»

L’identificador està malament, o és d’un altre compte. L’API respon igual en els dos casos a propòsit: distingir-los confirmaria quins identificadors existeixen.

«T’has passat del límit (429)»

Massa peticions per minut amb aquesta clau. Espera i torna-ho a provar.

«command not found: hostbrid

El fitxer està baixat però no és executable, o no està al teu PATH. Dóna-li permís d’execució i truca” l amb la seva ruta completa la primera vegada.

No vull desar la clau a l’ordinador

No la guardis: posa-la en la variable d’entorn HOSTBRID_TOKEN i salva’t el login. És el que es fa en un pipeline.

L’script em queda esperant en esborrar

Falta el – si. Sense ell demana confirmació per teclat, i en un pipeline no hi ha ningú per donar-li.

El meu jq no rep res i el comandament sí funciona

Estàs capturant la sortida d’error en comptes de la dada. Per la sortida estàndard va només la dada; els avisos van a part, just perquè això funcioni.

Vull esborrar la meva fitxa de client o el meu pla i no em deixa

Aquests tres esborrats —fitxa de client, pla i marca blanca — no es fan des de la terminal a propòsit: no es desfan, així que es fan en el plafó, mirant-lo.

L’ordre que necessito no existeix

Usa un hostbrid api” amb el mètode i la ruta, i flames a qualsevol cosa de l’API sense esperar a una nova versió del programa.