Meeting Brique Internet, Mai 2020
La réunion se passe sur le serveur mumble de LDN : https://wiki.ldn-fai.net/wiki/Mumble
Compte-rendus des précédentes réunions : https://wiki.labriqueinter.net/doku.php?id=meetings:index
Début de la réunion à 19h.
Participants
- keo (Franciliens.net)
- Aleks (Yunohost / ARN)
- ljf (ARN)
- hgo (neutrinet)
- HugoPoi [Franciliens.net]
- DrPi (Rézine)
- kitoy (illoth)
- tribu (ldn)
- pitchum (fcn)
* agentcobra (ldn)
Dernières nouvelles
- Plusieurs PR en cours
- TODO [HugoPoi] clean https://github.com/labriqueinternet/build.labriqueinter.net/pull/68
Sujets grand public
Discussions générales sur le status de la Brique dans les différentes asso représentées
- Neutrinet.be fait des briques depuis > 3ans. Ils ont un script custom et des application custom. Ils font des install-party mensuelles à ~10 personnes, avec 2-3 installs de briques à chaque fois. ~10 par an. Principale activité. Lien vers le script d'install : https://gitlab.domainepublic.net/Neutrinet/neutrinet_cube_install
- illoth faisait des briques et pense s'y remettre.
- Rezine pense peut etre s'y mettre. Dépend du temps à y consacrer.
- LDN: on pense qu'il en font encore
- ARN: un atelier ~ tous les 2 mois dans lequel on y installe une à 2 Briques depuis 3 ans. Plutot sur des OrangePi PC+ (aussi utilisé pour les déploiements de connexions Internet, x2 actuellement). Font pas mal de YunoHost (VPS), l'OS est proposé dans les OS préinstallés.
- Franciliens.net. On fait de la Brique depuis >3 ans. Il n'y a pas eu de distribution de brique depuis le début de l'année.
- une vingtaine de briques en stock à livrer
Interview sur Radio Belge ?
Quelle radio belge ?
- Radio Nostalgie Belgique
Internet Cube mentionné ici vers la fin https://ngi.eu/wp-content/uploads/sites/48/2020/04/NGI4ALL_NGI-for-COViD19_FR.pdf (“Internet de voisinage” post-apocalyptique … un peu chelou mais heu ok)
- Daniele de Franciliens ? attente de réponse pendant la réunion
- Neutrinet ?
- ljf ⇐==
Brique Camp / YunoCamp this summer (maybe / mabe not)
Quand on se réuni toutes et tous et qu'on hack ensemble sur ~ 1 semaine. Idéllement le refaire au FUZZZZZZZZZ. En stand-by.
Roadmap
- Documenter
- Comment proposer la Brique dans mon FAI
- [Blocked] Comment builder l'image de la brique (en gros changement)
- Ajout d'une fonction de sauvegarde d'image système. L'idée est de pouvoir restaurer une image en cas de panne.
- Ajout d'un sticker de contact en cas de panne
Suivi d'avancement sur github : https://github.com/orgs/labriqueinternet/projects/1
Sujets Techniques
Rappel NlNet: Jalons concernant la brique directement
Jalon VPNClient et Hotspot dans la WebAdmin (via les config panel): https://github.com/YunoHost/issues/milestone/24
- travail en cours: https://github.com/labriqueinternet/vpnclient_ynh/pull/65
Jalon installation smooth de la brique internet : https://github.com/YunoHost/issues/milestone/25
Testing VPN Client
A small (important) fix for installation on root path: https://github.com/labriqueinternet/vpnclient_ynh/pull/66
Est-ce que le paquet vpnclient suit bien le processus PR → Testing → Master Ne devrait-on pas mettre la branche testing par défaut sur le repo ?
Retour concernant l'image Orange PI PC+
Il manque des dépendances php (par exemple php-curl) ex: installation de rainloop Soupon concernant une installation en –no-recommands https://github.com/YunoHost/yunohost/blob/stretch-unstable/debian/control#L36
Kitoy peut faire des tests sur les OrangePi PC+
Upcoming Yunohost 3.8
- Diagnosis and service log view should help with debugging and identify issues sooner / more easily
- pitchum motivé pour implémenter des hooks pour vpnclient, mais il ne sait pas quand il aura le temps…
- Diagnosis hook examples : https://github.com/YunoHost/yunohost/tree/stretch-unstable/data/hooks/diagnosis
- Exemple d'implémentation de hook pour le diag: https://github.com/YunoHost/yunohost/blob/stretch-unstable/data/hooks/diagnosis/50-systemresources.py
- A mettre dans le dossier hooks dans l'app
- During 'yunohost service add', ability to specify a test_status and test_conf command to check the status / conf of a service
- Change in applist format to support app categories
- Pour la liste des catégories d'apps on pourrait s'inspirer voire pomper celles de freedesktop : https://specifications.freedesktop.org/menu-spec/menu-spec-latest.html#main-category-registry
- On pourrait ainsi bénéficier de l'internationalization déjà existante (j'espère)
- Some deprecated commands or breaking changes (e.g. yunohost app fetchlist and yunohost tools diagnosis) ⇒ URGENT VIRER les 2 appels dans le service hypercube (car je suis pas sur d'avoir tout virer avec la dernière PR)
- (Next priority is Buster)
Building Image
Un CI de buid (drone-ci) Yunohost ARM images est en place ! https://arm-build.yunohost.org/
- fetch update depuis Armbian-stretch (~100 commits de retard)
- try using qemu
Cela permettrait d'avoir des images pour plusieurs cartes ARM automatiquement.
Les images seront publiés par défaut dans les release Github.
On va partir sur les images suivantes pour commencer (Yunohost + Brique):
- Lime
- Lime2
- Orange Pi
Quid de l'eMMC ?
Il nous faut des testeuses et testeurs !
https://github.com/HugoPoi/arm-images/tree/ci/add-build
Première Image sortie de terre avec la CI https://github.com/YunoHost/arm-images/releases/tag/v2020.05-rc
Les images seront générés en pre-release. On fera des tests a-la-mano avant de faire des releases d'images officieles.
Nommage:
- yunohost-<version>-vYYYY-MM.iso
- internetcube-<version>-vYYYY-MM.iso
Hugo préfère GitlabCi que Drone-CI.
Avec le nouveau build, les installations seront bientot beaucoup plus rapides (<15min).
Installation Process
Proposition:
- génération du fichier hypercube via install.labriqueinter.net
- mettre le fichier hypercube sur un clef USB
- démarrer la Brique avec la clef USB
- l'installation dure <15 min
Futur:
- Idéallement, le formulaire d'installation se retrouverait dans l'interface YunoHost.
- Deux options:
- customisation de la post-install de Yunohost
- interface dédiée à la BriqueInternet
Ou:
- on part sur des Briques préinstallées avec Yunohost post-installé + apps installées
- on change le domaine, les clefs…
Neutrinet n'utilisent pas install.labriqueinter.net et ont un script perso qui s'en rapproche : https://gitlab.domainepublic.net/Neutrinet/neutrinet_cube_install
Process idéal
- On flash avec etcher
- On lance dans le navigateur internetcube.local
- On obtient une page HTTP (HTTPS?!)
- On répond aux questions
- On lance la post-post-installation, celle-ci fait (dans une interface de debug similaire à l'actuel?)
- la création du user
- la configuration du vrai nom de domaine
- la regénération des clé ssh
- la regénération de la CA autosignée
- la config vpnclient
- la config hotspot
- le branding de la brique ;P
- ?????
- Profit!
Comment serait gérée l'installation d'app custom (cf neutrinet qui ajoute son app à la fin) ?
VPN Configuration UI
Passage de l'interface php de vpnclient vers les config-panel de Yunohost
- S'inspirer de seafile ou nextcloud pour construire le config panel
- il manque des types de questions:
- type fichier (pour le .cube)
- type textarea
- Il manque la possibilité d'afficher un état (bien qu'on peut bricoler avec les actions custom)
EDIT 11/05/2020 : https://github.com/YunoHost/yunohost/pull/987 https://github.com/labriqueinternet/vpnclient_ynh/pull/65
Financing
Reminder : we have some money for NLnet to implement some features !
https://filebin.net/hd1b42mx6bnwm1xa/memorandumOfUnderstanding.pdf?t=9rpp3nqz
In particular beind discussed during the meeting :
- Number 3 : Integrate VPNClient and Hotspot applications inside Yunohost’s webadmin
- estimated 15 days work, 3k euros !!
- Number 4 : Simplify and speed up Internet Cube installation process
- estimated 10 days work, 2k euros !!
(and also Number 1 and 2 if you're interested … or 5 6 7 8 if you wanna work on Yunohost's core …)
IPv6 issues
Problème avec IPv6 confirmé Problème iptables: Drop des trames sortantes ARP IPv6 Voir ticket https://github.com/labriqueinternet/vpnclient_ynh/issues/59
Il faut peut être ajouter https://github.com/labriqueinternet/vpnclient_ynh/blob/master/conf/hook_post-iptable-rules#L13
Les briques répondent sur fe80::42:babe/128 durant l'install
Hardware
- Quid des cartes A64-OLinuXino ? https://www.olimex.com/Products/OLinuXino/A64/A64-OLinuXino/open-source-hardware
- Pas de SATA
- Option possible avec de l'eMMC
- Option possible avec un mobule Wi-Fi/BLE
[DONE DrPi]:
- regarder si le processeur est averti lorsque l'alim bascule sur la batterie (en cas de coupure de courant)
- Oui. L'étude des schémas montre que le processeur peut savoir si l'énergie vient de l'adaptateur secteur ou de la batterie. Important pour faire un “safe shutdown” en cas de coupure d'électricité.
- regarder les differences entre les differentes mémoire proposée (NAND, eMMC…)
Community
- [TODO Keo] Envoyer un recap des nouvelles du projet depuis un an ?
Packaging
Boitier MDF: http://carrefour-numerique.cite-sciences.fr/fablab/wiki/doku.php?id=projets:boite_la_brique_internet Il y a un nouveau repo, ajoutez vos schémas! https://github.com/labriqueinternet/packaging
- Faire une proposition de boitier en 5mm ?
- Faire une proposition de boitier pour la lime2 + disque ?
- Faire une proposition de boitier pour la Orange Pi ?
Misc
- Quick and dirty script / POC pour configurer un deuxieme port ethernet (via un adaptateur USB) https://github.com/alexAubin/ynh-extraeth
- TODO: refactorer en app Yunohost
- utiliser dnsmask ?
- nettoyage des repos https://github.com/labriqueinternet
- install.labriqueinter.net et labriqueinter.net sont maintenant séparés: https://github.com/labriqueinternet/labriqueinter.net/pull/74