Fix the design of our Puppet codebase & document design guidelines

GanttStart: 2022-06-01

Originally created by @intrigeri on #16958 (Redmine)

References:

Subtasks

Need refactoring

Assuming we want everything to either be a profile or factored out to its own Puppet module, the following still need to be worked on:

  • git_annex
    • used by gitolite
  • gitolite
    • installs hooks for jenkins-jobs
    • uses git-annex
  • jenkins
  • letsencrypt
  • limesurvey
  • mail
  • meeting
  • mirror.pp
    • We don't use and only provide as an example. Consider removing?
  • pythonlib.pp
    • Should probably be moved to the Jenkins namespace
  • redmine
    • Archive and Redirector, used in our webserver.
  • reprepro
  • tester
    • Should probably be moved to the Jenkins namespace
  • vpn
  • website
  • Check items in the tails::profile namespace that are too big and should be factored out to a separate module.

Items marked with 😕 are "hybrid": part was moved to the tails::profile namespace, and part is still in the manifests root of the tails module.

Edited by groente