Commit graph

164 commits

Author SHA1 Message Date
stuebinm b07e4d08fa
Mattermost: Enable networking for the container.
Otherwise, the login via keycloak will fail, as mattermost cannot verify
the associated token. Since networking.nat only appears to work for ipv4
and I have no idea how to do it with ipv6, this unfortunately implies
downgrading the container's networking to ipv4 only ...
2021-03-17 23:00:44 +01:00
stuebinm f24da2510d
mattermost: change url to mattermost-beta.infra4future.de
I propose we deploy this sometime and see how it goes (as soon as someone
sets up DNS for this).
2021-03-17 23:00:44 +01:00
stuebinm a3a4264b38
Patch mattermost module to allow secrets outside the nix store
This adds a custom mattermost module (`services.mattermost-patched`) which is
identical to the one in nixpkgs except that it also has an option `secretConfig`,
which should point to a file containing all secret parts of the mattermost config
(e.g. mailserver password), and which is merged with the config genereated from
the module at startup time.

This allows us to have a (almost) immutable config without having secrets in the
nix store.

Before deploying this, add a secrets file at /var/lib/mattermost/screts.json
(on the host — there is a bind mount in place so we won't have to enter the
container each time to change something).
2021-03-17 23:00:44 +01:00
stuebinm 3be22b7249
init mattermost on hainich.
This is an initial test config for mattermost on NixOS; the intention is
to perhaps deploy this as soon as it looks reasonable, then have it running
as a "beta instance" in parallel with the current instance on libocedrus
for a while to see if any issues come up before we can make a permament
switch here.

The mattermost module has a somewhat weird approach to database configuration
(per default, it generates an entire postgres config, and if told not to
do that, it generates a /disabled/ postgrs config ...), which I have for
the most part worked around.

Mattermost provides extensive configuration options, which are usually changed
using its web UI. I have instead set the more important ones using Nix, and
made the config immutable --- however, the config of our current instance is
rather long and full of default values; it may well be that I missed some
important settings.

Open questions which we may want to answer before deploying this:
 - is there a reason why we use mysql for our current instance? At least
   during my tests, mattermost appears to work just fine with postgres
 - to access the noreply@infra4future.de mail address, mattermost needs
   a password, which --- as it looks right now --- must be set in the nix
   store. Can we work around that or should we fork / override the module?
 - plugins are apparently broken right now
 - locales are broken as well, for whatever reason — the german locale
   is definitively present, but setting it as the default will break and
   then reverted by mattermost on startup
 - for now, I have set `mutableConfig` to `false`, i.e. any changes done
   in the mattermost web UI will be overwritten on next startup. This is
   great for reproducability, but less so for ease of use (and perhaps for
   secrets as well) --- do we want to keep it this way?
 - as it is right now, using this instead of our current instance would
   represent a version DOWNGRADE (from 5.30.6. to 5.25.3); this may break
   the database schema. We may have to package a more recent version of
   mattermost and use that instead.

Things I was unable to test locally (in a nixos container):
 - authentication using "gitlab" / keycloak
 - mail notifications (including coredns forwarding)
 - more advanced stuff like notifications, anything to do
   with "true" multi-user interaction
2021-03-17 23:00:34 +01:00
stuebinm dbbdde76c7
mumble.hacc.space: move site from gitlab into nix derivation
Since the delivery of mumble.hacc.space/murmur.hacc.space via gitlab pages
broke (for whatever reason), I've packaged the site into an ad-hoc nix
derivation, which is now delivered locally by nginx instead. This has a
couple benefits (mainly that we no longer depend on gitlab pages), but
also the downside that we can't just update the site via gitlab's CI/CD
pipelines anymore.
2021-03-17 22:35:51 +01:00
schweby 32b5958279 security: remove hexchen mail 2021-03-13 00:27:53 +01:00
schweby bab826b1c7 security: remove hexchen 2021-03-12 23:53:51 +01:00
schweby db51a3adde common: set schweby's shell to fish 2021-03-12 12:28:26 +01:00
stuebinm faee8da700 nixda: bump version of obs to nixpkgs/unstable 2021-03-11 00:12:08 +01:00
schweby 2d4309fdf4 hainich: init workadventure 2021-03-11 00:11:51 +01:00
schweby d11ca2bb3e sources: update nix packages 2021-03-10 20:59:23 +01:00
hexchen b186473e68 sources: update nix-hexchen
lots of fancy new stuff, but most importantly: we no longer import all
of my user config, just the very base.

none of that fancy stuff is active right now, this should mostly be a
no-op unless we do the same restructure that i have just done in my
nixfiles here as well.
2021-03-10 20:58:31 +01:00
hexchen 6f2cc7bf7f hainich: remove obsolete nginx host 2021-03-09 10:10:03 +00:00
hexchen bc58060390 mail: update rinderhacc password and alias 2021-03-09 10:03:18 +00:00
hexchen 6b055167e3 sources: update nix-hexchen 2021-03-01 13:08:34 +00:00
schweby cd3efc616d updated nix packages 2021-02-24 21:42:02 +00:00
hexchen 16f05ceadf
ci: remove instantiate stage
instantiating takes a lot of time now (lots of dependencies), and the
gain of not starting a build if the instantiation fails is minimal.
2021-02-22 09:41:15 +00:00
stuebinm d7b70742fe remove old engelsystem config (NOP)
this removes the old (unused) config for an angel system used during the
fridays for future camp 2020. Since it was configured "by hand" and not
in a declarative manner, and since there is now an actual module
`services.engelsystem` that we already use for the divoc it seems unlikely
that we will ever need the old config again.

From Nix's point of view, this commit is equivalent to doing nothing.
2021-02-21 14:58:25 +01:00
Matthias Stübinger 3b42b89bd7 Hasenloch (Engelsystem for divoc)
Seems to work fine, except for the domain — the engelsystem tries
to load its ressources from the IP of the container instead of its
url set in the config.
2021-02-20 23:32:00 +01:00
schweby 1a8842457d restic: added mumur to backup 2021-02-20 21:56:05 +01:00
hexchen 233a4c7cab hainich: init restic backups 2021-02-15 07:23:23 +00:00
hexchen e42376687f hainich/syncthing: add hexchen's server 2021-02-13 19:56:15 +00:00
Schweby mit Hut be90dca334 hainich/syncthing: added raphael-laptop 2021-02-11 22:31:35 +01:00
Schweby mit Hut 442e320be5 hainich/syncthing: Updated id for schweby 2021-02-11 22:17:36 +01:00
hexchen c36eb51ff4 Revert 43d36bb3d7
This is a partial revert, reintroducing hexchen to the project.
As it turns out, I am still quite invested in the project and require
frequent access to the nix-based infrastructure.
2021-02-11 18:59:10 +00:00
schweby aca670d778 sources: updated sources 2021-02-10 22:53:55 +00:00
schweby 9d516c83ae sources: removed immae-nix 2021-02-10 23:48:18 +01:00
hexchen 0ea8daad24 hainich/gitlab-runner: Move registration token
Move it to /etc instead so that it's persisted across reboots
2021-02-10 22:40:03 +00:00
hexchen 0d362a17fc hainich/monitoring: init prometheus 2021-02-06 16:41:02 +00:00
Schweby mit Hut 323b4edf1c hainich/murmur,mumble: let the websites be fixed. 2021-02-03 23:33:08 +01:00
Matthias Stübinger 1ccc8b2b9c Fix mumble sites 2021-02-03 11:12:23 +01:00
schweby b384ff8b38 updated nixpkgs etc 2021-01-27 23:44:18 +01:00
Schweby mit Hut 4813284e82 syncthing 2021-01-27 23:27:59 +01:00
hexchen 4c9a200c83 sources: switch to upstream
this involves moving the blackmagic package and module from hexchen's
nixpkgs fork into this repo directly.
2021-01-27 22:06:56 +01:00
hexchen dad94d6e0d sources: update nixpkgs 2021-01-26 20:18:54 +00:00
hexchen 43d36bb3d7 remove hexchen from the project
I am no longer comfortable with putting resources into this project and
therefore request to be removed from all infrastructure. I am still
happy to help out with software I set up, but I will no longer actively
maintain any services. As far as possible, I will remove myself from all
access groups or other privileged positions related to this project.

Essentially, I'm stepping down as a maintainer. I still reserve the
right to make changes via the established change processes (Merge
Requests as well as Issues in the meta-repositories), but I will no
longer make direct changes to infrastructure without going through those
review processes.
2021-01-25 11:37:34 +00:00
hexchen 3f280ae6ba default: unclutter by using a recursive attrset 2021-01-22 19:26:05 +00:00
hexchen fe5a626891 readme: add golden commit rule
which i just broke but i guess this is an exception.
2021-01-20 18:47:57 +00:00
hexchen 1a383c5ca4 readme: remove old and add commit format 2021-01-20 18:45:21 +00:00
hexchen ee2a3ae0b8 hainich/murmur: fix proxy_pass 2021-01-20 18:38:50 +00:00
schweby 351303f060 made loge appropriate size 2021-01-17 23:37:20 +00:00
Schweby mit Hut c7894cd9d6 updated Logo 2021-01-17 23:31:01 +01:00
waldfunk danni 5006365684 Update lantifa.nix 2021-01-17 22:31:37 +01:00
hexchen 95da394e01 hainich/nat: add docker and container IPs
for some reason, masquerading by interface does not work atm, should fix
itself with a host reboot though.
2021-01-15 23:55:06 +00:00
hexchen 61db3bc33f modules/nftnat: init nftables nat module 2021-01-15 23:55:06 +00:00
hexchen c0efd41e74 nftables: import module and init config 2021-01-15 22:45:34 +00:00
hexchen d86418307f fixup!common: disable logs 2021-01-15 21:09:32 +00:00
hexchen 4e1430bfc7 common: disable nginx access log 2021-01-15 21:02:03 +00:00
octycs 57334cd690 lantifa: Attempt to configure short URLs (to fix VisualEditor)
Signed-off-by: hexchen <hexchen@lilwit.ch>
2021-01-15 10:56:13 +00:00
octycs 4964ac6817 Add DynamicPageList + PageForms extension
Signed-off-by: hexchen <hexchen@lilwit.ch>
2021-01-15 10:40:55 +00:00