Wolkra

Produits

API Wolkra

Automatisez les serveurs, volumes, réseaux et répartiteurs de charge Wolkra avec l'API REST. Jetons par projet, lecture ou lecture/écriture, listes d'IP autorisées et expiration.

Mis à jour le

L'API Wolkra est une API REST, disponible à l'adresse https://api.wolkra.com/v1, qui vous permet de créer et de gérer serveurs, volumes, réseaux, pare-feu et répartiteurs de charge depuis votre propre code. Les requêtes sont authentifiées par des jetons propres à chaque projet, que vous pouvez limiter à la lecture seule, à certaines adresses IP et à une durée de vie fixe.

Ce que couvre l'API

L'API reprend tout ce que vous faites dans la console. Parmi les tâches courantes :

Tout passe par du JSON via HTTPS, avec les méthodes et codes de statut HTTP standard.

Jetons d'API

Les jetons se créent dans la console, dans les paramètres de votre projet.

Option Rôle
Portée projet Un jeton ne fonctionne que pour un seul projet
Préfixe wk_ Les jetons Wolkra sont faciles à repérer dans le code et par les scanners de secrets
Lecture ou lecture/écriture Un jeton en lecture seule peut lister et consulter, un jeton en lecture/écriture peut modifier
Liste d'IP autorisées Facultative, rejette les requêtes venant de toute autre adresse
Expiration Facultative, le jeton cesse de fonctionner à la date que vous choisissez

Donnez à chaque script ou service son propre jeton, avec la portée la plus réduite possible. Un script de supervision n'a besoin que de la lecture seule. Un pipeline de déploiement a besoin de la lecture/écriture, d'une liste d'IP autorisées pour ses runners et d'une expiration que vous renouvelez.

Une première requête

Envoyez le jeton comme jeton bearer :

bash
curl -H "Authorization: Bearer wk_your_token_here" \
  https://api.wolkra.com/v1/servers

La réponse liste les serveurs du projet associé au jeton. La documentation des jetons d'API explique pas à pas comment créer un jeton et effectuer vos premiers appels.

Comment les équipes utilisent l'API

  • Les pipelines de déploiement créent un serveur, attendent son démarrage, lancent un déploiement et mettent à jour un répartiteur de charge.
  • Les scripts de bascule déplacent une IP flottante quand le serveur actif ne répond plus.
  • La sécurisation des mises en production passe par un instantané avant chaque version, et la suppression des anciens plus tard.
  • Les environnements éphémères lancent des serveurs pour une branche ou une série de tests et les suppriment ensuite. Avec la facturation à l'heure, un serveur qui vit deux heures coûte deux heures. Voir environnements de développement.
  • Les runners CI élastiques ajoutent des serveurs quand les files d'attente s'allongent et les retirent quand elles se vident.
  • Les tableaux de bord internes lisent les serveurs et les graphiques avec un jeton en lecture seule.

Console, Composer et API ensemble

La console, Composer et l'API agissent sur les mêmes ressources. Vous pouvez dessiner une infrastructure dans Composer, l'appliquer, puis la gérer par scripts. Les modifications faites par chacun de ces outils apparaissent dans le journal d'activité du projet : l'équipe sait qui a fait quoi. Voir équipes et sécurité.

Avec n'importe quel langage

L'API étant du REST simple en JSON, aucune bibliothèque spéciale n'est nécessaire. Un script shell avec curl et jq, un script Python avec un client HTTP, un service Go ou une tâche Node.js fonctionnent de la même façon : envoyer une requête avec le jeton bearer, lire la réponse JSON, vérifier le code de statut. Chaque ressource est décrite avec son ID, son nom, ses labels et son état ; un script peut donc créer un serveur, interroger l'API jusqu'à ce qu'il tourne, puis y attacher un volume ou l'ajouter à un répartiteur de charge.

Les bonnes pratiques pour vos scripts :

  • Retrouvez les ressources par leurs labels plutôt que de coder les ID en dur.
  • Vérifiez le code de statut HTTP de chaque appel et arrêtez-vous en cas d'erreur.
  • Surveillez les changements d'état en marquant une pause entre deux requêtes, pas dans une boucle serrée.
  • Utilisez des jetons distincts pour des tâches distinctes : en révoquer un ne casse pas les autres.

Sécurité

  • Traitez les jetons comme des mots de passe. Stockez-les dans un gestionnaire de secrets ou le coffre de secrets de votre CI, jamais dans un dépôt public.
  • Utilisez la liste d'IP autorisées pour les jetons employés depuis des adresses fixes.
  • Fixez une expiration aux jetons des prestataires et des tâches temporaires.
  • Révoquez un jeton dans la console dès que vous soupçonnez une fuite.

Limites à connaître

  • L'API est le moyen d'automatiser Wolkra. Utilisez curl ou n'importe quel client HTTP.
  • Chaque jeton fonctionne au sein d'un seul projet.
  • Les ressources sont créées à Francfort, notre unique site à ce jour.

Pages associées

Passez à l'automatisation

Créez un projet, générez un jeton et lancez votre premier appel en quelques minutes. Créez un compte Wolkra.

Questions fréquentes

Où se trouve l'API Wolkra ?

L'API REST est disponible à l'adresse https://api.wolkra.com/v1. Elle échange du JSON via HTTPS et s'authentifie avec un jeton d'API dans l'en-tête Authorization.

Comment fonctionnent les jetons d'API ?

Vous créez les jetons dans la console. Chaque jeton appartient à un projet, commence par wk_ et donne un accès en lecture seule ou en lecture/écriture. Vous pouvez y ajouter une liste d'IP autorisées et une date d'expiration.

Quels outils puis-je utiliser avec l'API ?

Tout outil qui parle HTTPS et JSON convient, de curl dans un script shell au client HTTP de votre langage de programmation préféré.

Que puis-je faire avec l'API ?

L'API couvre les ressources que vous gérez dans la console : serveurs, volumes, réseaux, pare-feu, répartiteurs de charge et adresses IP.

L'API est-elle gratuite ?

Oui. Les appels à l'API ne sont pas facturés. Vous ne payez que les ressources que vous créez, facturées à l'heure sur votre solde prépayé.

Lancer un serveur à Francfort

Créez un compte, rechargez votre solde et lancez un serveur dès €3.49 par mois, en ne payant que les heures utilisées. Bande passante non mesurée sur toutes les offres.