b1812aaf52
acmedns(host): add to ansible_pull_hosts
2026-11-07 19:24:08 +01:00
a9d6bda678
update dooris configuration to allow connection to club-assistant
2026-11-07 12:20:09 +01:00
b34666c52f
Update docker.io/xenrox/ntfy-alertmanager Docker tag to v1.0.2
2026-11-06 02:16:48 +00:00
d60fb2f37f
Update quay.io/oauth2-proxy/oauth2-proxy Docker tag to v7.15.6
2026-11-05 20:16:20 +00:00
0e87b29e41
add remaining Chaosknoten hosts to alloy_hosts
2026-11-05 15:32:06 +01:00
44c1eaa76f
status: add hta to gatus monitoring
2026-11-05 09:25:06 +01:00
cc6790dff2
Merge branch 'main' of git.hamburg.ccc.de:CCCHH/ansible-infra
2026-11-05 09:08:03 +01:00
9174ed6152
hta: set proper django secret key
2026-11-05 09:08:01 +01:00
947d8fd0a0
ansible-pull(role): deploy failure notify service using the copy loop
...
Deploy the ansible-pull-failure-notify.service using the loop using
ansible.builtin.copy as it doesn't have any template logic.
2026-11-04 17:28:05 +01:00
a4a92448dc
ansible-pull(role): have failure notify deploy match other script deploy
...
Have the deployment of the ansible-pull-failure-notify script match the
deployment of the other helper scripts.
2026-11-04 17:28:05 +01:00
96a7eabbac
ansible-pull(role): move ansible-pull reboot logic to script as well
...
Do this to unify the way these helper scripts get deployed.
2026-11-04 17:28:05 +01:00
1157c98ff5
ansible-pull(role): make successful run timestamp exporter work
...
The successful run timestamp exporter didn't work, because the
ansible-pull user wouldn't necessarily have the necessary permissions
and because the command wouldn't properly work.
Move the timestamp export as well as the reboot to separate services,
which always run as root, to ensure these operations work and to have a
clean setup using systemd services.
Also move the successful run timestamp exporter to a custom script to
have it work properly.
2026-11-04 17:28:03 +01:00
f6f6cc4804
ansible-pull(role): export last successful run timestamp statistic
...
Using the node exporter textfile collector, expose the timestamp of the
last successful ansible-pull run.
2026-11-03 19:58:03 +01:00
52d3d8ecd9
alloy(role): enable node exporter textfile collector
...
Enable the node exporter textfile collector, which allows for collecting
custom statistics in a simple way.
https://github.com/prometheus/node_exporter#textfile-collector
2026-11-03 19:58:03 +01:00
94430cb43a
hta: Enable OIDC login
2026-11-03 00:23:15 +01:00
6a87ba0562
Add Hackertours Admin (hta) ( #182 )
...
The two images are built in https://git.hamburg.ccc.de/CCCHH/hackertours-admin
Reviewed-on: CCCHH/ansible-infra#182
Reviewed-by: chris <c6ristian+git-ccchh@christian.moe>
2026-11-02 18:51:09 +01:00
04f2b1d25c
Limit the size of logs more severly
...
The goal is to:
* limit the amount of (potentially) PII data by limiting retention time
* make sure the disk doesn't fill up with log data
* make it easier to look at logs on the system without having to wade through many old entries
2026-11-02 18:28:50 +01:00
04bb14c6f4
update matrix moderation guidelines based on infra-team discussion
2026-11-01 22:58:26 +01:00
c28d7706a3
autoremove apt packages after upgrades
2026-10-31 16:27:51 +01:00
8fb44f13ce
add dooris-pve
2026-10-30 00:39:38 +01:00
30ab1f2238
bump draupnir to 3.2.0
2026-10-29 19:45:34 +01:00
47d4da604a
ansible-lint: ignore more directories that aren't part of the repo
2026-10-29 15:50:53 +01:00
5c558950e4
Add log rotation
2026-10-29 15:50:04 +01:00
df4f065a30
Sync about every 2 minutes
2026-10-29 15:50:04 +01:00
1dc38a5de0
Add matrix-sync compose setup
2026-10-29 15:50:04 +01:00
13f47cce68
add static ip and dns for openwebrx
2026-10-27 23:22:30 +01:00
d7ef159455
add static ip and dns for crabsdr
2026-10-27 23:08:55 +01:00
e56e03176e
auth-dns(host): fix club-assistant acme cname
2026-10-22 16:54:08 +02:00
88887b3109
Update docker.io/library/nginx Docker tag to v1.31.8
2026-10-22 02:17:06 +00:00
f078b902b3
Re-enable ccchoir blog
2026-10-21 23:29:02 +02:00
39028a6557
dokuwiki(role): set php strict_mode and disable upload_progress
2026-10-21 18:02:13 +02:00
be76c3d792
wiki.ccchh.net is not longer in the dns
...
so we remove it from all other configs as well
2026-10-21 16:55:32 +02:00
311404a6be
dokuwiki(role): add support for Debian 13 & remove for 11
2026-10-21 16:33:55 +02:00
ec2be61327
Update docker.io/grafana/loki Docker tag to v3.7.9
2026-10-21 02:17:27 +00:00
56ecf7ff18
grafana: remove ccchh opnsense for scrape jobs
2026-10-20 20:52:10 +02:00
ce96105463
Make Jitsi JVB work correctly with IPv6
...
Since the Jitsi Docker Compose stack does not properly take IPv6 into consideration, patch the JVB config to add mappings from the private IPv6 address of the Docker network to the public IPv6 address.
This should be the source of the reported problems with conferences with 3+ people.
2026-10-20 15:34:05 +02:00
442231323c
disable ccchoir.de for now
2026-10-20 15:05:55 +02:00
c02b7e6f35
Merge branch 'main' into jitsi-docker-compose-role
2026-10-20 15:04:15 +02:00
9032e5b34a
also fix www.didays.de monitoring
2026-10-19 13:17:54 +02:00
7061ff8b14
fix didays.de monitoring
2026-10-19 13:11:43 +02:00
8e0bc6c406
fix onlyoffice monitoring
2026-10-16 17:49:13 +02:00
c970e5fb83
Update docker.io/library/nginx Docker tag to v1.31.7
2026-10-15 14:16:47 +00:00
c898a0ec0e
Merge branch 'main' into jitsi-docker-compose-role
2026-10-14 12:57:38 +02:00
743a7d609c
Update docker.io/onlyoffice/documentserver Docker tag to v10
2026-10-12 20:17:02 +00:00
42df2e4af1
revert 106a5cb97a
...
revert auth-dns: dooris has wrong ipv6 address
2026-10-11 00:01:24 +02:00
106a5cb97a
auth-dns: dooris has wrong ipv6 address
2026-10-10 23:58:31 +02:00
086eb9ff46
auth-dns: add ptouch-print-server to ccchh.net
2026-10-10 23:38:48 +02:00
54a4015bb0
Add matrix-sync
2026-10-08 14:27:27 +02:00
816c7497fa
Merge branch 'main' into jitsi-docker-compose-role
2026-10-08 11:12:38 +02:00
8bf5690275
Customize with our logos
2026-10-08 10:50:48 +02:00
610a1faca8
Allow UI customization
2026-10-08 10:50:23 +02:00
86e793c624
Use jitsi role to configure jitsi
...
The host has been manually cleaned up (removed old packages and config) and this config has been deployed already.
2026-10-08 10:24:38 +02:00
dbac5ede16
Add a role for Jitsi in Docker Compose
...
We need this role to follow the recommended deployment approach from https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-docker/
This role enables us to keep our config and customizations separate from releases of the Compose setup the Jitsi project publishs.
2026-10-08 10:23:17 +02:00
0f23f117a7
Update docker.io/pretix/standalone Docker tag to v2026.8
2026-10-04 14:16:17 +00:00
78ee1382d5
Confige sending mail with auth
2026-10-04 15:05:06 +02:00
d03264c256
set client_max_body_size to 100m on pad nginx
2026-10-02 16:21:07 +02:00
08d6f039ca
Update quay.io/oauth2-proxy/oauth2-proxy Docker tag to v7.15.5
2026-10-01 14:16:30 +00:00
e21c7dccec
Update git.hamburg.ccc.de/ccchh/oci-images/keycloak Docker tag to v26.7.5
2026-10-01 02:45:54 +00:00
5a18fbdb5a
status(host): add monitoring for www.didays.de (a redirect to didays.de)
2026-09-29 02:57:51 +02:00
6e9a75fa97
public-reverse-proxy(host): add config for www.didays.de
2026-09-29 02:57:51 +02:00
d9a13c7497
set new dooris' main lock to "Hauptraum"
2026-09-28 15:03:15 +02:00
d39ff1f861
fix *matrix: create room* guide link not being clickable
2026-09-27 18:20:49 +02:00
2ae7f86f6b
add c6ris age key backed via fido piv
2026-09-26 01:03:43 +02:00
b9cc68bda1
reduce renovate executions to twice every six hours
2026-09-26 00:51:51 +02:00
d0fe432d9e
Update quay.io/oauth2-proxy/oauth2-proxy Docker tag to v7.15.4
2026-09-25 12:05:35 +02:00
adf5ecdb54
Update mariadb Docker tag to v12.3.3
2026-09-25 00:16:55 +00:00
4ffb5c18a1
use jtbx SSH key instead of PGP key and use SOPS merge for admin keys
...
Use jtbx SSH key instead of his PGP key and re-organize .sops.yaml
around the SOPS merge feature to accommodate admin age/SSH keys.
2026-09-24 20:11:54 +02:00
e2277e0e9c
bypass pull request workflow for automatic patch updates
2026-09-22 22:10:44 +02:00
83b0ab0950
public-reverse-proxy(host): Increase nginx worker fd limit
...
By default the limit on file descriptors is at a 1024 hard limit and 520k hard limit.
Unsure how this affects nginx, but each client connection needs two file descriptors.
So let's try to set the limit of open files explicitly.
2026-09-22 16:05:05 +02:00
1901ca515d
Update git.hamburg.ccc.de/ccchh/oci-images/keycloak Docker tag to v26.7.4
2026-09-22 00:16:40 +00:00
049682bce2
host(draupnir): set backgroundDelayMS to have Draupnir act fast
...
Use a recommended low value for backgroundDelayMS to have Draupnir chain
consecutive backgrounded operations faster and therefore act faster.
2026-09-22 02:10:47 +02:00
81e5380a14
Update docker.io/library/nginx Docker tag to v1.31.6
2026-09-21 22:52:07 +02:00
acf0b57d97
Update docker.io/grafana/loki Docker tag to v3.7.8
2026-09-21 22:49:09 +02:00
fbddd28c71
public-reverse-proxy(host): Add bildungsurlaub.hamburg.ccc.de
2026-09-21 19:51:18 +02:00
a649455d92
auth-dns(host): Move bildungsurlaub.hamburg.ccc.de to public-web-static
2026-09-21 19:48:56 +02:00
547210d31f
auth-dns(host): Remove deleted www2 and www3 VMs
2026-09-21 19:44:51 +02:00
f1135b818f
z9-router(host): new keys for Junes WireGuard
2026-09-21 19:09:07 +02:00
ee810bfc16
update matrix moderation docs to reflect that we now have two ban lists
2026-09-18 17:45:48 +02:00
d422b9660a
docs: correct mjolnir -> draupnir
2026-09-16 13:39:42 +02:00
5925b22bf5
setup cccfr secondary DNS
2026-09-11 10:52:37 +02:00
4bdd36b8f7
update knot role to support more operational variety
...
Now secondary zones, dynamic zones, interpeted catalog zones, etc.
are supported by our knot role
2026-09-11 10:52:33 +02:00
1290063204
update our moderation policy room access policy
2026-09-08 15:44:10 +02:00
f2a6ae5de9
Update docker.io/xenrox/ntfy-alertmanager Docker tag to v1.0.1
2026-09-07 23:43:48 +02:00
e3635939f4
fix draupnir ban docs
2026-09-07 18:38:39 +02:00
f7c3e2146d
migrate mjolnir to draupnir
2026-09-06 14:40:45 +02:00
ddce7783db
add guide for common matrix moderation actions
2026-09-05 23:29:09 +02:00
8f07ad8ca4
add guide about matrix room creation
2026-09-05 23:29:09 +02:00
6a1caed856
add concept doc for matrix moderation
2026-09-05 23:29:09 +02:00
d20120d708
Migrate config renovate.json
2026-09-05 12:23:31 +02:00
bf04f2d163
Docs: Add dokuwiki upgrade guide
2026-09-04 21:13:58 +02:00
39d95a7b9f
except keycloak from grouped update PRs
...
keycloak is a critical service
separating keycloak updates makes it easier to respond quickly to
critical updates or delay them when there are breaking changes
2026-09-03 18:24:43 +02:00
247cb031f2
auto update patch versions
2026-09-03 18:24:43 +02:00
4540dc5516
Update to current version, open up fully again.
2026-08-25 19:04:44 +02:00
bd71738df3
Temporary block until we can update Keycloak
2026-08-25 18:41:40 +02:00
ae314ea9b3
Configure manual subscriber lists
2026-08-24 10:01:16 +02:00
a2eba1ac70
fixed IP for Retro Sun SparcStation 4
2026-08-21 23:34:10 +02:00
5ae8a3b186
Re-add IP for waybackproxy
2026-08-21 23:28:21 +02:00
6389a936c8
Merge branch 'main' of git.hamburg.ccc.de:CCCHH/ansible-infra
2026-08-18 19:27:56 +02:00
233131b612
Use correct hostname
2026-08-18 19:27:54 +02:00
a87c27b3d5
keycloak(host): allow right ipv4 of z9 router
2026-08-17 21:39:00 +02:00
e9a5b711ae
Start migrating config to Ansible
...
The real file still lives in /opt/mailman on the host for now, need to migrate whole config into Ansible.
2026-08-17 09:25:23 +02:00
548d761def
Migrate officemail away
2026-08-17 09:20:13 +02:00
53c1801eba
Change confirmation lifetime to 7d
2026-08-16 09:28:42 +02:00
e668c44273
Enable list subscription management for intern@
2026-08-16 09:01:57 +02:00
00524f7bab
base_config: only install kitty-terminfo, not kitty
2026-08-11 23:55:03 +02:00
379aa7c451
add configuration required for dooris -> spaceapid integration
2026-08-11 20:54:27 +02:00
73760a9995
fix ansible-lint warnings
2026-08-11 17:38:51 +02:00
39d8ff4ef8
update wireguard publicKey for lilly
2026-08-11 17:33:57 +02:00
938a913094
z9-router(host): add firewall rule chaosknoten to z9 pbs
2026-08-09 17:32:36 +02:00
6a402aa544
z9-router(host): fix dhcp6 config, wrong interface
2026-08-09 17:09:40 +02:00
35381d5bb9
z9-router and auth-dns(host): add static dhcp lease and dns entry for wled-eh22
2026-08-09 17:09:15 +02:00
f5d1c6deee
z9-router(host): add firewall rule staubis to club assistant
2026-08-07 23:50:57 +02:00
8f3cd75a46
Merge branch 'main' into renovate/docker.io-pretalx-standalone-2026.x
2026-08-07 23:47:09 +02:00
cf18c8e633
Merge branch 'main' into renovate/docker.io-pretix-standalone-2026.x
2026-08-07 23:44:45 +02:00
3ab9f83039
z9-router(host): fix nftables
2026-08-07 23:36:56 +02:00
d97c22cc8e
z9-router(host): fix dns
2026-08-07 23:36:37 +02:00
ebdafb997f
unbound(role): also over write fallback_dns in resolvd
2026-08-07 23:36:22 +02:00
22ace3c537
z9-router(host): fix file permissions
2026-08-07 23:13:44 +02:00
1ec54ad502
secrets(role): add parent folder settings
2026-08-07 23:10:54 +02:00
4fbac5cfe6
unbound(role): add config flag in README
2026-08-07 22:56:07 +02:00
5378c3f360
auth-dns(host): ccchh.net remove unused
2026-08-07 22:56:07 +02:00
51b2cac907
z9-router(host): remove netwan, vlan55 untagged, add and fix DNS, fix formatting
2026-08-07 22:56:07 +02:00
c45fb91f76
kea_dhcp(role): seperate package installes
2026-08-07 22:55:57 +02:00
47fbd96642
kea_dhcp(role): update README
2026-08-07 22:55:57 +02:00
897ee5fa43
kea_dhcp(role): remove unused
2026-08-07 22:55:57 +02:00
7eabd88e2c
unbound(role): update readme and move task block to top level and remove unused
2026-08-07 22:55:57 +02:00
82760d2bc2
light(host): remove resolver from nginx conf
2026-08-07 22:55:56 +02:00
c2130adbb5
auth-dns(host): remove unused unfi ipv6 and specify comments
2026-08-07 22:55:56 +02:00
14b54797ec
README.md: correct sentence
2026-08-07 22:55:56 +02:00
49f07b0872
z9-router(host): move yate from vlan 55 to 52
2026-08-07 22:55:56 +02:00
1452c85b9d
z9-router(host): change mac address of yate in dhcp
2026-08-07 22:55:56 +02:00
8043198569
z9-router(host): add dhcp and dns for dooris-legacy
2026-08-07 22:55:56 +02:00
ffb88164ee
z9-router(host): change vlan 54 to 55 and remove netwan move vlan 400 to netlan
2026-08-07 22:55:56 +02:00
b76fac2255
general: update gitignore
2026-08-07 22:55:55 +02:00
58ea3ef7a3
z9-router(host): update host kea config
...
- edit config to work with update kea role
- fix ipv6 addresses
2026-08-07 22:55:55 +02:00
32caa40f77
unbound(role): fix some unbound setup stuff
2026-08-07 22:55:55 +02:00
8d9cb0007c
kea_dhcp(role): update to newest fux noc version
2026-08-07 22:55:55 +02:00
6006dbca27
z9-router(host): nftables conf fix indent and allow dhcpv6
2026-08-07 22:55:55 +02:00
9271cbda97
unbound(role): fix systemd unit of prometheus exporter
2026-08-07 22:55:34 +02:00
4ec4c1f942
z9-router(host): fix systemd-networkd configs
2026-08-07 22:55:34 +02:00
83f654037a
unbound(role): fix unbound prometheus exporter install on debian
...
- download debian image from github und verify checksum
- setup systemd service unit
2026-08-07 22:55:33 +02:00
6b05c4b05a
unbound(role): fix unbound config template
...
- fix some indentation problems
- fix access control
- fix remote control unix socket and thrust anchor file (because debain
appamour ist annoying)
- add unbound-anchor package
2026-08-07 22:55:33 +02:00
db6ef3fcb2
kea_dhcp(role): fix include wars check
2026-08-07 22:55:33 +02:00
fa91690485
z9(pve01): change thinkcccore0 to pve01
2026-08-07 22:55:33 +02:00
04d24ccb6f
z9(group): remove all old ip references and change them to new ones
2026-08-07 22:55:33 +02:00
9e92a3c390
z9(group): remove all z9 references as subdomain
2026-08-07 22:55:33 +02:00
a0b0e8188f
unbound(role): move resolvd vars to task
2026-08-07 22:55:33 +02:00
5423558ab4
unbound(role): make unbound thread number configurable
2026-08-07 22:55:32 +02:00
bb141ddab3
unbound(role): reformat config template and use all vcpus
2026-08-07 22:55:32 +02:00
9a5dafb2bc
unbound(role): remove tags inside role
2026-08-07 22:55:32 +02:00
a4bb9a82d2
unbound(role): add FIXME note to unbound prometheus exporter install
2026-08-07 22:55:32 +02:00
1a0ac38861
unbound(role): use existing deploy_systemd_resolved_config role and some reordering
2026-08-07 22:55:32 +02:00
613e0528d7
kea_dhcp(role): make stork-agent.env smaller and add link to documentation
2026-08-07 22:55:32 +02:00
6734843e8a
kea_dhcp(role): fix indentation in template
2026-08-07 22:55:32 +02:00
c803b1fc67
kea_dhcp(role): add README.md
2026-08-07 22:55:31 +02:00
7440e8fd15
kea_dhcp(role): some fixes and removing arch part
...
- remove tags from tasks
- remove archlinux part
- use debian default package for kea
2026-08-07 22:55:31 +02:00
ebc6c8a9b8
z9-router(host): fix some spelling and a wireguard peer address
2026-08-07 22:55:31 +02:00
8351c28cd0
z9-router(host): add ansible pull
2026-08-07 22:55:31 +02:00
1dff022146
z9-router(host): rename rt1 to z9-router
2026-08-07 22:55:31 +02:00
010b8d1224
rt1(z9 host) unbound(role) kea_dhcp(role): create unbound and kea_dhcp role for rt1
...
- create unbound role
- create kea_dhcp role
- configure unbound and keadhcp on rt1(z9 host)
2026-08-07 22:55:31 +02:00
aeaa80d2c4
rt1(z9 host): create host and configure networkd and nftables
2026-08-07 22:55:31 +02:00
54b0d83451
Update docker.io/pretalx/standalone Docker tag to v2026
2026-08-04 21:31:22 +00:00
e32d3734e4
Update docker.io/pretix/standalone Docker tag to v2026.7
2026-08-04 21:31:00 +00:00
7f421b2409
Update to current version
2026-08-04 23:16:39 +02:00
6c4f2dc9b6
Update with correct prefixes
2026-08-04 18:44:51 +02:00
849f63cd1b
Activate sync
2026-08-04 09:13:50 +02:00
68289025d2
Merge branch 'main' of git.hamburg.ccc.de:CCCHH/ansible-infra
2026-08-03 08:58:31 +02:00
03ba0cf126
Use correct IP prefix in example
2026-08-03 08:58:29 +02:00
9a78164b7b
roles(dooris): remove blank line to make ansible-lint happy
2026-08-03 00:06:44 +02:00
9266123f42
Explain that you can use a default route
...
#133
2026-08-02 18:12:02 +02:00
24124e9f3d
Document wg setup
...
First step for #133
2026-08-02 18:09:29 +02:00
f749ed436c
Use fixed port range to allow for better fw rules
2026-08-02 17:25:30 +02:00
0377db2812
Use correct hostname for yate
2026-08-02 17:24:58 +02:00
5ecf70ade3
Activate old address for yate for now
2026-07-31 19:43:37 +02:00
6eafc47773
jitsi dazu
...
Erstmal nur der Host, die eigentliche Config muss später passieren
2026-07-29 22:52:13 +02:00
de8daaf56c
add dooris role for setup of dooris interaction on the node itself
2026-07-29 14:16:04 +02:00
699a2bcfff
specify that docker_compose role may not be included twice
...
Our docker compose role is configured via ansible variables in a way
that overwrites each other if it is activated twice with different
variable assignments (unless e.g. a role that just installs more
packages).
To prevent misuse of the role, the allow_duplicates key of the role
meta is set to false. This should make ansible complain if the role
is included twice for a single host.
2026-07-29 14:16:04 +02:00
685646c697
Set up Keycloak to Mailman sync for chaos@
...
DRY_RUN=true, so no changes to Mailman are performed yet.
2026-07-26 16:19:41 +02:00
647058f6ad
ccchoir: stick to major version and cronjob update
2026-07-26 13:21:41 +02:00
283bc80b41
Update wordpress image
2026-07-26 00:47:54 +02:00
70b1039f95
Upgrade Hedgdedoc to 1.11.1
...
Closes #130
Also add appropriate config for renovate to upgrade Hedgedoc.
2026-07-24 23:26:23 +02:00
374e8f981a
Update git.hamburg.ccc.de/ccchh/oci-images/nextcloud Docker tag to v34
2026-07-23 20:16:22 +00:00
4218b59d3b
fix: alloy role the suites for deb repo must be stable
2026-07-23 22:08:58 +02:00
900971ebe9
alloy(role): pull in alloy role that works from fux ( #112 )
...
Reviewed-on: CCCHH/ansible-infra#112
Reviewed-by: June <june@noreply.git.hamburg.ccc.de>
2026-07-23 20:34:02 +02:00
9a876e12a8
fix CNAME for club-assistant acme challenge
2026-07-23 14:33:19 +02:00
b3fe097421
re-enable club-assistant dns record
2026-07-22 21:44:03 +02:00
28a22e4476
pad: disable external link warning
...
closes #130
2026-07-22 00:04:05 +02:00
60a407a406
add prusa-mk4.ccchh.net DNS entry
2026-07-18 20:13:00 +02:00
2a576495da
separate multiple major release upgrades
2026-07-11 21:57:34 +02:00
580b5bdb1f
auth-dns(host): add acme cnames back
...
for:
- club-assistant
- light
- light-werkstatt
- dooris
2026-07-11 21:29:47 +02:00
14d2d002f7
Update docker.io/prom/prometheus Docker tag to v3.13.1
2026-07-10 09:15:50 +00:00
25bab80c58
status(host): add monitoring for didays.de and staging
2026-07-09 22:20:11 +02:00
56392b776a
public-reverse-proxy(host): add config for didays.de and staging
2026-07-09 22:20:11 +02:00
50cca22cfe
Update docker.io/binwiederhier/ntfy Docker tag to v2.26.0
2026-07-09 19:00:56 +00:00
1ae4a39f57
Update all stable non-major dependencies
2026-07-08 00:16:11 +00:00
a35326a065
transmission(role): running the handler should always report changed
...
Make ansible-lint happy by specifying that.
2026-07-08 00:59:02 +02:00
9ae16363c5
forgejo-runner-external(host): configure forgejo-runner setup
...
Configure connection for the DI-Day/website repo.
2026-07-08 00:42:50 +02:00
dd1cd6f529
forgejo-runner-external(host): basic setup
2026-07-08 00:20:02 +02:00
81b16a04cb
Explain why this is necessary
2026-07-05 10:40:29 +02:00
b9a5fa3ce5
forgejo-runner(host): configure some more labels for more images
...
Provide the ubuntu labels similar to the images running at Codeberg
using the catthehacker/ubuntu:act-* images.
See:
https://github.com/catthehacker/docker_images
https://codeberg.org/actions/meta
Also provide convenience labels for Alpine and Debian.
2026-07-03 03:42:18 +02:00
d44d84ae2a
forgejo-runner(host): configure forgejo-runner setup
2026-07-03 03:42:18 +02:00
0acc56b238
docker(role): document gVisor issue with user-def. br. and provide help
...
Document issue with containers on user-defined bridges and using the
gVisor runsc runtime. Also provide a helper resolv.conf as a workaround.
2026-07-03 03:42:18 +02:00
2e50226b94
docker(role): provide option to set up gVisor (runsc runtime)
2026-07-03 03:42:18 +02:00
7d7cf455eb
forgejo_runner(role): create role for setting up Forgejo Runner install
2026-07-03 03:42:18 +02:00
94120337aa
forgejo-runner(host): basic setup
2026-07-03 03:42:17 +02:00
dea6bfe68b
update keycloak to 26.6.3
2026-06-30 22:19:41 +02:00
cf98c9df30
configure dooris to write ssh public keys into file
2026-06-30 21:14:32 +02:00
8de361d223
add dooris.ccchh.net entries
2026-06-30 20:47:35 +02:00
75e574a80b
Merge branch 'main' of git.hamburg.ccc.de:CCCHH/ansible-infra
2026-06-28 17:02:07 +02:00
3e0fdb6074
Configure transmission
2026-06-28 17:02:05 +02:00
9b8da29cae
auth-dns(host): update ip of xr18 in ccchh.net
2026-06-28 14:24:28 +02:00
899dbea4dd
Fix redirect check, but this is wrong
...
Redirect checks should not repeat the content check for the target, but simply check that the redirect is going to the right URL.
2026-06-19 09:30:18 +02:00
1abea4ccec
Merge branch 'main' into use-canary
2026-06-19 09:10:49 +02:00
8b924c924f
Update actions/checkout action to v7
2026-06-18 15:15:51 +00:00
e5fa86468a
Encode domain in canary
2026-06-15 19:56:15 +02:00
05149f42fa
Use canary comment instead of actual content
...
Please only merge after CCCHH/ccchh-website#170
2026-06-15 19:14:42 +02:00
5f7b0c9449
Adjust to content change
2026-06-15 19:07:17 +02:00
75b7e80321
migrate uberwachungsfrei kundgebung to own domain
2026-06-11 14:40:09 +02:00
5973de0959
dns: validate zone files before apply in knot role
2026-06-10 16:17:58 +02:00
57d2a94990
dns: fix syntax error in diday.org zone
2026-06-10 16:17:23 +02:00
431aaefb36
dns: remove ns.vie.ccc.de from already migrated zones
2026-06-10 16:05:51 +02:00
6d922b7c8b
dns: also notify erfadns.ber.ccc.de for catalog zone changes
2026-06-10 13:12:00 +02:00
931afac7e0
add ueberwachungsfrei-kundgebung site
2026-06-09 21:42:49 +02:00
b283089b06
readd ns.vie.ccc.de to our zones because zones are not delegated yet
2026-06-09 21:27:33 +02:00
ec9275cf46
add ueberwachungsfrei-kundgebung.hamburg.ccc.de domain
2026-06-09 21:00:51 +02:00
389b87113b
auth-dns: update NS records of all zone files
...
The current set is auth-dns.hamburg.ccc.de in addition to the
newly created erfadns.ber.ccc.de
See https://zammad.hamburg.ccc.de/#ticket/zoom/1738 for details.
2026-06-09 11:00:02 +02:00
471012928a
auth-dns: configure nameserver secondary solely to erfadns.ber.ccc.de
2026-06-09 10:31:32 +02:00
04305a1124
keycloak: update to 26.6.0
2026-06-08 21:34:13 +02:00
5f94d7f284
remove ns-intern.hamburg.ccc.de from notify targets of our domains
2026-06-06 16:26:47 +02:00
66e0095070
add zone diday.org. to authoritative DNS
2026-06-06 16:25:18 +02:00
8ca5d82d39
knot: fix templating inconsistency in netplan config
2026-06-06 15:06:11 +02:00
3a09c107b9
knot: use explicit ansible_facts reference
2026-06-06 14:59:16 +02:00
fa6e280594
www2/www3(host): remove hosts as they got removed
2026-06-04 00:54:55 +02:00
7b48f1ebe7
status(host): fix auth-dns ccchh.net check by moving to new entry
...
Check entry for pve01 instead of no longer present entry for
club-assistant for the auth-dns ccchh.net check.
2026-06-04 00:39:07 +02:00
fa598c72fc
Add opensourcetorrents
2026-06-01 21:15:31 +02:00
a72accca20
Add documentation style outline ( #97 )
...
Reviewed-on: CCCHH/ansible-infra#97
Reviewed-by: lilly <lilly@noreply.git.hamburg.ccc.de>
2026-05-27 20:49:07 +02:00
7832978ff7
update ccchh.net dns zone after club proxmox migration
2026-05-24 11:55:37 +02:00
dd48a9d519
bring guide about new chaosknoten VMs into doc structure
2026-05-24 00:27:23 +02:00
0842a51ae0
Merge branch 'main' of git.hamburg.ccc.de:CCCHH/ansible-infra
2026-05-24 00:12:52 +02:00
603d3fb6f4
Update machine SMTP mail sending config
2026-05-24 00:12:50 +02:00
4574dbf4ba
secrets(role): introduce secrets role for storing secrets
...
Allows storage of secrets to then be referenced in other places.
The motivation was storing WireGuard secrets for systemd-networkd.
2026-05-23 22:40:17 +02:00
5ca311d240
add some documentation structure
2026-05-23 19:37:51 +02:00
51cd583dff
docs: move information on secrets and sops into docs
2026-05-20 22:54:32 +02:00
74fb99ec8f
docs: delete outdated section on web service setup from README
...
A better guide can be found in the new docs.
2026-05-20 20:09:28 +02:00
b91bc38d7b
docs: rework and split up docs on creating a new web service
...
- Split out the general information on how to set up a new VM on
Chaosknoten to have it be more generally useful.
- Also split out the section on monitoring to not have it intermingled
with the other information.
- Rework the guides to include more information and be more streamlined.
Also remove duplicate information along the way.
2026-05-20 20:06:57 +02:00
ec27b52820
cloud: bump nextcloud to 33 and postgres 15.18
2026-05-20 19:49:53 +02:00
411200884b
docs: overhaul SOPS documentation for better structure and readability
2026-05-20 18:57:21 +02:00
292c626629
add ns2.vie.ccc.de as dns secondary
2026-05-20 15:44:47 +02:00
0c83fcc2b2
sops: darios key expired, so remove for now
2026-05-20 04:09:28 +02:00
8428d5a66b
docs: use pymdownx.superfences to make codeblocks in lists work properly
2026-05-19 23:49:06 +02:00
fc47d119bb
docs: move guides into sub-directory
...
Also start documenting the docs structure in home.
2026-05-19 19:24:06 +02:00
197b9c297c
docs: fix code blocks overflowing and add syntax highlighting
...
Without these options code blocks would overflow. See:
https://github.com/asiffer/mkdocs-shadcn/issues/57
And it also provides nice syntax highlighting.
2026-05-19 18:33:03 +02:00
abcc144711
docs: add index page
2026-05-19 18:33:03 +02:00
31cc60c648
docs: add mkdocs config and CI for building infra-docs website
...
Heavily inspired by: https://forgejo.c3voc.de/voc/av-docs
2026-05-19 18:33:03 +02:00
a93d22fb05
add configuration for infra-docs and infra-docs staging
2026-05-19 18:33:03 +02:00
8a8ce7206d
add infrastructure-authorized-keys to lists host
2026-05-19 16:27:59 +02:00
dcd454011f
status(host): add checks for auth-dns
2026-05-19 14:27:54 +02:00
55d1279c3e
status(host): add check for diday.org
2026-05-19 14:17:07 +02:00
3541c68357
disable dnssec for catalog zones on auth-dns
...
Catalog zones are not real zones in the DNS hierarchy and don't
have a parent zone. Therefore they will never have a valid DNSSEC
delegation so we should skip signing those zones.
2026-05-19 11:01:52 +02:00
6bb09901a0
add ns.vie.ccc.de. as direct secondary for authoritative DNS zones
2026-05-19 11:00:03 +02:00
73e77bde70
tag plays in playbooks (instead of tasks in roles)
2026-05-19 00:24:10 +02:00
6b19f69135
renovate(role): add cleanup service and timer for renovate volume
...
With time the volume seems to just keeps growing with cache data, so
clean it up once a day.
2026-05-19 00:23:26 +02:00
b0347d64bf
remove configuration for deleted woodpecker host
2026-05-18 20:13:48 +02:00
1275d50bdf
dooris(host): use new dooris software
...
Also fix DNS record not properly working anymore.
2026-05-18 18:00:30 +02:00
1757c36605
Postorious needs REST API as well
2026-05-16 13:31:18 +02:00
a76f01aea7
Move secrets to SOPS, add REST_USER
2026-05-16 13:06:19 +02:00
cc5dfb3cf7
Update docker.io/grafana/grafana Docker tag to v13
2026-05-15 19:41:57 +02:00
83e6f76464
deploy_systemd_journal_config(role): Disable ForwardToSyslog
...
We don't want hour journalctl logs mirrored to /var/log/syslog
2026-05-15 19:25:44 +02:00
164f784957
remove errornously added irz42 reverse-dns secondaries
2026-05-15 14:50:15 +02:00
637dc6b25a
consider ansible-pull jobs failed after 30 minutes
2026-05-13 16:53:57 +02:00
18ffa42358
remove actually unused reverse-dns zones
2026-05-13 15:14:37 +02:00
d2f95237a0
add wieskes nameservers for reverse-dns zone transfers from auth-dns
2026-05-13 15:11:29 +02:00
e3ef60186f
grafana: set default alertmanager notifications
2026-05-09 21:34:08 +02:00
c9c44efa0b
auth-dns(host): remove entries for old and deprecated services
2026-05-09 19:16:34 +02:00
d76212c5a8
auth-dns(host): remove legacy "-intern" entries from hamburg.ccc.de zone
2026-05-09 18:27:54 +02:00
3c558003a9
auth-dns(host): format hamburg.ccc.de zone file
...
Format zone file as first step of a series of clean-ups.
2026-05-08 21:20:55 +02:00
595b19375a
replace primary NS in all zones except *.hamburg.ccc.de zones
2026-05-07 23:59:50 +02:00
bc4df9a3f4
fix ansible-lint warnings of knot role
2026-05-07 23:45:48 +02:00
50beedbc62
configure metric scraping from knot on auth-dns
2026-05-06 15:51:38 +02:00
291ebce943
router(host): configure public (v4) network
2026-05-06 14:43:05 +02:00
f7306b91a6
remove unused dns zones
2026-05-06 14:37:53 +02:00
021843b5ce
migrate reverse dns zones to new auth-dns server
2026-05-06 14:33:04 +02:00
5283d2da95
improve knot roles reloading behavior
...
With this change, the nameserver is not restarted on configuration
updates but only reloaded instead.
2026-05-06 14:33:04 +02:00
3aa146d723
nftables(role): reload instead of restart
...
This should make the role more robust against misconfigurations.
2026-05-06 14:19:38 +02:00
46b0a49eb8
migrate dns zone eh22.easterhegg.eu to new auth-dns server
2026-05-06 12:34:23 +02:00
d535607ae6
migrate dns zone eh20.easterhegg.eu. to new auth-dns server
2026-05-06 12:31:55 +02:00
04a6c685d1
migrate dns zone hamburg.ccc.de. to new auth-dns server
2026-05-06 12:17:51 +02:00
fa021fb737
migrate dns zone ccchh.net. to new auth-dns server
2026-05-06 12:12:54 +02:00
9100523045
remove obsolete auth-dns compose file
2026-05-06 11:59:51 +02:00
416ca85b11
rename auth_dns -> knot role
2026-05-06 11:52:33 +02:00
8c1553c707
fix role name auth-dns -> auth_dns
2026-05-06 11:47:10 +02:00
9ca4eb14e1
configure hh.ccc.de on auth-dns
2026-05-06 11:47:10 +02:00
c0a09cd299
add old zones from ns-intern
2026-05-06 11:47:10 +02:00
6fa2d65db2
enable auth-dns role to actually configure useful zones
2026-05-06 11:47:10 +02:00
becee70ab9
disable systemd-resolved on auth-dns
2026-05-06 11:47:10 +02:00
fa94d59df6
add barebones knot config
...
This configuration does not yet do much but it provisions a knot
server that runs.
2026-05-06 11:47:10 +02:00
adc3400177
mute ansible discovered interpreter warning
2026-05-06 11:44:41 +02:00
d880eb8677
fix systemd-resolved not being installed
...
closes CCCHH/ansible-infra#88
2026-05-03 16:50:45 +02:00
c304a1c82a
add README.md to deploy_systemd_resolved_config role
2026-05-02 01:01:23 +02:00
58ced1a85e
add capability to disable systemd-resolved to base_config role
2026-05-01 00:16:43 +02:00
d9fc1ef401
add host auth-dns.hamburg.ccc.de
2026-04-29 21:24:59 +02:00
69fcd2691e
clarify some docs
2026-04-29 21:24:50 +02:00
5d16c7781c
Revert "deploy alerta on grafana.hosts.hamburg.ccc.de"
...
This reverts commit b10d7d1592 .
2026-04-29 19:05:15 +02:00
b6cec3ad61
public-reverse-proxy(host): use new public-web-static hostname
...
public-web-static got moved to a new network and has a new hostname as
well as new addresses now, so use that.
2026-04-28 23:31:41 +02:00
d7811f249a
diday-staging-runner(host): deploy host runner for diday staging deploy
2026-04-28 20:12:27 +02:00
b10d7d1592
deploy alerta on grafana.hosts.hamburg.ccc.de
2026-04-24 19:05:08 +02:00
5242a14eed
Update to newest version
2026-04-24 17:42:51 +02:00
0330c6b6ca
reduce ansible grafana log verbosity by using loop_control labels
2026-04-24 15:32:43 +02:00
2c1f95df9a
add documentation about how one commits DNS zones on ns-intern
2026-04-24 15:31:54 +02:00
1715b4fc88
stb hat IPv6 zu Hause geändert
2026-04-23 12:24:25 +02:00
ec4dd36178
dooris(host): move to dns-01-acme-dns
2026-04-19 23:48:11 +02:00
26fbbc9035
sops: use fis new key
2026-04-19 00:36:37 +02:00
1d2d03e4b3
status(host): add monitoring for (www./staging.)c3dog.de
2026-04-11 20:53:57 +02:00
f4c9d203da
public-reverse-proxy(host): add config for staging.c3dog.de
2026-04-11 20:53:57 +02:00
abcd622757
light(host): move to dns-01-acme-dns
2026-04-11 04:34:24 +02:00
8630efeca6
keycloak(host): set specific Keycloak version as image also has it now
2026-04-05 01:02:37 +02:00
230da323dc
public-reverse-proxy(host): add config for docs.c3voc.de and staging
2026-04-04 15:39:33 +02:00
3f94a992fe
ntfy-alertmanager: edit msg when alert resolve's
2026-04-03 17:41:24 +02:00
28d154edcd
Update docker.io/xenrox/ntfy-alertmanager Docker tag to v1
2026-04-03 13:16:18 +00:00
7b03059440
public-reverse-proxy(host): add config for c3dog.de
2026-04-03 15:08:02 +02:00
aa28d30e8d
Update docker.io/library/redis Docker tag to v8
2026-04-02 09:30:51 +00:00
8945b86c85
tickets(host): update postgresql image from version 15 to 18
2026-04-02 11:24:42 +02:00
db8dfac07a
Update docker.io/pretix/standalone Docker tag to v2026
2026-04-01 23:47:03 +00:00
8e5b0083b3
fix docker compose services not coming up after reboot
...
Fix the issue by adding missing restart configuration to docker compose
deployments.
2026-04-02 01:16:08 +02:00
7a9929c66d
Version bump
2026-04-01 09:10:05 +02:00
0df667fc58
keycloak(host): update postgresql image from version 15 to 18
2026-04-01 02:19:13 +02:00
34958a0584
pad(host): update postgresql image from version 15 to 18
2026-04-01 01:51:22 +02:00
6bc872f1c0
pretalx(host): move to dns-01-acme-dns as http-01 failed for cfp.eh22
2026-03-31 17:51:06 +02:00
73ed238a28
sunders(host): move to dns-01-acme-dns
2026-03-31 16:59:02 +02:00
8bf6dfbefb
certbot(role): support DNS-01 certs using acme-dns
...
Introduce new configuration structure called certbot__certs, which
allows for different challenge types per cert with the first challenge
type supported being dns-01-acme-dns.
2026-03-31 16:48:00 +02:00
21f51ea2d7
z9(hosts): setup ansible-pull for all z9 hosts
2026-03-30 21:55:44 +02:00
66830eaf30
Update all stable non-major dependencies
2026-03-28 01:01:38 +00:00
904c50c17c
fux alert: set for to 2min
2026-03-10 21:45:52 +01:00
242746bcbd
alerts-fux: add alert for blackbox exporter probes
2026-03-09 21:14:26 +01:00
e961886972
pad(host): set session secret, so users won't be logged out on restart
...
Closes #74
2026-03-09 21:09:08 +01:00
c246a6815c
ansible-lint: fix issues
2026-03-06 21:27:51 +01:00
9b092d0daf
Update all stable non-major dependencies
2026-03-06 20:16:48 +00:00
2b5f261cd3
docker(role): move automatic cleanup of unused Docker data here
...
Move the automatic cleanup of unused Docker data to the docker role from
the docker_compose role, so that hosts, which only use Docker (like
renovate) also have an automatic cleanup set up.
Also use a systemd timer instead of cron.
2026-03-06 21:09:47 +01:00
0788fde69d
only allow sops encryption of *.sops.* files
2026-03-06 20:21:33 +01:00
f345ff5e00
renovate: make exclusion of CalVer non-patch/-minor upgrades work
...
Pretix and Pretalx both use CalVer, so we don't want to have upgrades to
their second number be identified as minor updates and get grouped with
all the other minor and patch updates.
The regex to re-classify the second number as major doesn't work.
Probably because of:
"Important: all capture groups must contain only purely numeric values."
(https://docs.renovatebot.com/modules/versioning/regex/ )
So instead match on the minor update type for Pretix and Pretalx and set
the group name to null.
2026-03-06 19:53:24 +01:00
e98f6d68bd
Revert "wip: test renovate"
...
This reverts commit 05d8c39b75 .
Doesn't work.
2026-03-06 19:15:55 +01:00
4f3caaf5ed
add bitwhisker to sops
2026-03-05 20:18:53 +01:00
05d8c39b75
wip: test renovate
2026-03-05 15:26:51 +01:00
fee18bd349
certbot(role): allow empty list of certificate domains
...
Also explicitly document that they are used with the HTTP-01 challenge.
This is in preparation for adding a new option with DNS-01 challenge
support.
2026-03-05 14:37:17 +01:00
3820a97584
certbot(role): move arguments documentation into README
...
Do this to match how it's done in newer roles.
2026-03-05 14:37:17 +01:00
0331c77d55
grafana: fuxnoc macht mehr internet mit ipv6
2026-03-01 21:32:10 +01:00
711f2f1c64
certbot(role): don't use certbot__version_spec anymore as its not used
2026-03-01 20:08:49 +01:00
165487884c
setup reverse-proxying for *.staging.diday.org
2026-02-27 21:51:09 +01:00
bc9e76b8ed
remove did.hamburg.ccc.de from public-reverse-proxy
2026-02-27 21:51:09 +01:00
983584a510
configure reverse proxy map explicitly for hostnames
2026-02-27 21:51:09 +01:00
7ca446457a
onlyoffice: support custom fonts and add di.day fonts
2026-02-26 23:13:30 +01:00
fcc0d615a7
configure diday.org on public-reverse-proxy
2026-02-26 18:01:52 +01:00
41dc9c8529
configure www2 nginx
2026-02-26 17:44:24 +01:00
3e3cedd357
add www2 and www3 hosts
2026-02-24 19:09:20 +01:00
ac013ca8a1
Fix template syntax
2026-02-22 18:37:16 +01:00
08101ccef1
Fix permission
2026-02-22 18:37:01 +01:00
7a1ea7d40e
Override base.html template to brand site
2026-02-22 18:22:12 +01:00
d26fbf2577
Allow syncing an arbitrary set of files to the target
2026-02-22 18:21:47 +01:00
a3c514d18d
Ignore pycaches
2026-02-22 18:21:15 +01:00
bb06f21c53
configure diday website deployment
2026-02-18 11:57:21 +01:00
e823c46a2d
stb updated key
2026-02-18 09:51:25 +01:00
910655adfb
Explain how to update GPG keys
2026-02-18 09:34:27 +01:00
5f31392a27
Remove authoritative-dns as its not needed anymore
2026-02-11 10:38:04 +01:00
fe647da3bf
mjolnir: deploy mjolnir using docker compose
...
Moving from mjolnir from nix-infra to ansible-infra.
Also using native encryption now instead of the deprecated pantalaimon
and having protectAllJoinedRooms set to true for easier and quicker
usage.
2026-02-11 03:10:43 +01:00
db70d666d1
vscode settings: exclude vendored collections and roles from search
2026-02-09 19:53:27 +01:00
7b8dab07b6
distribution_check(role): remove role as it's not really needed
...
As the roles are used internally only anyway, we don't need to specify
compatbilities like this and don't properly use it anyway.
2026-02-09 17:49:49 +01:00
2f67cb875d
status(host): rotate age key
2026-02-09 17:43:25 +01:00
2350710177
Use new entry after acmedns db reset
2026-02-08 18:38:37 +01:00
3086c2b60c
Use new name for sqlite driver
2026-02-08 14:19:02 +01:00
196f1d70cf
downgrade acme-dns to v1.0
2026-02-08 11:37:14 +01:00
f6c15773e1
ansible-lint: add collections and roles directories to excluded paths
2026-02-06 22:27:18 +01:00
2aed20393f
Vendor Galaxy Roles and Collections
2026-02-06 22:07:16 +01:00
c1e1897cda
grafana: more alertmanager config
2026-02-06 17:17:26 +01:00
17ba7c04f2
acmdns(host): expose and monitor health endpoint
2026-02-01 23:14:15 +01:00
536eedeffc
status(host): add monitoring for ACME DNS
2026-02-01 22:44:42 +01:00
397285655b
status(host): add monitoring for spaceapi.ccc.de
2026-02-01 21:38:57 +01:00
8e75f1ad14
status(host): add monitoring for cpu.ccc.de and aliases
2026-02-01 21:30:40 +01:00
c3b20abab3
status(host): use custom alert for Matrix to make it work with PAT
...
The Personal Access Token we use isn't compatible with the default
Matrix alerting provider, so use a custom alert.
2026-02-01 20:49:33 +01:00
9c2fe5ea9b
public-reverse-proxy(host): remove cpuccc.hamburg.ccc.de alias
2026-01-28 15:32:29 +01:00
06ae220857
Remove spaceapiccc.hamburg.ccc.de
2026-01-27 22:35:28 +01:00
1f2a08cf15
Spell stuff correctly
2026-01-27 20:16:57 +01:00
2e5b0ab940
nginx(role): to not log IPs, just disable the access log
2026-01-27 18:18:17 +01:00
3bba747dab
Configure seperate server for spaceapi.ccc.de
2026-01-27 16:30:00 +01:00
b90a57ffb0
Merge branch 'main' of git.hamburg.ccc.de:CCCHH/ansible-infra
2026-01-27 16:21:20 +01:00
ad783e4a15
now in production
2026-01-27 16:21:18 +01:00
200e8019ed
public-reverse-proxy: add config for local/lokal.ccc.de
...
local/lokal.ccc.de points to cpu.ccc.de.
2026-01-27 15:49:38 +01:00
4f0c4bb276
Explain need to re-encrypt after adding a host
2026-01-27 09:47:01 +01:00
3abc375984
Re-encrypt for spaceapiccc
2026-01-27 09:46:47 +01:00
c8edde4d11
Pretty up
2026-01-26 00:20:27 +01:00
ca20721f04
add missing grafana.grafana collection dependency
2026-01-25 23:55:57 +01:00
42b23eb181
get collections from repos directly instead of using Ansible Galaxy
...
As Ansible Galaxy is currently down, switch to using the repos directly.
This avoids reliancy on Ansible Galaxy in the future as well.
2026-01-25 23:55:48 +01:00
0f3cd2c70a
amcedns to enable Let's Encrypt DNS-01 challenges
2026-01-25 22:41:42 +01:00
c33ae36af3
Enable IPv6 by default
2026-01-25 22:40:36 +01:00
2cd0811b29
Fix warning
2026-01-25 22:40:36 +01:00
6a92aa68c1
light: fix tls cert expiring and not renewing
2026-01-25 22:36:30 +01:00
5693989c38
add alloy to the z9 hosts and some cleanup
2026-01-25 21:44:49 +01:00
c7d51af5b4
rollout Alloy to replace prometheus_node_exporter
...
With the new network we need to deploy a push based solution in order to get metrics into prometheus
2026-01-25 21:44:49 +01:00
995dbb06e2
wip: alloy
2026-01-25 21:44:49 +01:00
11779ab21d
grafana: get alertmanager to be more chill
...
a bit of help to deal with alert fatigue
2026-01-25 21:41:20 +01:00
8f7990acc0
docs: add ansible_pull_hosts to the desired minimum roles/groups
2026-01-25 21:17:28 +01:00
c6c0272448
docs: add section on conf. monitoring with Gatus (status.hamburg.ccc.de)
2026-01-25 21:16:38 +01:00
1523b15952
docs: improve formatting and wording a bit to make things clearer
2026-01-25 21:11:07 +01:00
a5d291cea8
spaceapiccc(host): setup ansible-pull
2026-01-25 20:58:57 +01:00
652aa32e21
docker_compose(role): document new build and pull arguments
2026-01-25 20:49:39 +01:00
0939771d08
public-reverse-proxy(host): add entries for cpu.ccc.de
2026-01-25 20:22:44 +01:00
c285694aaa
Add age private key
2026-01-25 15:47:41 +01:00
d35f1cc779
GPG must be installed for the docker role to be able to add the repo
2026-01-25 15:31:42 +01:00
cee1fe970a
Add spaceapiccc as a replacement for erfafoo
2026-01-25 14:03:54 +01:00
0c782caee7
Explain what all needs to be added for a new host
2026-01-25 14:03:34 +01:00
f887de25c5
make building and pulling configurable
2026-01-25 13:26:20 +01:00
664b9115b8
Fix warning
2026-01-25 13:01:52 +01:00
b492472179
Explain how to add age key for ansible pull
2026-01-25 12:12:30 +01:00
ddaa069204
status(host): configure Gatus to store more results and events
...
Also see:
https://github.com/TwiN/gatus?tab=readme-ov-file#storage
2026-01-18 21:39:23 +01:00
28f80a85f3
status(host): Switch to nekover.se user for personal token
...
As access token now apparently expire with matrix authentication services,
use a nekover.se user where we can get a long-lived personal token.
2026-01-18 19:49:59 +01:00
d514688574
systemd_networkd(role),router(host): support global config to fix forw.
...
With the router upgrade to Debian 13 the systemd version got upgraded as
well breaking the current configuration for IP forwarding.
Add a variable for global systemd-networkd configuration and use that to
enable IPv4 and IPv6 forwarding on the router.
The systemd_networkd role could be a bit nicer, not deploying/deleting
the global configuration, if the variable is empty and
reloading/restarting systemd-networkd at appropriate times. But as is
works for now.
2026-01-18 19:21:33 +01:00
d7b463ecb9
status(host): fix token not working by using a new one
2026-01-18 04:54:31 +01:00
0b6847493c
Update actions/checkout action to v6
2026-01-18 03:30:42 +00:00
744dc00ae5
Update https://github.com/ansible/ansible-lint action to v26
2026-01-18 03:01:35 +00:00
fe52127e82
status(host): configure external status page and uptime monitoring host
2026-01-18 01:26:52 +01:00
51bbdd42a2
dooris(host): make certbot work
2026-01-13 16:55:22 +01:00
428b5c70bc
pretalx(host): roll back to pretalx v2025.1.0 for celery as well
2026-01-13 14:19:57 +01:00
92601ab9ea
renovate: add package rule for pretalx reclassifying major updates
...
So that v2025.1.0 to v2025.2.2 counts as a major, not a minor, update.
2026-01-13 03:48:34 +01:00
3e0fdfa8de
pretalx(host): roll back to pretalx v2025.1.0 as v2025.2.2 doesn't work
2026-01-13 03:43:28 +01:00
951ec7ebcd
netbox(role): fix oidc integration by no longer using is_staff
...
is_staff got removed in 4.5.0.
See: https://github.com/netbox-community/netbox/releases/tag/v4.5.0
2026-01-13 02:25:06 +01:00
a92e144cfc
base_config(role): ensure base set of admin tools is installed
...
See:
https://git.hamburg.ccc.de/CCCHH/nix-infra/src/branch/main/config/common/admin-environment.nix
2026-01-13 00:41:06 +01:00
c638790819
Update all stable non-major dependencies
2026-01-12 02:30:47 +00:00
70461c98ba
first run ansible_pull for router, then for all other hosts
...
Do this to avoid a restarting router affecting playbook runs on other
hosts.
2026-01-12 03:29:06 +01:00
968e29ccb8
do v6-only for internal proxy protocol communication
...
Since we want to do v6-only internally, only listen on v6 for proxy
protocol.
This is also needed as we only have set_real_ip_from pointing to a v6.
2026-01-12 03:02:09 +01:00
255327952e
ntfy(host): move to new network and hostname
2026-01-11 03:57:11 +01:00
1971598e71
pretalx(host): move to new network and hostname
2026-01-11 03:23:18 +01:00
372f264bcb
ccchoir(host): move to new network and hostname
2026-01-11 03:23:14 +01:00
2fbb37db18
grafana(host): move to new network and hostname
2026-01-11 03:23:01 +01:00
bb30e88404
router(host): allowlist only certain icmpv6 types
2026-01-11 00:29:16 +01:00
a41b07949c
zammad(host): move to new network and hostname
2026-01-11 00:22:37 +01:00
ff550cbd8a
tickets(host): move to new network and hostname
2026-01-11 00:00:18 +01:00
49e3ecb986
netbox(host): move to new network and hostname
2026-01-09 03:05:29 +01:00
a622f21b54
renovate(host): move to new network and hostname
2026-01-07 18:46:27 +01:00
40b67c6bc3
sunders(host): move to new network and hostname
2026-01-07 18:46:16 +01:00
fbd3ea5496
base_config: disable cloud-init ssh module to avoid hostkey regeneration
...
It should run once on first boot anyway and since it apparently runs for
every change in the Proxmox cloud init config, disable it, so it
doesn't, since it's annoying to have "random" hostkey changes.
2026-01-07 18:09:48 +01:00
80ddb2efc9
router: enable a DHCP server for the v4-NAT network as well
...
As the hosts don't really need a static v4, just do DHCP.
2026-01-07 17:25:27 +01:00
a328e92971
Should be compatible with trixie/13
2026-01-03 14:03:26 +01:00
25db54b8ad
Make sure pip is installed
2026-01-03 14:02:56 +01:00
944c8cde82
onlyoffice(host): move to new network and hostname
2025-12-17 03:34:39 +01:00
366456eff8
keycloak(host): move to new network and hostname
...
Also just listen on port 8443 for keycloak-admin proxy protocol.
2025-12-16 21:50:40 +01:00
1ca71a053e
pad(host): move to new network and hostname
2025-12-16 21:12:21 +01:00
b9add5bda3
cloud(host): set correct new proxy protocol reverse proxy ip
2025-12-16 20:59:15 +01:00
570600fce3
eh22-wiki(host): move to new network and hostname
2025-12-16 20:58:05 +01:00
5a476f2103
cloud(host): move to new network and hostname
2025-12-16 20:47:44 +01:00
b72dee0d6d
wiki(host): actually have nginx listen on v6
2025-12-16 19:52:24 +01:00
8b94a49f5e
wiki(host): move to new network and internal hostname
2025-12-16 19:23:33 +01:00
5f98dca56c
router(host): expose public v6 networks
...
Also prepare for exposing public v4 networks later.
2025-12-16 19:03:36 +01:00
66ee44366b
public-reverse-proxy: New IP of wiki VM
2025-12-14 15:39:03 +01:00
183b91b9f2
router(host): add nftables config for basic router functionality
2025-12-13 22:07:38 +01:00
d0618e3820
nftables(role): introduce role for deploying nftables
2025-12-13 22:07:37 +01:00
a9e394da06
router(host): add systemd-networkd-based network config
2025-12-13 22:07:37 +01:00
d6ba70523c
systemd_networkd(role): introd. role for deploy. systemd-networkd config
2025-12-13 22:07:35 +01:00
766aa125c4
router(host): introduce router
2025-12-13 22:07:07 +01:00
c39cb0e390
we dont need to set a specific alloy version
2025-12-06 22:11:53 +01:00
df3710f019
grafana: set alloy to version v1.11.3
...
1.12.0 is buggy
2025-12-02 22:55:29 +01:00
0eaaf9227c
Update all stable non-major dependencies
2025-11-19 13:30:39 +00:00
ddab157600
don't pin digests anymore
...
The benefit of digest pinning isn't that great for this project really
and it comes at the cost of more issues and additional renovate noise,
so just don't anymore.
Adjust renovate config accordingly as well.
2025-11-18 14:24:21 +01:00
80acd5fdc6
grafana: store date for up to 28 days
2025-11-11 23:03:59 +01:00
5f6000adca
ssh_config: also enable sntrup761x25519-sha512 for Debain 13
...
tldr: PQC algorithms are complex but sntrup still is not brocken
2025-11-11 22:47:42 +01:00
6fea98ffd2
Redirect to 39c3 instead of eh22
2025-11-07 20:09:02 +01:00
63917722ff
fix foobazdmx role
...
poetry is available via apt now so we install it that way
2025-11-06 21:19:20 +01:00
aeec08fce8
remove distribution checks
...
Signed-Off-By: june
2025-11-06 21:16:42 +01:00
cffe5c2b16
dooris: use hostname instead of IP
2025-11-06 18:25:29 +01:00
d690f81e3d
deploy_ssh_server_config: setup ssh pq cryptography
2025-11-05 23:08:28 +01:00
ae60d6fea6
docker_compose(role): use community.docker.docker_compose_v2 module
...
Use the community.docker.docker_compose_v2 module as it supports proper
changed handling out of the box, making the roles code more
straightforward and work. Also just do a docker compose restart instead
of having the custom docker compose reload script.
https://docs.ansible.com/ansible/latest/collections/community/docker/docker_compose_v2_module.html
2025-11-02 23:13:20 +01:00
9f8d2d89cd
docker_compose(role): move argument documentation to README
...
Do this to match newer roles and since reading documentation from
argument_specs is quite unergonomic.
2025-11-02 22:32:20 +01:00
e390b7c202
docker_compose(role): remove unnecessary hosts section from README
...
The hosts section isn't really relevant for that role, so remove it.
2025-11-02 22:32:20 +01:00
8cefd07618
docker_compose(role): remove distribution check
...
The distribution check isn't really needed in our setup anyway and just
adds unnecessary noise.
2025-11-02 22:32:20 +01:00
c3f71b1f08
sunders: replace password in healthcheck with dynamic secret
...
CCCHH/ansible-infra#55
Co-authored-by: ViMaSter <vincent@mahn.ke>
Co-committed-by: ViMaSter <vincent@mahn.ke>
2025-11-02 20:24:55 +01:00
dc6c7cbfb7
sunders(host): deploy sunders using docker compose
...
https://git.hamburg.ccc.de/CCCHH/sunders
2025-11-01 17:53:08 +01:00
a11ccaf16c
disable digest pinning for our images, since Forgejo cleans them up
...
Since Forgejo seems to clean up older tag versions, so older digests,
disable digest pinning for our images.
While generally resulting in undeployable config, with ansible-pull the
breakage is especially noticeable.
2025-10-30 05:50:42 +01:00
0f4fb68c97
netbox(role): don't try to deploy removed housekeeping service and timer
...
https://github.com/netbox-community/netbox/releases/tag/v4.4.0
https://github.com/netbox-community/netbox/issues/18349
2025-10-30 05:25:26 +01:00
ea5b4b8d69
Update dependency netbox to v4.4.5
2025-10-30 04:17:13 +00:00
23ea666906
renovate(role): always pull and use full image source
...
Ensure we're always running the latest Renovate version.
2025-10-30 05:13:23 +01:00
f7918e7b6f
add renovate comment for custom regex matcher to inventory version vars
2025-10-30 05:01:02 +01:00
83fd868977
docker(role): use full image sources
2025-10-30 04:49:44 +01:00
a979fccd12
renovate: add custom regex manager for inventory vars dependencies
...
Inspiration taken from/documentation:
https://docs.renovatebot.com/presets-customManagers/#custommanagersdockerfileversions
https://docs.renovatebot.com/modules/manager/regex/
2025-10-30 04:47:10 +01:00
a03ed9a362
Update all stable non-major dependencies
2025-10-29 23:45:38 +00:00
01890fecbd
Update all digest updates
2025-10-29 00:30:36 +00:00
df32e1cac8
zammad(host): move to latest upstream compose file version (v14.1.1)
...
It hopefully fixes bugs we had in the past, so removing the workarounds
and it also comes with default values now, so removing all variables set
to those defaults.
2025-10-24 22:57:03 +02:00
747e5b2d4c
zammad(host): change to .env configuration
...
Align the compose.yaml to upstreams v11.2.0 version.
This is a first step to hopefully then just use the upstreams version
directly and not vendor it.
2025-10-24 22:15:48 +02:00
3840553f9d
docker_compose(role): add support for deploying optional .env file
...
This is needed for situations, where one wants to use a vendor-provided
compose file and configure it using environment variables.
Like for example:
https://github.com/zammad/zammad-docker-compose
2025-10-24 22:05:54 +02:00
839a9b2c0a
renovate: group all digest updates together
...
https://docs.renovatebot.com/presets-group/#groupalldigest
2025-10-24 19:59:35 +02:00
37cedb1ad0
renovate: label all PRs with the "renovate" label
2025-10-24 19:28:49 +02:00
658a50d19b
renovate: use rebase stale PRs preset to rebase once base branch updated
...
Use this configuration to always have the fast-forward option.
https://docs.renovatebot.com/presets-default/#rebasestaleprs
2025-10-24 19:18:04 +02:00
b2961c5664
renovate: disable rate-limiting
2025-10-24 18:59:58 +02:00
a13d23c7ea
Update actions/checkout action to v5
2025-10-23 13:45:41 +00:00
2f8897751b
Pin dependencies
2025-10-23 12:15:38 +00:00
a60946b3b8
Update https://github.com/ansible/ansible-lint action to v25
2025-10-22 21:50:08 +00:00
8f612d1d9c
renovate: add persistent volume for base (and therefore cache) dir
2025-10-22 19:42:20 +02:00
d0d517d97d
renovate: add custom package rule for pretix calendar versioning
...
Add custom package rule accounting for pretix calendar versioning to not
have Renovate classify month updates as minor version updates, but major
version updates instead.
2025-10-22 16:42:02 +02:00
78a6be6f5d
renovate: disable semantic commits
2025-10-22 00:47:05 +02:00
43fac32424
use full image source and set version for all Chaosknoten compose images
...
Use a full image source and set and explicit version for all images in
Chaosknoten (docker-)compose files.
With Renovate now set up, it is feasible to explicitly set versions.
2025-10-21 23:59:56 +02:00
282e82728b
renovate: match file compose jinja2 templates (.j2) as well
2025-10-21 23:12:34 +02:00
f842723e9a
remove daily schedule for Renovate (for now?)
2025-10-21 23:03:02 +02:00
7de516dc43
introduce first Renovate configuration
...
Introduce pretty basic first Renovate configuration with a package rule
for grouping all stable non-major dependency updates together.
2025-10-21 02:37:10 +02:00
94e1920388
setup ansible-pull for all Chaosknoten hosts
...
Additionally setup ansible-pull for: ccchoir, tickets, keycloak, lists,
mumble, pad, public-reverse-proxy, zammad, ntfy
2025-10-20 21:25:56 +02:00
f3902b43b1
update keycloak and nextcloud
2025-10-20 21:11:28 +02:00
425d302fa9
zammad(host): fix compose by using different elasticsearch image
...
Also execute manual update steps as outlined here:
https://github.com/zammad/zammad-docker-compose/releases/tag/v14.0.0
Note that this is updating only a part of the compose file and other
parts still are out-of-date and should be updated (like the Postgres).
2025-10-20 01:36:00 +02:00
b46747d251
deploy_ssh_server_config(role): add Debian 13 sshd_config reference
2025-10-17 21:27:29 +02:00
2aa55770d9
renovate(host): update keys adding renovate for group_vars/all.sops.yaml
2025-10-17 16:05:04 +02:00
8a8fdf5f97
renovate(host): set platform to forgejo
2025-10-17 01:26:18 +02:00
cad2f036e5
renovate(host): replace non-working GitHub token with working one
...
Replace the token with one created from a new CCCHH GitHub service
account.
2025-10-17 01:18:17 +02:00
4b1c64b615
renovate(host): remove deprecated and no longer working logLevel option
...
Remove deprecated and no longer working logLevel config option. Debug
output can be enabled by using the LOG_LEVEL environment variable on
demand.
2025-10-16 18:08:29 +02:00
e76c66d74c
renovate(host): set up Renovate using role and exisiting config
...
Set up Renovate using role and existing config from current
Forgejo/GitHub Actions-based deployment.
2025-10-16 17:52:30 +02:00
a32998d8da
renovate(host): initialize renovate host
2025-10-16 17:44:23 +02:00
8388657d33
renovate(role): introduce first basic Renovate role
...
Sets up Renovate using Docker and systemd service and timer to run
regularly.
Also add accompanying host group and playbook play.
2025-10-16 17:42:13 +02:00
dce4e7c4d4
ansible_pull(role): add git as a dependency to ensure is installed
2025-10-16 09:40:34 +02:00
f646cc0bf2
fix creation rules for eh22-wiki, sunders and wiki hosts
...
Also update the keys of the secret files accordingly.
This should then fix ansible-pull on these hosts.
2025-10-15 10:45:54 +02:00
dea66771e0
ansible_pull(role): ensure SOPS is installed
...
Also add the SOPS community collection as a requirement for this repo.
2025-10-15 02:33:42 +02:00
9afbc71801
ansible_pull(role): ensure role and collection dependencies are present
2025-10-15 02:18:07 +02:00
1d6d1094bc
setup ansible-pull for 7 more hosts
...
Setup for: cloud, eh22-wiki, grafana, onlyoffice, pretalx, sunders and
wiki.
2025-10-15 01:59:29 +02:00
eadae7a09b
ansible_pull(role): add failure notifications
2025-10-14 22:20:27 +02:00
17fd71f079
define common msmtp configuration for chaosknoten inventory hosts
...
Define common configuration as it is the same for all hosts.
2025-10-14 01:45:44 +02:00
afceb886dc
msmtp(role): introduce msmtp role
...
Introduce msmtp role for setting up msmtp for mail sending.
Also add accompanying host group and playbook play.
2025-10-14 01:40:46 +02:00
18dda95c46
remove max expired key
2025-10-13 22:12:31 +02:00
1f394a08dd
refactor .sops.yaml to make it less verbose
...
Make it less verbose by introducing an anchor for the admin_gpg_keys.
2025-10-13 20:51:31 +02:00
f943e95e2e
fix ansible_lint issues
...
Use prefix for role variables, have an ending newline at the end of
files and use changed_when for command.
Also exclude *.sops.yaml files from ansible-lint.
2025-10-13 17:43:00 +02:00
9b8e14f3c4
remove duplicate ansible_pull_hosts inventory group entry
2025-10-13 17:37:13 +02:00
952fbf85c5
ansible_pull(role): add ExecStartPost step rebooting the hosts, if nec.
...
Add ExecStartPost step rebooting the hosts, if necessary.
2025-10-13 17:23:08 +02:00
bd281713f1
netbox(host): setup ansible_pull for host
2025-10-13 16:59:42 +02:00
648489ed09
define common ansible_pull configuration for chaosknoten inventory hosts
...
Define common configuration as it should be the same for all hosts, just
the ansible_pull__age_private_key needs to be set per host then.
2025-10-13 16:58:30 +02:00
434ddfc955
ansible_pull(role): introduce ansible_pull role
...
Introduce ansible_pull role for setting up automatic ansible_pull runs.
Also add accompanying host group and playbook play.
2025-10-13 16:56:18 +02:00
8cb6ab3d04
reboot(role): intro. reboot role, which handles local conns. gracefully
...
Also use this role instead of plain ansible.builtin.reboot.
This is in preparation for using ansible_pull as we don't want to have
ansible.builtin.reboot fail local playbook runs.
2025-10-13 16:56:18 +02:00
1322bcec58
reverse proxy configuration for element-admin
2025-10-12 20:20:02 +02:00
1eaf85501f
reverse proxy configuration for matrix authentication service
2025-10-12 05:28:43 +02:00
dec68ab994
sunders(host): initialize sunders host
2025-10-11 20:52:26 +02:00
2ae8692603
grafana: set 2m for DHCP check
...
so that service restart dont create a alert
2025-09-12 13:21:23 +02:00
1355d4d834
grafana: make alerts better for fux
2025-09-09 19:30:53 +02:00
592afdced9
add waybackproxy
2025-09-06 11:39:05 +02:00