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 , 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.