My infrastructure roadmap


Discussions with @nqb made me realize it would be worth writing down a kind of roadmap that would help get a sense of where I’m heading regarding the Enough infrastructure. It is not the roadmap because that would imply someone leads the project. But since I’ve been the primary contributor in terms of commits, it should give an perspective to someone trying to figure out how they can contribute.

The main influence on my roadmap this year is how the MLA is using Enough. They don’t need new features, they need something stable and well tested.

  • :white_check_mark: Improve the development bootstrap
  • Improve the documentation and the associated MOOC
  • Implement new playbooks for:
    • :white_check_mark: WordPress (1)
    • :white_check_mark: Jitsi (1)
    • :white_check_mark: OnlyOffice (1, 2)
    • :white_check_mark: Tutor (1)
  • Document or simplify HOWTOs (1, 2)
  • Sort out private/public IP border cases (1)
  • :white_check_mark: More robust backups and disaster recovery (1, 2, 3, 4)
  • :white_check_mark: Rework VPN playbook to improve security and implement offboarding users (1)
  • More robust initial network setup, currently too brittle (1)
  • Implement incoming mails in the postfix playbooks
  • Implement more integration and upgrade tests for all playbooks.

I’m not sure in which order each task should be handled and most of them do not depend on each other. Right now I’ll focus on fixing the development bootstrap documentation because it is a blocker for @pilou and will presumably be for @nqb as well if/when he wants to try his luck.

In the past few weeks I focused on CHATONS, UX and MOOCs and did not spend much time on the infrastructure, as demonstrated by the commit frequency. Before that I did work almost exclusively on the infrastructure so that it fits with the needs of the MLA (for instance having services deployed on private IPs as well as public IPs, which requires non trivial architectural changes). My inclination would have been to keep polishing the infrastructure but connecting with like minded projects through CHATONS, scheduling UX interviews and preparing MOOCs did not make any progress in the first semester so I forced myself to switch to that instead.


To better understand how Enough works, here is an attempt at describing the architecture of how it is deployed. It is also described in a file so that the command line knows what to work on when the user asks for the (for instance) wekan service.

Does that help ?

Yes ! I will try to improve documentation on this part.

1 Like