Gnuragistes et l'utilisation de Gitea

:warning: travail rédactionnel en cours :warning:

Pour les particuliers et particulières

Nous gardons des traces de nos interventions dans le dépôts projets de Zebras, le nom de code de notre organisation. :wink:

À priori nous ne gardons pas de mots de passe mais si besoin était, nous pourrions mettre ça dans le password-store de Zebras.

Pour les associations

Dés qu’il y a plus d’une machine, nous considérons qu’il est nécessaire de constituer une organisation, un dépôt de mots de passe et un dépôt d’inventaire.

Clé GPG

:warning: À compléter :warning:

La suite repose sur le principe que vous disposez d’une clé GPG fonctionnelle.

Pour git / config et clé ssh dans gitea

:warning: À compléter :warning:

La suite repose sur le principe que votre clé ssh a été ajoutée à Gitea et que vous pouvez communiquer en ssh avec le serveur git.gnuragist.es.

Créer un password-store sur le PC d’un·e Gnuragistes

Nous utilisons toutes et tous des ordinateurs fonctionnant sur des systèmes d’exploitation GNU/Linux (sans blague :smile:).

Les prérequis étant que l’utilitaire git (disponible dans la plupart des distributions) et Gopass soient installés. vous trouverez ici un résumé des commandes utiles pour Gopass.

Il nous faut donc commencer par créer (initialiser) notre nouveau trousseau, lui donner un nom (demoland), lui définir une méthode de synchronisation (gitcli) et un chemin (~/.password-store-demoland).

$ gopass init --store demoland --rcs gitcli --path ~/.password-store-demoland

Cela crée le dossier ~/.password-store-demoland, initialise l’utilisation de git et le « monte » dans Gopass sous l’alias demoland. À la création, Gopass demande avec quelle clé GPG le dépôt doit être initialisé.

Ajouter les clés GPG d’autres Gnuragistes

Le prérequis étant que vous disposez, dans votre trousseau GPG, des clés des Gnuragistes concerné·e·s.

Pour partager ce nouveau trousseau de mots de passe avec d’autres Gnuragistes, il est nécessaire d’ajouter leur clé GPG. Cela peut se faire à n’importe quel moment et il est évidemment possible d’enlever aussi des clés. Dans les deux cas les fichiers de mots de passe sont à nouveau chiffrés en tenant compte de l’ajout ou de la suppression des nouvelles clés GPG.

$ gopass recipients add ptr --store demoland

Dans cet exemple, nous ajoutons ptr et il est possible de renseigner une empreinte, une adresse email ou une partie de cette dernière. Gopass proposera de choisir et de confirmer en fonction de ce qu’il trouvera dans votre trousseau GPG.

Vous pourrez répéter cela pour chaque membre des Gnuragistes que vous souhaiterez ajouter à ce nouveau trousseau de mots de passe.

Créer un premier mot de passe pour l’association

En vue de créer un compte utilisateur sur notre instance Yunohost et donc de pouvoir donner accès à au moins une personne à l’organisation « Démoland » sur notre Gitea, nous lui créons un mot de passe et un nom d’utilisateur·ice.

:warning: Le nom d’utilisateur ne peut pas être demoland car c’est le nom de l’organisation dans Gitea et une organisation et un utilisateur ne peuvent pas avoir le même nom. Nous choisirons donc de créer ce premier mot de passe pour demouser que nous créerons plus tard dans Yunohost *(et donc dans Gitea puisque la gestion des utilisateur·ices est la même entre Yunohost et Gitea (ou même Nextcloud, Dokuwiki,… sur Yunohost).

$ gopass create --store demoland

L’assistant qui apparaît vous posera quelques questions comme; quelle est l’URL du site web auquel se connectera l’utilisateur·ice, quel est son nom d’utilisateur·ice, quel genre de mot de passe faut-il créer, etc.

Dans l’exemple repris sur la capture d’écran, vous noterez que le site web c’est https://gnuragist.es, que le nom d’utilisateur·ice c’est demouser et que cela sera chiffré sur base des clés de tierce et ptr, les deux Gnuragistes membres de ce trousseau de mots de passe.

Créer un compte utilisateur·ice pour l’association

Cela se fait dans l’interface d’administration de Yunohost ou à la ligne de commande en ssh sur le serveur. Pour un confort plus visuel, voici ce que cela donne dans l’interface web.

Dans l’idée de transmettre à l’association le login et mot de passe pour lui permettre d’avoir accès principallement aux éléments suivants;

  • un accès au Gitea en ajoutant « demouser » dans la liste des membres de l’organisation,
  • disposer d’une boîte mail utilisable par un client lourd (Thunderbird par exemple) ou par le Webmail que nous avons sur notre serveur Yunohost,
  • ou bien il est possible de faire suivre les mails éventuels à une adresse choisie par l’association.

Il pourrait être envisageable d’utiliser ce compte pour d’autres services, également hébergés sur notre serveur, comme par exemple;

  • pour un accès à notre Nextcloud, des fichiers, des agendas ou un suivi des dépenses (Cospend), ou d’autres applications Nextcloud
  • pour utiliser cette adresse mail dans des services externes comme un Registrar, un Hébregeur ou n’importe quel autre services qui nécessiterait la création d’un compte associable à une adresse mail.

Le dernier point est utilisé pour l’une ou l’autre association avec lesquelles nous travaillons.

Créer une organisation

Cela se fait dans Gitea. Le choix du nom se repose sur « ce qui est cité régulièrement lorsque nous faisons référence à l’association machinbidule ». Dans les exemples ci-dessous, cette association s’appellera Démoland.

L’organisation est Privée et les administrateur·ice·s (à priori tous et toutes les gnuragistes) peuvent gérer les équipes.

Créer un dépôt de mots de passes

Ensuite nous créons un dépôt password-store qui contiendra les mots de passes chiffrés avec les clés GPG des Gnuragistes susceptibles de contribuer au projet.

Faire le lien entre le trousseau local et celui du serveur Gitea

Pour que la synchronisation se fasse entre votre PC et le serveur Gitea des Gnuragistes, il faut le renseigner à Gopass avec la commande suivante sur l’ordinateur qui a été utilisé pour créer le premier mot de passe de demoland.

$ gopass git remote add --store demoland origin gitea@git.gnuragist.es:demoland/password-store.git

Synchroniser votre nouveau trousseau avec le serveur

$ gopass sync --store demoland

Par la suite, lors de l’ajout, de la modification ou de la suppression de mots de passe, cette synchronisation se fera automatiquement. Il est possible de désactiver cette fonction ou de forcer une synchronisation « à la demande » avec les options et paramètres de Gopass.

Et voici ce que vous verrez dans l’interface web de Gitea sur le serveur des Gnuragistes.

Créer un dépôt d’inventaire

Il contiendra une documentation et le suivi du travail à réaliser ou réalisé en utilisant les issues. Cela se fait de la même manière que pour le dépôt des mots de passe, si ce n’est qu’il n’est pas nécessaire d’utiliser Gopass évidemment et c’est donc plus simple. :sweat_smile:

Ajouter demouser à notre Gitea

Pour ce faire, il faut une première fois se connecter sur notre serveur Gitea en tant que demouser sans quoi, même si l’utilisateur existe dans Yunohost (nous venons de le créer), il n’existe pas encore dans Gitea. La base de donnée de Yunohost n’étant synchronisée avec celle de Gitea que lors de l’ouverture de la session dans Gitea.

Ensuite, le créateur ou la créatrice de l’organisation « demoland » dans Gitea pourra ajouter le nouveau compte « demouser » ce qui donnera le droit à cette personne de voir les dépôts password-store et inventaire et d’y suivre les tickets (issues).

Cela se fait dans la gestion des membres (owners) de l’organisation « demoland ».

Pour plus tard… GPG et demouser

Une des possibilité serait, pour la personne de l’association concernée et qui est en relation avec les Gnuragistes, d’apprendre à utiliser son compte Yunohost, Gitea et peut-être le Nextcloud et surtout, faire avec cette personne une clé GPG qui permettrait de déverrouiller le trousseau de mots de passe.

2 Likes