Packaging Caddy for Debian
Description of the project: Caddy is a modern webserver written in Go which doesn't bring the historical depts of Apache2 or Nginx. It has HTTPS enabled per default and Let's Encrypt support. Unfortunately, Caddy is not available as a Debian package yet. Quite a few Go dependency libraries are missing as well. So far, fetching a pre-compiled binary from Github is the only non-developer option to install Caddy on Debian. The goal of this Project is to change this by packaging Caddy and all required dependencies for Debian. The package should be reproducible and have continuous automated testing both in Salsa CI and via autopkgtests. As a result, we would get a reproducible binary that is built on trusted infrastructure and secures against supply chain attacks.
Confirmed Mentor: Jonas Meurer <mejo>
How to contact the mentor: jonas at freesources dot org, mejo on IRC
Confirmed co-mentors: Georg Faerber <georg>
Deliverables of the project: Caddy Debian packages that are built in a reproducible way
Desirable skills: Basic knowledge in Debian packaging, basic understanding of the Go ecosystem
What the intern will learn: You will get better understanding of the Debian Packaging ecosystem including git-buildpackage, autopkgtest and Salsa-CI and learn how static Go binaries are packaged and maintained in Debian
Application tasks: Package one Go dependency library
Related projects: https://go-team.pages.debian.net/packaging.html