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 :
- Créer, redimensionner, réinstaller, démarrer, arrêter et supprimer des serveurs cloud
- Créer, attacher, agrandir et détacher des volumes de stockage en bloc
- Activer les sauvegardes et créer des instantanés
- Mettre en place des réseaux privés et des passerelles NAT
- Gérer les pare-feu, les répartiteurs de charge, les IP flottantes et le DNS inverse
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 :
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é.