Skip to main content

PipBoy ? Kezako ?

· 4 min read
Maxime Leriche

Le projet PipBoy a pour objectif de mettre en place un environnement de travail sous kubernetes simplifier.

Vous ĂŞtes encore plus perdue ? Ce n'est pas grave !

Pour les connaisseur​

Si vous avez un peu de connaissance en infrastructure cella peux être comparé a un serveur RDP ou chaque utilisateur aura un l'équivalent d'un docker personnelle. Si vous souhaité en savoir plus je vous invite a lire la suite de l'article.

Pour les autre ? et les curieux ?​

Prérequis​

Afin de comprendre la suite des explication il est nécessaire de connaître:

  • un minimum docker ou beaucoup.
  • Kubernetes et plus prĂ©cisĂ©ment les pods et namespace (le reste sera nĂ©cessaire dans un autre article)
  • VNC

A noté:

  • Environnement == Namespace
  • GuiContainer : Container docker avec une interface graphique

Et si on entrait dans le vif du sujet​

V1

Cas cible​

Dans notre cas ou le cas de base souhaité notre utilisateur souhaite avec un PC possédant peu de performance voir son téléphone accéder a un pc pourvu d'un IDE (Vscode) ainsi que de docker ou un équivalent.

Authentification​

A cette fin il devra ce connecter a son futur meilleur amis PipBoy!

Le processus d'authentification n'est pas gérer par PipBoy mais par un Gestionnaire d'identité (KeyCloak).

Namespace​

Une fois authentifié deux cas de figure:

  • votre kubernetes namespace a Ă©tĂ© configurer par un de vos administrateur ? vous pouvez donc continuez votre utilisation
  • votre namespace na pas Ă©tĂ© crĂ©er ? veuillez contactĂ© votre administrateur.

Connection​

La connection préconiser vers le container GUI est une connection de type VNC, le container étant conçu afin de supporter une interface graphique.

Mais le système Guacamole permet bien plus que du VNC telle que:

  • RDP : Remote Desktop Protocol => SupportĂ© principalement par Windows
  • SSH : Secure Shell => Protocol supportĂ© par pratiquement tout les système.
  • Kubernetes => Accès directe aux container sans nĂ©cessitĂ© de SSH

Hors Guacamole viens de base avec son propre Client mais celui ci ne permet pas une gestion automatisé des clients comme souhaité.

Afin de résoudre ce problème la librairie js guacamole sera implémenter dans PipBoy Front.

Il peut être envisageable d'ajouter la possibilité de ce connecter a des appareille hors de kubernetes si cella s'avère utile dans la suite du développement.

Ensuite ?​

Une fois connecté a une cible l'utilisateur aura autant de possibilité qu'un accès avec le client Guacamole:

  • Son : Transfert du son en provenance de la cible.
  • Multiple connection ? Une fonctionnalitĂ© encore en attente d'approbation.
  • Clavier/souris, possibilitĂ© d'envoyĂ© le flux du clavier et de la souris vers la cible.
  • Presse papier : PossibilitĂ© de partager des fichier avec la cible.
  • Transfert de fichier: Permet d'envoyĂ© ou recevoir des fichier avec la cible.
  • Clavier sur l'Ă©cran: Facilite l'accès a partir d'une tablette en Ă©mulant un clavier sur l'Ă©cran.

Plus de fonctionnalité ?​

Un accès distant et facile a votre environnement c'est bien et suffisant pour une V1 mais dans notre cas une on ne veux pas s'arrêter uniquement la.

CRUD kubernetes​

Afin de pouvoir accéder a cette environnement il serais pratique de pouvoir créer des objet dans celui ci. A cette fin l'ajout d'un éditeur de Yaml est une possibilité envisagé tres fortement !

En plus de l'ajout une visualisation des object présent dans le kubernetes et leur visualisation sera possible.

Vous souhaitez suivre l'avancée du projet ? Venez me rejoindre sur github et pensé a mettre une étoile sur le projet