Une application, c’est ton image Docker hébergée chez nous. Ces routes portent le parcours que ark deploy suit : créer le service, pousser l’image dans le registre, désigner la version qui tourne. Elles acceptent un jeton de portée REGISTRY comme un jeton FULL.

Vérifier le jeton

Lister

Le slug est unique chez Arkya, tous comptes confondus : c’est lui qui nomme le dépôt dans le registre.

Créer

Le slug s’écrit en minuscules, chiffres et tirets, de 3 à 40 caractères. Les trois autres champs acceptent null : sans hostId on choisit un nœud capable, sans projectId l’application rejoint le projet par défaut, sans dimensions elle prend la taille d’entrée de gamme. Pour connaître le prix avant de créer :
Deux listes aident à remplir ces champs :

Pousser une image

Le registre parle le protocole Docker standard. Les identifiants ne sont pas ton jeton : demande-les, ils sont propres à ton compte et n’ouvrent que ton espace.
Construis pour l’architecture du nœud. Une image arm64 poussée vers un nœud amd64 démarre puis meurt sans message clair — platform, dans la liste, dit ce qui tourne.
Une fois l’image poussée, déclare la version :
Le digest est celui que docker push affiche à la fin : c’est lui qui identifie l’image, le tag n’est qu’un nom qu’on peut déplacer.

Lire l’analyse d’une version

Toute image reçue est analysée. Cette route rend l’état de l’analyse, et l’attend si elle court encore :
Une entrée de blocking porte en plus un reason : isolation quand le paquet touché est celui qui isole les conteneurs, scope quand le vecteur CVSS dit que l’impact dépasse le composant vulnérable. Le même rapport s’ouvre dans l’espace client, onglet Versions du service : chaque faille y porte son paquet, la version qui corrige, ce qu’en dit la publication, et la raison pour laquelle elle bloque ou non. Les images en service sont réanalysées chaque nuit — les failles se découvrent après coup. Si le verdict d’une image déjà en service bascule au bloquant, rien n’est coupé : tu es prévenu, ton application continue de tourner, et c’est la prochaine mise en service qui demandera une image corrigée. scanStatus dans GET /api/apps porte le verdict de la version en service.

Mettre en service

Le nœud remplace le conteneur par celui de cette version et attend qu’il tienne debout. La route ne rend la main qu’une fois l’application repartie, ou en erreur si elle ne démarre pas. Revenir en arrière, c’est redéployer un tag précédent : les versions restent. L’analyse de l’image est lue avant que le nœud soit touché : Un BLOCKED se lève au cas par cas, côté Arkya, sur une version précise et avec un motif écrit. Écris au support si tu penses qu’une faille bloquante ne devrait pas l’être : l’exception se pose sur la version, jamais sur l’application.

Environnement et journaux

L’envoi remplace tout l’environnement : renvoie les clés à garder, ou elles disparaissent. Quatre règles, toutes vérifiées avant écriture :
  • cent variables au maximum ;
  • un nom s’écrit en lettres, chiffres et tirets bas, et ne commence pas par un chiffre ;
  • PORT est réservée — Arkya la pose depuis le port publié, la définir est refusé ;
  • une référence ${alias.CHAMP} qui ne désigne aucun voisin du projet est refusée, plutôt que résolue en chaîne vide au démarrage.
L’environnement d’une application accepte les références entre services, ${crm-db.URL} compris.
Une fois créée, une application est un service comme un autre : toutes les routes de /api/resources s’y appliquent — taille, réseau, fichiers, sauvegardes. Ces routes-ci ne portent que ce qui est propre au registre.