Differences between revisions 4 and 5
Revision 4 as of 2021-02-16 19:09:38
Size: 1355
Editor: ?JonasMeurer
Comment:
Revision 5 as of 2021-02-16 22:12:45
Size: 1567
Editor: ?JonasMeurer
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
== PackagingCaddy (draft) == == Packaging Caddy for Debian ==
Line 3: Line 3:
'''Description of the project:''' Package Caddy for Debian, ensure the package is reproducible and has automated testing both in Salsa CI and via autopkgtests. 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 Debian package yet. Besides, some dependencies are missing as well. So far, fetching a pre-compiled binary from Github seems to be the recommended way to install Caddy. With packaging Caddy for Debian, we would get a reproducible binary that is built on trusted infrastructure and secures against supply chain attacks. '''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 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 continious 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.
Line 8: Line 8:
 * '''Deliverables of the project''':  * '''Deliverables of the project''': Caddy Debian packages that are built in a reproducible way
Line 10: Line 10:
 * '''What the intern will learn:''' You will get better understanding of the Debian Packaging ecosystem, Salsa-CI and the way static Go binaries are maintained in Debian
 * '''Application tasks:''' Package one Go library dependency
 * '''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

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 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 continious 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