Docs

ark dans un script

Un jeton en variable, des réponses en JSON, aucune question et un code de sortie franc. Ce qu’il faut savoir pour automatiser avec ark.

Le jeton

Dans un script, pose le jeton dans ARKYA_TOKEN. ark s’en sert sans fichier sur le poste.

Terminal
export ARKYA_TOKEN="ark_xxxxxxxxxxxxxxxx"
ark whoami

Pour ark push et ark deploy, Docker doit aussi être connecté au registre. ark login le fait, et lit le jeton dans ARKYA_TOKEN :

Terminal
ark login

Sur une machine partagée, isole les fichiers d’ark avec ARKYA_HOME :

Terminal
export ARKYA_HOME="$RUNNER_TEMP/arkya"

Aucune question

OptionEffet
--yesrépond oui aux confirmations : appliquer un plan, supprimer, restaurer
--demarrage-immediatdonne l’accord au démarrage immédiat quand la commande crée une application ou une base

ark init pose aussi ses questions de nom et de projet. Donne-les en options :

Terminal
ark init --app mon-api --project Production --demarrage-immediat

Lire la réponse en JSON

--json rend la réponse brute de l’API, la même que celle de l’espace client.

Terminal
ark ls --json | jq -r '.[] | select(.rangeCode == "ACS") | .name'
ark info mon-api --json | jq -r '.status'

Les commandes qui le comprennent sont listées dans Toutes les commandes. ark status ne le comprend pas : pour un script, lis ark info.

Le code de sortie

ark sort avec 0 quand tout s’est bien passé, et 1 sinon, avec le message d’erreur et une piste sur la sortie standard.

Terminal
ark backup create ma-base "nuit-$(date +%Y%m%d)" || echo "la sauvegarde n’est pas partie"

L’ordre des mots

Mets toujours le nom du service avant les options. Une option suivie d’un mot prend ce mot comme valeur :

Terminal
ark rm mon-api --yes

Une tâche planifiée

Une sauvegarde chaque nuit, depuis une machine qui tourne déjà :

Terminal
0 4 * * * ARKYA_TOKEN=ark_xxxxxxxxxxxxxxxx /usr/local/bin/ark backup create ma-base "nuit-$(date +\%Y\%m\%d)"

Dans une crontab, échappe les % : sinon, la ligne est coupée et la sauvegarde ne part jamais. Une base peut aussi se sauvegarder seule : voir Sauvegardes d’une base.