Infrastructure de l'écosytème Duniter

Jusqu’à aujourd’hui, l’infrastructure à disposition de la Ğ1 était gérée ainsi :


Dans ce fil de discussion, je propose de rendre transparent l’état actuel et de discuter d’une évolution possible. Quelques idées en vrac :

  • Les moyens mis en oeuvre doivent être en accord avec les besoins auxquels ils répondent. Par exemple, le forums ont besoin de beaucoup de performances, les sites web ont besoin de très haute dispo. Certaines besoins sont compatibles avec de l’autohébergement à domicile, d’autre non (risque de coupures internet/courant lors de l’absence trop gênant).
  • Je souhaite réduire au minimum les € dépensés pour des entreprises d’hébergement, je préfère les dépenser pour des professionnels de l’autohébergement.

:computer: Un petit point technique, voici comment sont gérées les infras :

  • l’infra Duniter est gérée quasi exclusivement via Ansible (dépôt privé https://git.duniter.org/admins/duniter-infra/)
  • l’infra Axiom Team est gérée quasi exclusivement via Proxmox (tout est actuellement dans la tête de @poka, une transmission est en cours auprès de @immae et @Bschalck qui seront payés en € pour ça, c’est leur métier). Il y a du Docker dans les conteneurs LXC, les backups sont réalisées sur des serveurs en autohébergement chez @Attilax
  • l’infra des particuliers est souvent gérée “à la mano” ou avec Yunohost, beaucoup de diversité de ce côté

Actuellement à ma connaissance, rien n’est géré avec Nix, mais ça pourrait être intéressant de s’y mettre à mon avis.


Ce post peut intéresser (d’après Recensement des compétences informatiques notamment) :
@ENO @aya @jnoel @bpresles @farvardin @PacoVelobs @Philou @lciviero

(et aussi @vit @Moul @1000i100 @Pini @Yv1K mais comme ils sont par ailleurs développeurs, je préfère personnellement qu’ils concentrent leurs efforts sur Silkaj, Tikka, Ğ1lib, Duniter…)

(and also @kapis and @arbocenc but they are already doing a lot of stuff in Spain)


Ci-dessous, vous trouverez deux posts en mode wiki :

  • l’un sur une liste des services triés par type
  • l’autre sur une liste de machines avec des informations publiques sur ces machines et la liste de services hébergés.
7 Likes

Liste de services par type

(je vous laisse continuer, je reviens plus tard pour compléter)

Liste des machines avec leurs services hébergés

  • axiom1
    • type : Serveur dédié
    • hébergeur : online
    • services:
      • safe.axiom-team.fr (vaultwarden)
      • Discourse:
        • foro.moneda-libre.org
        • discourse-dev.p2p.legal (dev)
        • forum.librezo.fr
      • git.p2p.legal (-> @poka)
      • Docker:
        • chat.axiom-team.fr (déprécié)
        • onlyoffice (online documents pour cloud axiom)
        • mumble (plus utilisé, mais toujours là et fonctionnel!)
        • pad.p2p.legal (-> @poka)
      • mail.axiom-team.fr (client rainloop (déprécié, fork snappymail dispo sur cloud axiom))
      • axiom-team.fr (Odoo, bientôt déprécié)
      • wiki.monnaie-libre.fr
      • api.monnaie-libre.fr
      • carte.monnaie-libre.fr
      • cesium.app
      • g1-stats.axiom-team.fr
      • libre-currency.org
      • monnaie-libre.fr
      • wotwizard.axiom-team.fr
      • gecko.axiom-team.fr
      • g1v1.p2p.legal
  • axiom2 → mmicro
    • type : Machine virtuelle sur infra Proxmox
    • hébergeur : online
    • services :
      • compta.axiom-team.fr
      • cloud.axiom-team.fr
      • gdev.p2p.legal (mirroir et smith)
      • gdev-indexer.p2p.legal
      • mailer.axiom-team.fr (listmonk)
      • n8n.axiom-team.fr
      • umami, hasura et pgadmin ajouté par Manu je sais pas pk faut lui demander...
      • le blog ML de Yves qui n'est pas encore en prod
      • Runner CI gitlab axiom pour Duniter
      • Runner CI gitlab podman pour build multiarch de Duniter v2s
      • g1-migrator.axiom-team.fr
      • worldwotmap.duniter.org
      • wotmap.duniter.org
  • doppler
    • type : VPS
    • hébergeur : cgeek
    • services :
  • redshift
    • type : VPS
    • hébergeur : cgeek
    • services :
  • sirius
  • nordstrom
    • type : VPS
    • hébergeur : Bobvador
  • datajune.coinduf.eu
    • type : autohébergement, tour custom
    • hébergeur : Hugo
    • OS : debian
    • gestion : Ansible (privé)
    • services :
  • infojune.fr
    • raspi4 ‘argos’ hébergé par Attilax géré par Paidge
  • matrix
    • raspi4 hébergé par attilax espace axiom. Nécessité d’être invité (par Poka ou Hugo), ce n’est pas un serveur public.
  • *.calbasi.net

(pareil, on complétera au fur et à mesure, hésitez pas à mettre plein d’informations, quand on en aura beaucoup, on pourra faire un tableau avec les bonnes cases)

5 Likes

Merci Hugo pour ce super post qui donne une bonne vision de l’existant ! :heart_eyes:

Pour ceux qui voudraient participer à la réflexion sur l’infrastructure, nous avons un salon matrix #infra-axiom sur le serveur matrix :yuno.librezo.fr … /join !nqHzYUrEewDQXmjCTQ:yuno.librezo.fr

3 Likes

Je pense à quelque chose : si on éclate les services entre plusieurs hébergeurs, il faudrait faire quelque chose pour s’y retrouver un peu au niveau des entrées DNS. Je propose une convention du genre :

service.axiom-team.frCNAMEpseudo.members.axiom-team.frA
service.duniter.orgCNAMEname.machines.duniter.orgA

Comme ça on peut voir directement si le service est géré par un particulier (members) ou par un collectif sur une machine partagée (machines), et on s’évite d’associer trop vite un nom de services à une machine.

Si vous connaissez des standards existants qui pourraient s’appliquer à notre cas, n’hésitez pas à partager.

[edit] il semblerait sage d’éviter les chaines de CNAME trop longues :joy_cat: domain name system - Is a CNAME to CNAME chain allowed? - Server Fault

Je viens d’ajouter la liste exhaustive des services que nous hébergeons sur axiom1 et axiom2.
Je ne les aient pas organisés par container LXC car nous prévoyons de migrer ces services ailleurs au plus vite.

3 Likes

rdv ce soir 19h.

2 Likes

J’aime bien cette idée qui mérite toutefois un peu de réflexion sur la convention à adopter.

Je ne pense pas qu’on doive se prendre la tête avec ça. D’une part on ne génère pas tant de traffic que ça, mais en plus c’est facile à mitiger en donnant des TTL plus longs aux alias intermédiaires.

1 Like

Voici le pad de compte rendu de la réunion infra de ce soir (merci super @italpaola!): REUNION INFRA - CodiMD

Il a été décidé que chacun édite le poste de Hugo en indiquant une flèche avec son nom (comme je l’ai fait pour pad.p2p.legal et git.p2p.legal) pour les services que chacun veut récupérer.

Il a été convenu que les hébergeurs sont responsables des pannes de leur infra générale, mais que axiom reste responsable de l’état des services en eux même (intérieurs des containers LXC).

Il a surtout été question des services hébergés par axiom-team, étant donnée “l’urgence” de migrer ces services ailleurs. L’objectif étant de migrer l’ensemble des services axiom avant la fin du mois.

La plupart de ces services devraient être migrés vers des infra professionnelles, donc garantissant une bonne disponibilité (au moins égale à celle actuellement en vigueur), il reste à définir un mécanisme de DNS round robin/réplication pour les services migrés vers de l’autohébergement low cost.

Reste également à définir le budget que l’asso a pour rémunérer ces hébergeurs en Ğ1.

5 Likes

Si dans l’élan pour l’infra quelqu’un pouvait installer un GitLab runner sur architecture ARM, il pourrait rapidement trouver son utilité :

1 Like

Je renouvelle ma demande : nous aurions besoin d’un runner armv8 pour compiler duniterv2. Si quelqu’un a une machine à dispo, on peut même s’occuper de l’installation.

I’ve shared your demand in the Spanish tech Matrix/Telegram group :wink:

1 Like

@ENO est-ce que tu as une idée de la raison pour laquelle la CI de l’indexeur plante pour histoire “d’opération non autorisée” :

Duniter indexer CI

Nous en avons un. Je viens de mettre à jour sur la liste des infra.

1 Like
dig g1v1.p2p.legal
g1v1.p2p.legal.		800	IN	CNAME	axiom1.p2p.legal.
axiom1.p2p.legal.	800	IN	A	163.172.67.95

Service ajouté au référencement axiom1. Est-ce que quelqu’un d’autre que @poka a la main dessus ?