Commit graph

607 commits

Author SHA1 Message Date
57d53a1d22 Make trim-trailing-whitespace hook apply everywhere 2025-02-19 23:08:19 +01:00
740b5447d8 Remove trailing whitespace everywhere 2025-02-19 23:08:19 +01:00
142af8d0ee Make pre-commits opt-out instead of opt-in 2025-02-19 23:08:19 +01:00
3ec09b491d matrix: opt-in to pre-commits 2025-02-19 23:08:19 +01:00
01de49d096 website: opt-in to pre-commits 2025-02-19 23:08:19 +01:00
06d3d37a39 website: remove unused arguments 2025-02-19 23:08:19 +01:00
10f3d15a98 website: format 2025-02-19 23:08:19 +01:00
92563d387a test login/logout redirection (#163)
this concludes Fediversity/Fediversity#72 with a test covering most of the user story.

test in the devshell:
```
manage test panel
```

test in full isolation:
```
nix-build -A tests
```

Reviewed-on: Fediversity/Fediversity#163
Reviewed-by: kiara Grouwstra <kiara@procolix.eu>
2025-02-19 23:07:51 +01:00
b6e11c893b
bash scripts: snake-case variables, deduplicate $RANDOM, satisfy LSP (#154) 2025-02-19 19:10:00 +01:00
18a14d29ab
Fix vm_id -> vmid
It probably was changed by mistake beforehand.
2025-02-19 18:29:31 +01:00
797ce362bd
Add debug mode to provisioning script 2025-02-19 18:29:31 +01:00
5f29388776
printf + exit -> die 2025-02-19 18:29:31 +01:00
253a5ad8fa
Fix missing space, add missing quotes 2025-02-19 18:29:31 +01:00
807808ed00
bash scripts: snake-case variables, deduplicate $RANDOM, satisfy LSP
Co-authored-by: Nicolas “Niols” Jeannerod <nicolas.jeannerod@moduscreate.com>
2025-02-19 18:29:31 +01:00
59122901ce make login link part of global navigation
this makes navigation uniform and the information architecture easier to
reason about
2025-02-19 15:43:45 +01:00
fc586273dc implement login URL as templatetag
this eases testing as it allows generating that URL inside a test
instead of scraping HTML output
2025-02-19 15:40:51 +01:00
647d89798e
replace nixos wiki link with official one 2025-02-18 21:29:08 +01:00
65782c65ba add debug toolbar 2025-02-18 18:25:37 +01:00
857e1b12f5 add more fresh-start instructions (#151)
Reviewed-on: Fediversity/Fediversity#151
Reviewed-by: kiara Grouwstra <kiara@procolix.eu>
2025-02-18 18:21:58 +01:00
6513150abd list goals, actors; add glossary (#132)
Reviewed-on: Fediversity/Fediversity#132
2025-02-18 17:56:31 +01:00
a3365eb508 more conventional naming for views and templates 2025-02-18 17:29:06 +01:00
73c9c884d7 redirect to current page after login/logout 2025-02-18 17:15:55 +01:00
6d0fdd0834
Bump nixpkgs 2025-02-18 16:44:06 +01:00
488fbcc131
Exit Forgejo LTS 2025-02-18 16:44:06 +01:00
ed4912800f Add page showing account info
Co-authored-by: lois <lois@procolix.eu>
Co-authored-by: Kiara Grouwstra <kiara.grouwstra@gmail.com>
2025-02-18 15:44:15 +01:00
d5632a795b Merge pull request 'Add login indicator' (#144) from lois/Fediversity:main into main
Reviewed-on: Fediversity/Fediversity#144
2025-02-18 13:48:28 +01:00
ffd6213549 Add login indicator 2025-02-18 11:01:09 +01:00
Kiara Grouwstra
ec4e802124
add .envrc files 2025-02-13 14:48:21 +01:00
f97dc7e121 fix settings and add dummy view
This introduces customisation to `settings.py` that
- allow controlling the relevant parameters from our systemd wrapper
  (more brittle and non-obvious than it should be, see TODOs)
- correctly configure SASS processing and static file compression
  (not as easy as it sounds)
2025-02-13 00:26:28 +01:00
7c33e8aaf3 scaffold Django web service
This setup is greatly inspired by the one used for [0], although with
notable modifications, such as:
- a SASS preprocessor and CSS compressor
- more streamlined NixOS integration tests
- cleaned up service configuration
- a few notes on how to do things better in the future

[0]: https://github.com/Nix-Security-WG/nix-security-tracker/

Apart from cloning the Nix setup, there were additional steps:
- Create an empty `src` directory, since the package requires it
- In the development shell, run `django-admin startproject panel src`

Note that while you can already do

```bash
manage migrate
manage runserver
```

the NixOS integration tests will fail, since `settings.py` needs
careful massaging to expose knobs that can be turned from our systemd
wrapper. The required changes are introduced in the next commit to make
them observable.

Noteworthy related work:

- https://github.com/sephii/django.nix

  Rather mature setup with a clean interface, uses Caddy as reverse proxy.

- https://git.dgnum.eu/mdebray/djangonix

  A work-in-progress attempt to capture more moving parts through the
  module system, in particular secrets.

- https://github.com/DavHau/django-nixos

  Out of date and somewhat simplistic, but serves as a reasonable
  example for what can be done

I chose the variant I'm intimately familiar with in order to be able to
pass on knowledge or help with maintenance. But for the future
I strongly recommend picking the good bits from the other
implementations that control complexity in static configuration parts
through Nix expressions.
2025-02-13 00:26:28 +01:00
3bbd6acf4f re-use global pins 2025-02-13 00:26:28 +01:00
84871c6ef9 docs: fix broken links 2025-02-10 15:05:21 +01:00
bac184c53d docs: fix broken link 2025-02-10 15:03:49 +01:00
1b8be1da27
keys: add contributor kiara (#97) 2025-02-04 12:54:10 +01:00
93e21f188a
Rekey secrets 2025-02-04 12:46:12 +01:00
0c56c89f74
Document adding a contributor 2025-02-04 12:45:47 +01:00
9f4e2a00b8
keys: add contributor kiara 2025-02-04 11:18:05 +01:00
12ab424a89
Rework infra to handle sharing options between resource and NixOS configuration (#96) 2025-02-03 10:06:59 +01:00
0e6c96a2be
Document the procolixVm options 2025-01-31 17:23:12 +01:00
4d00635e69
Move old procolix.vm options to new procolixVm ones 2025-01-31 17:15:12 +01:00
eaad4daa39
Cleaner resource definition 2025-01-31 16:57:21 +01:00
e0b4dd4d5b
Shorter name 2025-01-31 16:48:08 +01:00
54194cd494
Share options between resource and config 2025-01-31 16:47:33 +01:00
8cfc943297
Cleanup 2025-01-31 16:36:18 +01:00
ba97ed26d0
Get rid of useless self and providers arguments 2025-01-31 16:34:21 +01:00
564938e52d
Clean up handling of secrets in infra 2025-01-31 16:29:31 +01:00
8fa7bd4df5
Add a default deployment containing everything 2025-01-31 15:24:41 +01:00
9c85431a22
Move everything into common with better names 2025-01-31 15:22:28 +01:00
dedd70dc0e
Make vm*/default.nix resources 2025-01-31 15:19:55 +01:00
4f761bfc1f
Start building a procolixVm resource module 2025-01-31 15:08:47 +01:00