Aller au contenu

Documentation

Pelican

Pelican fait tourner vos serveurs de jeu : un egg décrit ce à partir de quoi un serveur est construit, un nœud le porte, une allocation lui donne son adresse. Provibr l’atteint depuis un agent installé dans votre propre réseau, si bien que le panneau n’a besoin d’aucun port entrant et que rien n’y est installé.

Deux clés d’API

Pelican possède deux API avec deux clés différentes, et Provibr a besoin des deux. Elles proviennent de deux écrans différents, et toutes deux doivent appartenir à un compte disposant des droits d’administrateur.

  • La clé application, issue d’Admin → API Keys. Elle commence par papp_ et gère les serveurs : créer, suspendre, réinstaller, supprimer. Accordez-lui les droits de lecture et d’écriture sur Server, Node, Allocation, User et Egg.
  • La clé client, issue de votre propre Profile → API Keys. Elle commence par pacc_ et transporte les commandes d’alimentation, les relevés d’utilisation en direct et la console.
Copiez la clé client dès qu’elle apparaît. Pelican ne l’affiche qu’une fois et la liste ne conserve ensuite qu’un court identifiant. Cet identifiant est accepté comme clé, si bien que le coller vous donne une simple erreur d’authentification plutôt qu’une indication que vous avez copié la mauvaise chose. La clé application, elle, peut être relue en entier depuis la liste.
Il n’existe pas d’alternative en ligne de commande : Pelican ne fournit aucune commande artisan pour les clés d’API, si bien que les deux se créent via l’interface web.

Ce que vous renseignez

Quatre champs, et seul le dernier est facultatif.

  • L’adresse du panneau, par exemple https://panel.example.com. N’ajoutez un port que si le panneau y tourne réellement ; derrière un proxy inverse, il répond sur le port par défaut de son schéma.
  • La clé application, commençant par papp_.
  • La clé client, commençant par pacc_.
  • L’empreinte TLS du panneau, nécessaire uniquement lorsque son certificat est auto-signé.
Faites attention à quelle clé va dans quel champ. Pelican accepte aussi une clé client sur l’API de gestion, si bien qu’inverser les deux ne produit aucune erreur visible. Le préfixe est la seule chose qui les distingue, et Provibr le vérifie des deux côtés précisément pour cette raison.

Certificat auto-signé

Si le panneau présente un certificat auto-signé, renseignez son empreinte. L’agent fait alors confiance à ce certificat précis au lieu de désactiver la vérification. Lisez-la avec :

shell
openssl s_client -connect <host>:443 </dev/null 2>/dev/null | \
  openssl x509 -noout -fingerprint -sha256
Les commandes et les sorties de terminal sont en anglais partout, dans le panneau comme dans ces pages. Un seul texte, une seule vérité : ce que vous lisez ici est littéralement ce que votre hôte affichera.

Laissez le champ vide pour un certificat émis par une autorité publique, ainsi que si le panneau n’est joignable qu’en http. Une empreinte à côté d’une adresse http est refusée, car il n’y a aucun certificat sur lequel s’ancrer. Un panneau en http simple fonctionne, mais les deux clés circulent alors en clair sur votre réseau.

Les eggs et leurs variables

Un serveur est construit à partir d’un egg : une image Docker, une commande de démarrage et un jeu de variables que l’egg définit lui-même. Provibr lit la liste depuis votre panneau, si bien que le formulaire de commande propose les eggs que vous avez réellement au lieu de demander un numéro.

Provibr refuse une commande lorsqu’une variable que l’egg marque comme obligatoire est laissée vide, alors même que le panneau, lui, l’accepterait. C’est délibéré : Pelican crée quand même le serveur et le conteneur plante alors à son premier démarrage, ce qui est une réponse bien pire qu’un champ qui devient rouge.

Les plans de jeu

Un plan de jeu contient l’egg, l’image, la commande de démarrage et les limites qu’un serveur reçoit. Reliez-le à une ou plusieurs intégrations Pelican et il devient commandable.

La mémoire, le disque et le processeur acceptent 0 pour illimité, et la limite de processeur se compte en pourcentage d’un cœur : 100 correspond à un cœur entier, 200 à deux. Le poids d’E/S va de 0 à 1000 et 500 en est la valeur habituelle.

Sur quel nœud un serveur atterrit

Pelican indique de combien de mémoire et de combien de processeur dispose chaque nœud, et quelle part en est déjà distribuée. Provibr se sert des deux : un nouveau serveur va sur un nœud qui a de la place pour lui, et il est refusé avec un motif lorsqu’aucun nœud n’en a.

Les chiffres que remonte le panneau sont sa propre comptabilité, pas une mesure : ils additionnent les limites des serveurs présents sur un nœud, y compris ceux qui sont encore en cours d’installation. Un nœud peut donc paraître plein alors qu’il ne tourne en réalité que peu de choses.

Ce que vous pouvez faire d’un serveur

Toute la vie d’un serveur de jeu, depuis le panneau ou via l’API :

  • Le créer à partir d’un plan, et le supprimer quand le client s’en va.
  • Le démarrer, l’arrêter, le redémarrer et forcer son arrêt.
  • Le suspendre et le réactiver. C’est aussi ce qui se produit automatiquement lorsqu’un compte dépasse sa limite.
  • Le réinstaller, ce qui relance le script d’installation de son egg.

La console

Un serveur de jeu se pilote depuis sa console : commandes, joueurs, et la ligne de journal qui explique un plantage. Elle fonctionne dans le panneau via la même connexion sortante que tout le reste, si bien qu’il n’y a ni port distinct ni seconde authentification.

Les serveurs déjà présents

Les serveurs que vous avez créés en dehors de Provibr sont laissés tels quels. Vous pouvez les importer pour qu’ils apparaissent dans Provibr et comptent dans votre capacité, ce qui est le moyen de basculer un panneau existant sans rien reconstruire.

L’import ne touche pas au serveur ; il se contente de commencer à le compter. Tant que vous ne l’importez pas, Provibr ne le gère ni ne le facture.

Ce que cette intégration ne fait pas

Les fichiers, les sauvegardes, les bases de données et les planifications restent dans le panneau Pelican, tout comme la gestion du panneau et de ses nœuds eux-mêmes. Provibr couvre la vie d’un serveur et sa console, pas l’administration de votre panneau.

Pelican est lui-même encore en bêta et son API change d’une version à l’autre. Provibr est testé sur la 1.0.0, et le panneau n’offre aucun moyen de demander quelle version il exécute, si bien qu’une mise à niveau qui modifie une réponse se manifeste comme une erreur plutôt que comme un avertissement préalable. Lisez les notes de version avant de mettre à niveau un panneau auquel Provibr parle.