Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | hosts/server2: Use new back config | Benedikt Peetz | 3 days |
| | |||
* | pkgs/back/package.nix: Include the html templates in the build source | Benedikt Peetz | 3 days |
| | |||
* | pkgs/back/config: Also try to open a repo if a directory with `.git` exists | Benedikt Peetz | 3 days |
| | |||
* | pkgs/back: Do not store repositories in config | Benedikt Peetz | 3 days |
| | | | | | Otherwise, back will need to be restarted every time a new repository is added or removed. | ||
* | {modules,tests}/back: Update to deal with newest back | Benedikt Peetz | 3 days |
| | |||
* | pkgs/back/assets/style.css: Format with prettier | Benedikt Peetz | 3 days |
| | |||
* | pkgs/back/README.md: Update to reflect current status | Benedikt Peetz | 3 days |
| | |||
* | pkgs/back: Support listing all repos via the `/` path | Benedikt Peetz | 3 days |
| | | | | | | | | | | This change required porting all webhandling from rocket to hyper, because we needed fine grained control over the path the user requested. This should also improve the memory and resources footprint because hyper is more lower level. I also changed all of the templates from `format!()` calls to a real templating language because I needed to touch most code paths anyway. | ||
* | scripts/get_dns.sh: Init | Benedikt Peetz | 3 days |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This script is useful, when migrating from a hosted DNS server to our own. An example output looks like this (for `get_dns.sh b-peetz.de`): ``` (A) 92.60.38.179 [b-peetz.de] (AAAA) 2a03:4000:33:25b::4f4e [b-peetz.de] (CAA) 0 issue "letsencrypt.org" [b-peetz.de] (CNAME) <Not set> [b-peetz.de] (DNAME) <Not set> [b-peetz.de] (MX) 10 mail.foss-syndicate.org. [b-peetz.de] (NS) second-dns.netcup.net. [b-peetz.de] (NS) third-dns.netcup.net. [b-peetz.de] (NS) root-dns.netcup.net. [b-peetz.de] (SOA) root-dns.netcup.net. dnsadmin.netcup.net. 2025012510 28800 7200 1209600 86400 [b-peetz.de] (SRV) <Not set> [b-peetz.de] (TXT) "v=spf1 +mx -all" [b-peetz.de] (PTR) <Not set> [b-peetz.de] (DNSKEY) <Not set> [b-peetz.de] (DS) <Not set> [b-peetz.de] (SSHFP) <Not set> [b-peetz.de] (TLSA) <Not set> [b-peetz.de] (OPENPGPKEY) <Not set> [b-peetz.de] (SVCB) <Not set> [b-peetz.de] (HTTPS) <Not set> [b-peetz.de] (TXT) "v=DKIM1; k=rsa; t=s; s=email; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDZ0lbL3BHTuWmiRj/8ZqbEsKK/yBrhXeKDmu8Oj1IGGbQCiqxGkkrdUMzRrZD+6hH0OWjppqc4Sw/oC8ilgSzSntYzkygGjM/7uBLhWVgLjcO7ovsoF7GIldhXcQSD/3hbI0QOoMV2/w7dEZmbYsulw6b2m8FbSAHPn+RvGmwjzQIDAQAB" [mail._domainkey.b-peetz.de] (TXT) "v=DMARC1; p=reject" [_dmarc.b-peetz.de] ``` | ||
* | modules/stalwart-mail: Remove now unneeded `allowInsecureSmtp` option | Benedikt Peetz | 3 days |
| | |||
* | tests/email-dns: Init | Benedikt Peetz | 3 days |
| | | | | | | | This test is somewhat involved, but tries to exercise our full mail handling capabilities. It effectively only tests that alice can send a message to bob, but it checks nearly all security mechanisms (DNSSEC is currently still missing). | ||
* | pkgs/fetchmail-common-name: Patch fetchmail to accept certificates without ↵ | Benedikt Peetz | 3 days |
| | | | | | | common name Pebble gives you SAN only certificates. | ||
* | test/email-ip: Rename from the general `email` test | Benedikt Peetz | 3 days |
| | |||
* | modules/stalwart-mail-free: Remove all `security` dependent checks if it's null | Benedikt Peetz | 3 days |
| | |||
* | pkgs/stalwart-mail-free: Avoid running `stalwart-mail`'s tests | Benedikt Peetz | 3 days |
| | |||
* | pkgs/stalwart-mail-free: Update `cargoHash` | Benedikt Peetz | 3 days |
| | |||
* | modules/stalwart-mail: Capitalize default mailboxes | Benedikt Peetz | 3 days |
| | | | | This seems to be somewhat of a standart. | ||
* | modules/stalwart-mail: Also listen on :25 without SSL but with STARTTLS | Benedikt Peetz | 3 days |
| | | | | This is important, so that other MTA can send us mail. | ||
* | modules/stalwart-mail: Set a default value for `principals` | Benedikt Peetz | 3 days |
| | |||
* | modules/stalwart-mail: Include full systemd service and set correct dependencies | Benedikt Peetz | 3 days |
| | | | | | This also starts `nginx` so that we can complete http-01 acme challenges. | ||
* | modules/stalwart-mail: Select DKIM keys per-domain | Benedikt Peetz | 3 days |
| | |||
* | modules/stalwart-mail: Avoid hardcoding `vhack.eu` email address | Benedikt Peetz | 3 days |
| | |||
* | modules/dns: Add service dependencies | Benedikt Peetz | 3 days |
| | |||
* | modules/dns: Set a reasonable verbosity level | Benedikt Peetz | 3 days |
| | | | | The default is way too quiet. | ||
* | modules/dns: Provide the option to open the required firewall ports | Benedikt Peetz | 3 days |
| | |||
* | modules/dns: Remove `lib.debug` calls | Benedikt Peetz | 3 days |
| | |||
* | modules/dns/dns/types/records/PTR.nix: Special case for reverse IP lookups | Benedikt Peetz | 3 days |
| | | | | This makes implementing a DNS server in tests easier. | ||
* | pkgs/stalwart-mail-free: Also patch to use the platform CA store | Benedikt Peetz | 3 days |
| | | | | | | | | This is needed for the test. The general changes are caused by the requirement to update the `chargoHash`, which currently only works with this counter intuitive attribute overriding. | ||
* | modules/dns/dns/types/records/MTA-STS.nix: Init | Benedikt Peetz | 3 days |
| | |||
* | modules/dns/dns/types/records/DMARC.nix: Reference the correct RFC | Benedikt Peetz | 3 days |
| | | | | | RFC 7208 is titled “Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1”, whilst RFC 7489 is titled “Domain-based Message Authentication, Reporting, and Conformance (DMARC)” | ||
* | .envrc: Add ./scripts to PATH | Benedikt Peetz | 3 days |
| | |||
* | scripts/testInteractive: Actually build the *interactive* test driver | Benedikt Peetz | 3 days |
| | | | | Otherwise, the experience is simply worse. | ||
* | modules/stalwart-mail: Move the package to the `pkgs` subtree | Benedikt Peetz | 3 days |
| | |||
* | {modules,tests}/dns: Init | Benedikt Peetz | 3 days |
| | | | | Most of the dns module was taken from: <https://github.com/nix-community/dns.nix> | ||
* | tests/email: Test the mvp | Benedikt Peetz | 3 days |
| | |||
* | module/stalwart-mail: Init initial version | Benedikt Peetz | 3 days |
| | |||
* | scripts/test_build.sh: Init | Benedikt Peetz | 3 days |
| | |||
* | scripts/test_interactive.sh: Actually fail when `nix build` fails | Benedikt Peetz | 3 days |
| | |||
* | pkgs/back/update.sh: Don't worry about incompatible semver changes | Benedikt Peetz | 5 days |
| | | | | | `back` is usually not big enough to be affected by semver incompatible changes. (And if it's affected, fixing it is usually really simple.) | ||
* | pkgs/back/.envrc: Stop fetching when loading the shell | Benedikt Peetz | 5 days |
| | |||
* | treewide: Update | Benedikt Peetz | 5 days |
| | |||
* | fix(hosts/server2/redirects): Also recognize the old source.vhack.eu redirect | Benedikt Peetz | 2025-02-09 |
| | |||
* | modules/redlib: Use `nginx`'s module redirect mechanism | Benedikt Peetz | 2025-02-09 |
| | |||
* | modules/nginx: Keep the `$request_uri` when redirecting | Benedikt Peetz | 2025-02-09 |
| | |||
* | README.md: Fix typos | Benedikt Peetz | 2025-02-09 |
| | |||
* | modules/nix-sync: Correctly merge `extraSettings` and the needed vhost config | Benedikt Peetz | 2025-02-07 |
| | |||
* | hosts/server3/websites: Host nix-sync on server3 | Benedikt Peetz | 2025-02-07 |
| | |||
* | hosts/server2/websites: Correct extraSettings for wkd | Benedikt Peetz | 2025-02-04 |
| | | | | | The `/.well-known/openpgpkey/hu/` path does not exist. Thus remove the erroneous `hu/` at the end. | ||
* | hosts/server2/websites: Use the new repository urls | Benedikt Peetz | 2025-02-04 |
| | | | | | | This changes: https://codeberg.org/bpeetz/b-peetz.de.git -> https://git.foss-syndicate.org/bpeetz/b-peetz.de.git https://codeberg.org/vhack.eu/gpg_wkd.git -> https://git.foss-syndicate.org/vhack.eu/pgp-wkd.git | ||
* | modules/nix-sync: Actually enable | Benedikt Peetz | 2025-02-04 |
| | | | | | This includes the obvious changes, ensuring that it follows our current best-practices. |