BriqueCamp summary / Résumé du BriqueCamp

EN | Summary of the Brique Camp / YunoCamp

During one week at the end of August, about 10 contributors of the Internet Cube and Yunohost project gathered and worked on various topics, from harware support to stretch migration, improving apps quality, backup, front end, and many other topics, fixes and improvements :construction_worker:.

Below, we provide a summary of the main items people worked on (when we were not eating awesome food or reinventing the internets around a beer :yum:) !

YunoHost

  • Finish the release of version 2.7 in stable
  • Clean lot of issues on bugtracker
  • Work on new boot prompt (Yunohost#363)
  • Apps : add a button in webadmin to upgrade apps selectively (Yunohost#359 and Yunohost-Admin#172)
  • Apps : add some hooks on install, remove, upgrade, change-url (Yunohost#360)
  • Apps : work on a helper to migrate apps more easily (e.g. owncloud -> nextcloud)
  • Apps : improve package linter
  • Stretch : define and test the strategy for the PHP5/PHP7 migration
  • Stretch : work on the mail stack (migration to rspamd-only instead of rmilter/rspamd)
  • Stretch : test and fix ACME / Let’s Encrypt
  • Stretch : test dist-upgrade from jessie
  • Images : attempt to generate a new RPi image
  • Images : update and improve recipe to generate CD/USB ISO image (with lvm support)

Internet Cube

  • Release of the new Internet Cube images (2017-08-31)
  • Clean some issues on the bugtracker
  • Work on EspressoBin support
  • New tool to detect HyperCube debug page on the LAN (see here)
  • Clean / refactor build.labriqueinter.net to prepare for support of other boards
  • Work on new QEMU builds of Internet Cubes images (for many architectures/boards?) (branch)
  • Discuss / fix lock issues (systemd services using YunoHost) in LaBriqueInternet’s apps
  • VPN Client and/or Wifi Hotspot steps can now be skipped with HyperCube
  • VPN Client now sets DNS addresses using the dnsmasq file

Apps

Update / refresh / fix those apps :

  • Roundcube
  • TinyTinyRss
  • Baikal
  • Strut
  • Searx
  • Hextris
  • Transmission
  • phpmyadmin
  • Jirafeau
  • Shellinabox
  • Nextcloud
  • my_webapp
  • Owncloud (migration to nextcloud)

Doc, Forum, Tools, Infra

  • Infra : Take back control on the deb build chain (repo)
  • Infra : Improve automatic backup of critical services
  • Doc : Clean / rework a few pages in the doc
  • Doc : New help button and page to better orient people to the chat, forum and bugtracker (live here)
  • Doc : Rework the apps list pages, kinda like an “app market” (live here)
  • Tools : Work on tartiflette to manage dashboards : app CI, unlisted app, add an index that list the different dashboards (live here)
  • Forum : Remove section ‘Francais’, use ‘fr’/‘en’ tags instead

Misc discussions

App upgrade management

Needs / issues

  • more tests for apps,
  • distinguish stable from ‘fresh’ version,
  • remove the need to propagate the commit to the .json list,
  • allow users to install community apps and upgrade them more easily,
  • clarify understanding of an app quality (currently 3 different indicators : level, official/community, working/inprogress/broken),
  • need to separate arm from x64 (option in manifest for supported architecture ?),
  • the commit used for app CI is not cleared

Proposed solutions

  • Create a ‘testing’ branch on app repo
  • Merge community list and official
  • Don’t put commits in json list
  • Be able to install / upgrade from the testing branch (or any branch)
  • Display level corresponding to architecture in apps list from webadmin
Backup improvements

Needs / issues

  • Avoid corrupting backups with database dumps / file changing during the backup (e.g. Nextcloud)
  • Be able to restore a server with identical state (full backup / restore)

Proposed solutions

  • If LVM is installed, make a snapshot before starting file transfert
  • Add a --full option to backup all files
Remote backup / federation

Draft of specs / usecases (with questions) from fr0g

wget -qO- https://paste.yunohost.org/raw/iturinoxec | asciidoc - > backup-usecases.html
Brique Internet, images et processus d'installation

Needs / issues

  • Be able to have hypercube.sh features for all images/boards (arm&x64) (including iso)
  • Be able to use install-sd.sh for several boards

Proposed solutions

  • Hypercube.sh could be more generic and integrated in all boards images, for instance with a deb package (or tar to extract)
  • Merge install-sd.sh with the RPi version, and have options to which board to flash

FR | Résumé du Brique Camp / YunoCamp

Pendant une semaine à la fin du mois d’août, une dizaine de contributeurs des projets la Brique Internet et Yunohost se sont rassemblés pour travailler sur différents sujets, du support de nouvelles cartes à la migration vers stretch, en passant par l’amélioration de la qualités des applications, le backup, le front end, et beaucoup d’autres sujets, des corrections et des améliorations :construction_worker:.

Ci-dessous, nous vous fournissons un résumé des points principaux sur lesquels nous avons travaillé (quand on était pas en train de manger des trucs trop bons ou de refaire les internets autour d’une bière :yum:) !

YunoHost

  • Sortie de la version 2.7 en stable
  • Nettoyage de tickets sur le bugtracker
  • Travail sur le nouveau prompt après le démarrage (Yunohost#363)
  • Apps : ajout d’un bouton dans l’admin web pour mettre à jour les apps sélectivement (Yunohost#359 et Yunohost-Admin#172)
  • Apps : ajout de hooks pendant l’install, remove, upgrade, et change-url (Yunohost#360)
  • Apps : travail sur un helper pour migrer les apps plus facilement (e.g. owncloud -> nextcloud)
  • Apps : améliorations sur le package linter
  • Stretch : definition et test de la stratégie pour la migration PHP5/PHP7
  • Stretch : travail sur la stack mail (migration de rspamd à rmilter/rspamd)
  • Stretch : test et correction de Let’s Encrypt
  • Stretch : test dist-upgrade depuis jessie
  • Images : tentative de gestion d’une nouvelle image RPi
  • Images : mise à jour du script qui génère l’image ISO CD/USB (avec support de lvm)

La Brique Internet

  • Sortie d’une nouvelle image de La Brique Internet (2017-08-31)
  • Nettoyage de tickets sur le bugtracker
  • Travail sur le support d’EspressoBin
  • Nouvel outil pour détecter les installations d’HyperCube en cours sur le LAN : (voir ici)
  • Nettoyage / refactoring de build.labriqueinter.net pour préparer le support d’autres cartes
  • Travail sur des builds QEMU des images Internet Cubes (pour plusieurs architectures/cartes?) (branche)
  • Discussion / réparation des problèmes de lock (services systemd qui utilisent YunoHost) dans les apps de La Brique Internet
  • Les étapes VPN et Hotspot Wifi de l’Hypercube peuvent maintenant être ignorées
  • VPN Client définit maintenant les résolveurs DNS dans le fichier de DNSmasq

Apps

Mise à jour / rafraichissement / réparation de ces apps :

  • Roundcube
  • TinyTinyRss
  • Baikal
  • Strut
  • Searx
  • Hextris
  • Transmission
  • phpmyadmin
  • Jirafeau
  • Shellinabox
  • Nextcloud
  • my_webapp

Doc, Forum, Outils, Infra

  • Infra : Reprise du contrôle sur la chaîne de construction des .deb (repo)
  • Infra : Amélioration du backup des services critiques
  • Doc : Nettoyage / retravail de certaines pages dans la doc
  • Doc : Nouveau bouton et page d’aide pour mieux orienter les utilisateurs vers le chat, le forum et le bugtracker (voir ici)
  • Doc : Retravail complet de la page listant les apps, à la “app market” (voir ici)
  • Tools : Work on tartiflette to manage dashboards : app CI, unlisted app, add an index that list the different dashboards (voir ici)
  • Forum : Suppression de la section ‘Francais’, utilisation des tags ‘fr’/‘en’ à la place

Misc discussions

Gestion de l'upgrade des apps

Besoins / problèmes

  • d’avoir plus de test sur les apps,
  • de dissocier la version stable de la version “fraiche” (à installer en recours),
  • shunter une partie du process merge the PR + change the commit,
  • permettre aux utilisateurs d’installer plus facilement des apps community et de les mettre à jour,
  • clarifier la compréhension du niveau de qualité d’une app (3 éléments actuellement : niveau, official/community, working/inprogress/broken),
  • besoin de dissocier arm et x64 (une option dans le manifeste pour spécifier les architectures supportées)
  • il y a des différences entre les commit testés et le niveaux affichés

Solutions proposées

  • Créer des branches testing sur les repo git d’applications
  • Fusionner la liste community et la liste official
  • Ne pas avoir les numéros de commit
  • Pouvoir installer / mettre à jour une branche testing (voir n’importe quelle branche)
  • Afficher le niveau correspondant à l’architecture dans la liste des applications installables dans l’adminjs
Backup improvements

Besoins / problèmes

  • Eviter de corrompre un backup avec des dump de bdd figés alors que les fichiers évoluent (par exemple avec Nextcloud)
  • Etre capable de restaurer à l’identique un serveur (full backup / restore)

Solutions proposées

  • SI LVM est installée faire un snapshot avant de commencer le transfert de fichiers
  • Add a --full option to backup all files of the service
Remote backup / federation

Brouillon de specifications / cas d’usage (avec questions) de fr0g

$ wget -qO- https://paste.yunohost.org/raw/iturinoxec | asciidoc - > backup-usecases.html
Brique Internet, images et processus d'installation

Bestions / problèmes

  • Bénéficier des fonctionnalité de hypercube.sh dans toutes les images de board (arm&x64) (dont la méthode par clé usb)
  • Pouvoir utiliser le même install-sd.sh avec d’autres board

Solutions proposées

  • Hypercube.sh pourrait être un peu plus générique et être intégré dans les images de board par exemple avec un paquet debian (ou un tar à décompresser)
  • Fusionner les install-sd.sh qui existent (notamment RPi) et avoir une option pour choisir quelle carte installer
4 Likes

Congratulation for all this work! It’s good we now have tags for handling local language discussion :slight_smile:

I really, really love this page! https://yunohost.org/#/apps
I assume it uses information from manifest which we can translate here: https://translate.yunohost.org/projects/yunohost/apps/
My it be possible to automatically add languages? At least german, spanish and italian have translated content :slight_smile: