Compare commits

...

281 Commits

Author SHA1 Message Date
4de2ae7e1a kea: added reservation for chromecast keller video 2025-01-06 21:46:32 +01:00
4aabb72831 kea: added reservation for chromecast workshop audio 2025-01-06 20:58:49 +01:00
464e80c35e kea: added reservation for wled flux 2025-01-06 20:57:01 +01:00
7b196dd94f kea: added reservation for chromecast wohnzimmer audio 2025-01-04 14:04:56 +01:00
aad0591c16 web: Require curl for mastodon bot 2025-01-03 14:40:30 +01:00
37f6ab1e3e authentik: bump to version 2024.12.1 2025-01-03 14:27:14 +01:00
05f664e900 Add vhost for mastodon bot 2025-01-03 14:02:44 +01:00
7577f13c76 kea: added reservation for chromecast wohnzimmer video 2025-01-03 14:02:32 +01:00
898052c28f kea: added reservation for wled stairs 2025-01-03 14:02:32 +01:00
f8fdd47bd4 xrdp_apphost: Upgrade LightBurn from 1.5.03 to 1.7.04 2025-01-03 14:02:02 +01:00
8a3e5ba9a8 decommission host indium.binary-kitchen.net 2024-12-26 21:35:45 +01:00
394e2e8026 netbox: bump to version 4.1.8 2024-12-18 11:41:00 +01:00
62d33f4652 gitea: bump to version 1.22.6 2024-12-18 11:35:11 +01:00
bf72143ee4 authentik: bump to version 2024.10.5 2024-12-18 11:33:18 +01:00
3c37b9f2d9 new mail alias: toepferwerkstatt@binary-kitchen.de 2024-12-12 21:58:31 +01:00
ebdde070da README: fix formatting 2024-12-11 15:04:49 +01:00
60f4024cf1 new host: schweinshaxn.binary.kitchen (FreePBX) 2024-12-11 15:03:58 +01:00
5174aead5f freepbx: Install additional required packages 2024-12-11 14:51:45 +01:00
3d91267020 freepbx: Cleanup and only use flask based application 2024-12-11 14:51:45 +01:00
e3a79a0307 freepbx: Install self developed yealink packages 2024-12-11 14:51:45 +01:00
4f1790d815 kea: remove whitespace 2024-11-25 21:24:35 +01:00
8927eab887 gitea: bump to version 1.22.4 2024-11-25 21:19:25 +01:00
21a0f13094 kea: fix HA by using pri/sec in LB mode 2024-11-25 21:18:47 +01:00
da13a7a3d2 authentik: bump to version 2024.10.4 2024-11-22 17:09:31 +01:00
f4642e7a03 netbox: bump to version 4.1.7 2024-11-22 17:09:06 +01:00
e45e331b03 don't destroy containers before starting the service 2024-11-20 18:17:47 +01:00
92000b5fbe common: minor updates 2024-11-20 18:16:06 +01:00
3fa13d41c2 common: integrate unattended upgrades 2024-11-20 18:15:36 +01:00
583f6d3e82 group_vars: remove unused vars 2024-11-18 16:29:24 +01:00
10f7450bc6 pretalx: remove role (was on palladium.binary-kitchen.net) 2024-11-18 16:28:04 +01:00
9179a8a1f6 dns_intern: set RA flag on answers from auth for own zones 2024-11-17 19:32:02 +01:00
29d008ca04 dns_intern: fix broken dns delegation
use "@" instead of "" to prevent this from happening again
2024-11-15 19:56:03 +01:00
744aed3b60 authentik: bump to version 2024.10.2 2024-11-14 23:45:57 +01:00
1e664169bd web: add monitoring 2024-11-11 20:04:38 +01:00
d5edf48ea1 web: fix typo 2024-11-11 20:04:27 +01:00
19d2545f1f web: new vhost fahrplan.eh21.easterhegg.eu
this will serve a static dump of the fahrplan and replace the pretalx
instance
2024-11-11 19:23:50 +01:00
b3038ec3dd netbox: bump to version 4.1.6 2024-11-11 18:26:10 +01:00
8285085468 gitea: bump to version 1.22.3 2024-11-11 18:25:35 +01:00
7a82e453e9 workadventure: remove role (decommission barium.binary-kitchen.net) 2024-11-11 18:24:35 +01:00
a3dddac6d0 vaultwareden: bump compose version 2024-11-09 15:33:09 +01:00
d7c0716f4a hedgedoc: enable automatic updates of docker images 2024-11-09 15:30:49 +01:00
44f9505bef vaultwarden: enable automatic updates of docker images 2024-11-06 19:11:29 +01:00
338c12c687 authentik: split handling or service and reload timer 2024-11-06 19:08:10 +01:00
405b5c5385 authentik: maybe don't try to detach the container for now
seems oneshot won't work properly, even without Restart=always
2024-11-05 22:27:53 +01:00
e2a071d69f authentik: bump to version 2024.10.1 2024-11-05 22:18:46 +01:00
d7aab43f06 authentik: enable automatic updates of docker images 2024-11-05 22:18:12 +01:00
e1c900ad65 authentik: bump to version 2024.10.0 2024-11-04 17:47:48 +01:00
baf02e790f kea: add options for new yealink voip phones 2024-11-02 17:24:22 +01:00
2d139167ea indium: new temp. host for igel livestreaming 2024-10-31 14:42:10 +01:00
933e25ca6a therapy: new role to be deployed on aluminium 2024-10-31 14:37:42 +01:00
eb4a5d1d13 netbox: bump to version 4.1.5 2024-10-30 20:18:14 +01:00
df069adc5e icinga: add apt and disk service definitions 2024-10-28 19:53:06 +01:00
c2b8944756 icinga: move host config into zones in order to support agents 2024-10-28 00:30:16 +01:00
4715798c3f remove technetium.binary-kitchen.net 2024-10-28 00:28:32 +01:00
750157ef76 group_vars: add more voucher aliases 2024-10-28 00:25:29 +01:00
20c13ddbdc icinga: add TODO 2024-10-27 22:27:58 +01:00
62bc168983 matrix: increase local media lifetime 2024-10-21 20:02:23 +02:00
d72fc4ceaa uau: rebase against Debian 12 2024-10-21 20:01:44 +02:00
68fee1e0d7 common: rebase against Debian 12 2024-10-21 20:01:06 +02:00
2ea069f94e netbox: bump to version 4.1.4 2024-10-21 19:06:31 +02:00
63df9a1a54 README.md: update strichliste and auweg doorlock to debian 12 2024-10-19 21:42:52 +02:00
35a3f9ae97 strichliste: use system version of debian 2024-10-19 21:40:54 +02:00
71025ea2f4 dns_intern: update dns to reflect changes in network components 2024-10-06 16:35:48 +02:00
ea189822fc repalce dhcpd by kea 2024-10-05 19:39:26 +02:00
b425f3b482 kea: don't configure HA unless needed 2024-10-05 19:36:53 +02:00
c8a0e54cc8 kea: fix socket paths 2024-10-05 19:36:53 +02:00
4b0b8adcdd kea: add ddns support 2024-10-05 19:36:53 +02:00
06a8052353 kea: add more subnets, pools and reservations 2024-10-05 19:36:53 +02:00
dcf7325368 kea: define options and classes for dect-rfps and voip-phones 2024-10-05 19:36:53 +02:00
1ddcc40476 kea: query primary dns server for hostnames
otherwise the role will fail if the host it is deployed from has VPN but
is not using our DNS infra
2024-10-05 19:36:53 +02:00
Kishi85
bcb5584874 kea: configure control agent necessary for HA 2024-10-05 19:36:53 +02:00
Kishi85
3530b825e2 kea: add DHCP4 HA config (hot-standby) 2024-10-05 19:36:53 +02:00
5c8baa80e3 kea: new role (replaces dhcpd) 2024-10-05 19:36:53 +02:00
1164198097 netbox: bump to version 4.1.3 2024-10-02 19:27:59 +02:00
a6298aee8e authentik: bump to version 2024.8.3 2024-09-27 17:05:26 +02:00
94d7f4e8c1 netbox: bump to version 4.1.2 2024-09-27 11:54:51 +02:00
e3cd449b0b authentik: bump to version 2024.8.2 2024-09-16 18:28:44 +02:00
79adbecdba netbox: bump to version 4.1.1 2024-09-16 17:39:55 +02:00
3ac021d922 slapd: enable password policies
this will facilitate proper locking of accounts
2024-09-11 15:06:18 +02:00
0ff1611b8d gitea: bump to version 1.22.2 2024-09-09 23:43:10 +02:00
fe0c6bbdec authentik: bump to vesion 2024.8.1 2024-09-09 23:28:38 +02:00
909ec370e4 netbox: bump to version 4.1.0 2024-09-09 09:36:14 +02:00
7c2158fa30 hedgedoc: bump to version 1.10.0 2024-09-01 18:27:54 +02:00
962fb1bc5e authentik: bump to version 2024.6.4 2024-08-23 17:44:29 +02:00
cf510ab999 netbox: bump to version 4.0.8 2024-08-12 14:34:44 +02:00
d7552497b4 authentik: bump to version 2024.6.3 2024-08-12 13:51:09 +02:00
99238faf96 netbox: bump to version 4.0.7 2024-07-18 20:20:24 +02:00
cb5d253c0d gitea: bump to version 1.22.1 2024-07-18 20:14:16 +02:00
e40b981476 vaultwarden: fix websocket pass through 2024-07-18 19:44:11 +02:00
6675814d77 nebtox: bump to version 4.0.6 2024-06-28 16:15:38 +02:00
41c044aefe authentik: bump to version 2024.6.0 2024-06-27 19:18:30 +02:00
5a946f94ef netbox: bump to version 4.0.5 2024-06-13 09:21:32 +02:00
82ede41fe9 netbox: fix psycopg dependency to use binary
the C variant will fail to compile
2024-05-27 22:48:36 +02:00
620d4c94f2 netbox: bump to version 4.0.3 2024-05-27 22:47:12 +02:00
e0f000c201 gitea: bump to version 1.22.0 2024-05-27 19:20:23 +02:00
d8e1e6edf4 web: split php pools into www and spaceapi
prevent deadloks from crawlers that open lots of wiki pages which in
turn query the spaceapi
discovery and fix by voidptr
2024-05-17 22:32:51 +02:00
b9e886fd01 dns_intern: rename erx-bk to rt-w13b
The EdgeRouter has been replaced by a APU running VyOS
2024-05-13 09:42:01 +02:00
581757a3f0 beryllium: add toffy as root user 2024-05-10 13:16:20 +02:00
79217219fb mail: explicitly configure anti-phishing providers 2024-05-07 23:31:07 +02:00
9bee86f6ba authentik: bump to version 2024.4.2 2024-05-07 23:28:47 +02:00
bd75c4283a act_runner: bump to version 0.2.10 2024-05-06 19:22:18 +02:00
8b6e02f91f netbox: bump to version 3.7.8 2024-05-06 19:21:08 +02:00
f791a1cd8d netbox: bump to version 3.7.5 2024-04-17 19:49:23 +02:00
50ea038b51 web: add mail autoconfig file for thunderbird 2024-04-17 19:13:19 +02:00
15166b92a2 gitea: bump to version 1.21.11 2024-04-17 18:14:39 +02:00
88764a7fb5 gitea: bump to version 1.21.10 2024-03-26 18:00:38 +01:00
f1e3189a1d gitea: bump to version 1.21.9 2024-03-22 16:46:37 +01:00
477357b00e hosts: add cadmium 2024-03-18 09:03:19 +01:00
d860c5a538 mail: add alias for hackzuck 2024-03-18 09:02:44 +01:00
849a8f491d cadmium: new host for event netbox 2024-03-18 09:02:01 +01:00
6e766fdc5b netbox: bump to version 3.7.4 2024-03-18 08:48:47 +01:00
631ba79ba4 README: update OS for pancake 2024-03-16 17:15:14 +01:00
3c1a92a4b6 xrdp_apphost: Upgrade configs from bullseye to bookworm 2024-03-15 21:50:52 +01:00
e2c7bed035 xrdp_apphost: Upgrade EstlCam from 11244 to 11245 2024-03-15 19:36:50 +01:00
07a0e22d35 xrdp_apphost: Upgrade LightBurn from 1.3.01 to 1.5.03 2024-03-15 19:12:07 +01:00
f72960bbc8 xrdp_apphost: Upgrade slicer from 2.5.0 to 2.7.2 2024-03-15 18:57:05 +01:00
51e673ca94 icinga_agent: [WIP] 2024-03-11 18:23:42 +01:00
b99c41b938 icinga-monitor: fix typo 2024-03-03 15:38:48 +01:00
f839bd1db9 icinga_agent: add basic disk monitoring 2024-03-02 21:01:42 +01:00
d5f8a39219 dns_intern: remove obsolete racktables entry 2024-03-01 22:56:29 +01:00
36bf2bbc3f icinga-monitor: use follow for http checks 2024-03-01 22:38:40 +01:00
34b1d83233 icinga_agent: new role to enroll an agent 2024-03-01 22:37:01 +01:00
0e9d3092e6 gitea: bump to version 1.21.7 2024-02-28 00:30:44 +01:00
7b03d89096 mail: himmel@eh21.easterhegg.eu goes into zammad 2024-02-24 13:02:53 +01:00
07686bbf73 gitea: bump to version 1.21.6 2024-02-23 14:12:58 +01:00
b3c04b5675 netbox: bump to version 3.7.3 2024-02-22 23:19:33 +01:00
b058a8d891 common: support looking up sshPublicKey from LDAP 2024-02-21 08:38:44 +01:00
d5b11f15d2 dns_intern: rebase config against upstream 2024-02-21 08:37:34 +01:00
ec9b306469 gitea: fix service group name 2024-02-06 17:42:36 +01:00
9ac34b1079 netbox: bump version to 3.7.2 2024-02-06 17:28:16 +01:00
40a2a28676 hedgedoc: restart on failure 2024-02-05 20:59:13 +01:00
574afd2b83 gitea: bump to version 1.21.5 2024-02-05 20:58:48 +01:00
a219a7ecaf nextcloud: make compatiable with Debian 12 2024-02-01 17:56:04 +01:00
265aa863fd pretalx: set client size limit 2024-01-29 19:02:08 +01:00
dffb4be7d0 authentik: bump to version 2023.10.7 2024-01-29 18:35:26 +01:00
67066c88c7 minor cleanup 2024-01-22 17:15:28 +01:00
db0cc8517a README: update 2024-01-20 18:57:43 +01:00
d8ab43dc29 netbox: bump to version 3.7.1 2024-01-18 19:41:34 +01:00
b919df64ce authentik: bump to version 2023.10.6 2024-01-18 19:39:53 +01:00
91e88b07b3 gitea: bump version to 1.21.4 2024-01-17 18:18:59 +01:00
f29fccefbe new VM: technetium (Event CTFd) 2024-01-17 18:18:31 +01:00
668b9418db common: rebase chrony config
against current debian default config
2024-01-16 22:24:59 +01:00
8c7629c409 cleanup/unify naming 2024-01-16 22:23:44 +01:00
a23e1598bf README: add an overview of systems 2024-01-16 19:34:00 +01:00
9b9a844867 yttrium: repurpose as VM for hintervvoidler 2024-01-16 19:33:31 +01:00
d1682eb5f2 sssd: new role to replace ldap_pam (based on nslcd) 2024-01-16 19:03:03 +01:00
c6db7e5805 omm: update notes 2024-01-11 22:25:53 +01:00
cfa3c48827 matrix: enable some retention features 2024-01-11 20:01:28 +01:00
b61d00aeca omm: new role (SIP-DECT OMM) 2024-01-11 19:54:01 +01:00
4a56b35fdd gitea: cleanup role 2024-01-11 17:30:34 +01:00
cf373d84ec act_runner: new role
gitea actions will replace drone
2024-01-11 17:28:09 +01:00
c3ce352580 gitea: bump version to 1.21.3 2024-01-09 20:25:45 +01:00
6f5b4891d4 allow mail from argentum 2024-01-08 22:03:48 +01:00
937961174f argentum: give access to flo 2024-01-08 20:09:03 +01:00
b2b7045f61 zammad: new role 2024-01-08 20:08:25 +01:00
83d6c87415 mail: smtp smuggling related settings 2024-01-04 20:42:15 +01:00
79230057af dhcpd: replace ap04 with a newer model 2024-01-03 23:34:18 +01:00
3e13f04758 rhodium: add tom as root user 2024-01-03 19:45:31 +01:00
aa53ae45ca authentik: bump to version 2023.10.5 2024-01-03 19:06:15 +01:00
4e4999d409 netbox: bump to version 3.7.0 2024-01-03 12:31:09 +01:00
1d1c1d0381 gitea: bump to version 1.21.2 2023-12-20 09:03:30 +01:00
40559373ba nbetbox: bump to version 3.6.7 2023-12-20 08:45:13 +01:00
b990c6c1c3 netbox: bump to version 3.6.6 2023-12-13 08:33:27 +01:00
84cb7be90d gitea: bump to version 1.21.1 2023-11-27 16:57:27 +01:00
eca8792bb5 group_vars: add EH21 mail aliases 2023-11-27 16:54:59 +01:00
e4f934264f event_web: apply settings needed for engelsystem 2023-11-24 14:51:18 +01:00
ce477eceb2 authentik: bump version to 2023.10.4 2023-11-24 14:50:28 +01:00
b7142615fb netbox: fix DB priviledge settings for current ansible versions 2023-11-21 10:40:25 +01:00
20b0cb26ff netbox: bump verion to 3.6.5 2023-11-20 23:07:38 +01:00
eb430ed0ee gitea: bump version to 1.21.0 2023-11-20 23:06:31 +01:00
700fa97feb groups_vars: enable mail for eh21.easterhegg.eu 2023-11-17 13:26:23 +01:00
21c64883f0 event_web: add engelsystem domain 2023-11-15 17:15:12 +01:00
cca5e2f3df host_vers: add toffy as root user on argentum 2023-11-14 18:06:31 +01:00
5a54bdfe67 matrix: rebase config against upstream 2023-11-14 16:58:02 +01:00
05e5e2d6a0 pretix: add additional event domain 2023-11-14 16:53:04 +01:00
1fa4fb24aa web: drop domain plk-regensburg.de 2023-11-14 16:50:21 +01:00
3642f4db11 event_web: use final domain for EH 2023-11-14 16:49:27 +01:00
a5c5957554 dhcpd: no ddns update at location Auweg 2023-11-13 15:19:06 +01:00
17b59ae656 authentik: bump to version 2023.10.2 2023-11-07 17:59:06 +01:00
9c072a4678 pretalx: don't spam useless mails 2023-11-07 17:50:57 +01:00
02496ae591 pretalx: fix static directory 2023-11-07 16:50:10 +01:00
d5d762f73e groups_vars: update bbb mail alias 2023-11-07 16:49:49 +01:00
e85e1f43ea mail: install clamav 2023-11-07 16:49:34 +01:00
22c743baec new host: argentum.binary-kitchen.net (event web) 2023-11-07 16:49:13 +01:00
d10886f284 netbox: bump to version 3.6.4 2023-10-19 09:55:00 +02:00
198a5908b2 mail: silence django warnings 2023-10-12 22:24:18 +02:00
07d14163fb gitea: bump to version 1.20.5 2023-10-11 16:27:04 +02:00
d0429f9984 dns_intern: make compatiable with Debian 12 2023-10-10 19:25:04 +02:00
7ba5813e39 mail: make compatiable with Debian 12 2023-10-10 14:46:06 +02:00
2d499a0967 netbox: bump to version 3.6.3 2023-09-27 20:45:22 +02:00
58c875c4dc slapd: make compatiable with Debian 12 2023-09-20 22:38:24 +02:00
6bf772b761 authentik: bump to version 2023.8.3 2023-09-15 12:29:05 +02:00
66f751b4fb fix typo 2023-09-15 12:09:28 +02:00
b656aef36d pretalx: deploy on palladium 2023-09-15 12:08:32 +02:00
fc452e7d60 re-add rhodium (pretix) 2023-09-15 12:05:48 +02:00
2aec019f3b pretix: cleanup config 2023-09-15 09:11:56 +02:00
6b600be79c pretix: fix ansible deprecation warning 2023-09-15 09:11:25 +02:00
a3995263f2 gitea: bump to version 1.20.4 2023-09-15 09:03:18 +02:00
d4e75761aa authentik: bump to version 2023.8.2 2023-09-07 08:58:58 +02:00
aa05825fb2 gitea: bump to version 1.20.3 2023-09-06 22:46:34 +02:00
ad41c02741 netbox: bump to version 3.6.1 2023-09-06 22:32:46 +02:00
c0852557af matrix: make compatiable with Debian 12 2023-09-06 21:41:06 +02:00
586a02e545 heisenbridge: new role 2023-09-06 21:37:39 +02:00
1c0b1e6032 pretix: make compatiable with Debian 12 2023-09-06 17:37:27 +02:00
003c4ee83d fileserver: make compatiable with Debian 12 2023-09-06 14:51:50 +02:00
4c55923b1c specify keyring for apt_key 2023-09-06 14:50:54 +02:00
089136b71c group_vars: update aliases 2023-08-04 09:20:30 +02:00
ce825b105c hedgedoc: bump to version 1.9.9 2023-07-31 14:04:30 +02:00
d120a95789 gitea: bump to version 1.20.2 2023-07-31 14:03:40 +02:00
d2aa747d52 netbox: bump to version 3.5.7 2023-07-31 13:57:11 +02:00
565177b6d6 mail: exclude no longer used file from postmap 2023-07-17 17:47:56 +02:00
f6b8724b93 authentik: new role (SSO provider) 2023-07-17 17:45:45 +02:00
ac8c0318a9 matrix: rebase config against upstream 2023-07-17 16:26:28 +02:00
35de5eb253 librenms: make compatiable with Debian 12 2023-07-17 16:25:45 +02:00
6c14018f4a icinga: make compatiable with Debian 12 2023-07-17 16:25:18 +02:00
b4ef06572b common: install wget 2023-07-17 16:24:50 +02:00
a12e0bf43b web: make compatiable with Debian 12 2023-07-17 16:24:07 +02:00
f484efbd54 pbs: make compatiable with Debian 12 2023-07-17 16:23:25 +02:00
d21c73e317 prometheus: add missing dependency 2023-07-17 16:23:00 +02:00
48f2330a84 hedgedoc: use more generic postgres version 2023-07-17 16:21:56 +02:00
7c4c262fd3 vaultwarden: use more generic postgres version 2023-07-17 16:21:33 +02:00
1ea08a8776 dns_intern: make compatiable with Debian 12 2023-07-17 16:21:07 +02:00
c1da05cdaf dns_extern: make compatiable with Debian 12 2023-07-17 16:20:42 +02:00
06d0895b96 gitea: bump version to 1.20.0 2023-07-17 16:20:01 +02:00
6279bd0caa gitea: bump to version 1.19.3 2023-06-28 07:44:45 +02:00
a9668ff6d7 netbox: bump to version 3.5.4 2023-06-28 07:44:14 +02:00
c06ba3f0c3 remove old pretix host 2023-06-19 15:13:02 +02:00
46d97d75bf netbox: bump to version 3.5.2 2023-05-23 17:22:47 +02:00
8cefd0363b nextcloud: update to PHP 8.2 2023-05-08 18:38:53 +02:00
0c53d9dc3e grafana: fix repo and key location 2023-05-02 17:44:39 +02:00
d448fe5384 gitea: bump to version 1.19.2 2023-04-28 14:37:18 +02:00
0430a7e456 gitea: bump to version 1.9.1 2023-04-25 17:51:50 +02:00
adadbc9663 new Vorstand, new permissions 2023-04-24 23:18:22 +02:00
7cbb6abff9 netbox: bump to version 3.4.8 2023-04-24 18:03:43 +02:00
4e1880d394 gitea: bump to version 1.19.0 2023-03-23 17:27:38 +01:00
5d1b2ab959 netbox: bump to version 3.4.6 2023-03-16 16:07:59 +01:00
837c9fc20a mail: mark spam as read 2023-02-28 17:52:38 +01:00
4103a23f48 hedgedoc: bump version to 1.9.7 2023-02-20 20:34:15 +01:00
35a7acafd4 gitea: bump version to 1.18.4 2023-02-20 20:33:58 +01:00
b2d6066acb netbox: bump to version 3.4.4 2023-02-03 16:26:38 +01:00
d662fd6689 common: update zshrc from upstream (grml) 2023-01-26 08:52:59 +01:00
70d4edc0d6 xrdp_apphost: Upgrade Lightburn to 1.3.01 and slicer to 2.5.0 2023-01-23 21:16:55 +01:00
63b0d62938 gitea: bump to version 1.18.2 2023-01-23 09:55:15 +01:00
4993782513 strichliste: deploy on tschunk
Signed-off-by: Thomas Schmid <tom@lfence.de>
2023-01-16 22:00:19 +01:00
3b1b600c8e new host: tschunk/strichliste 2023-01-16 18:49:34 +01:00
a0d455d3ed bk-dss: bump to version 0.8.5 2023-01-06 23:59:04 +01:00
f0bd56d813 23b: deploy on fluorine 2023-01-06 22:56:00 +01:00
a1a8a75787 group_vars: add forgotten 23b domain name 2023-01-06 22:54:08 +01:00
0b1ee06e0c gitea: bump to version 1.18.0 2023-01-06 22:50:51 +01:00
f2abb27a08 netbox: bump to version 3.4.2 2023-01-06 17:45:50 +01:00
1e3a163dca 23b: enable service 2023-01-01 02:04:24 +01:00
631f34baea gitea: bump to version 1.17.4 2022-12-22 09:33:20 +01:00
6696697892 23b: new role 2022-12-17 20:28:41 +01:00
fcb2638d8f host_vars: fix ssh key for ralf 2022-12-17 20:27:30 +01:00
b4146fc919 netbox: bump to version 3.4.1 2022-12-17 10:38:06 +01:00
d9678ba6f5 gitea: bump version to 1.17.3 2022-12-08 16:01:48 +01:00
0154bded19 doorlock: first steps towards an auweg doorlock 2022-11-17 16:00:20 +01:00
b5bfc03f2f hedgedoc: bump to 1.9.5 2022-10-31 17:21:36 +01:00
4344bd7d45 lasagne: new host for homeassistant 2022-10-22 17:38:08 +02:00
234e889d9d krypton: add noby as root user 2022-09-30 13:13:37 +02:00
5f39fd3ea7 docker: use debian packages instead of upstream 2022-09-30 13:12:58 +02:00
6b5c59183e netbox: bump to version 3.3.4 2022-09-21 14:12:47 +02:00
9e20fd1c19 mail: remove unused service fcgiwrap 2022-09-17 17:03:35 +02:00
a7d391e0de workadventure: fix trailing whitespace 2022-09-03 16:09:39 +02:00
9e9bfade44 vaultwarden: enable yubico support 2022-09-03 12:58:29 +02:00
64badc0d8f vaultwarden: disable sends 2022-09-03 12:58:15 +02:00
0c1df72dce vaultwarden: fix domain (HTTPS) 2022-09-03 12:29:32 +02:00
fdf91000d5 hedgedoc: handle restart via systemd service 2022-09-03 12:26:48 +02:00
b86945f714 vaultwarden: handle restart via systemd service 2022-09-03 12:26:29 +02:00
14c055bff0 vaultwarden: new role 2022-09-03 12:21:08 +02:00
a08b2c047e hedgedoc: rename from hackmd 2022-09-03 00:36:59 +02:00
a59ac1435e netbox: bump to version 3.3.2 2022-09-02 21:54:51 +02:00
c23b065e68 gitea: bump to version 1.17.1 2022-09-02 21:12:25 +02:00
a40afba368 sulis, oxygen: allow password login 2022-09-02 21:11:48 +02:00
db8e6f2576 hackmd: use docker instead of native setup 2022-09-02 21:11:04 +02:00
cc35e0da6c common: minimize diff against upstream 2022-09-02 15:00:44 +02:00
26a36701f5 grafana: fix vhost config (origin not allowed) 2022-09-02 14:55:11 +02:00
7403383a4f molybdenum.binary-kitchen.net: add tom as root 2022-09-02 14:54:42 +02:00
b710872b20 common: fix style 2022-09-02 14:53:05 +02:00
4dd1f87e73
added sshd to common 2022-08-01 21:30:33 +02:00
33e0419253 gitea: bump to version 1.17.0 2022-07-31 11:00:49 +02:00
222 changed files with 7785 additions and 2888 deletions

View File

@ -1,11 +1,68 @@
# Binary Kitchen Ansible Playbooks
This repository contains the roles to setup most of the infrastructure related to the hackerspace Binary Kitchen.
This repository contains the roles to setup most of the infrastructure related to the hackspace Binary Kitchen.
## Using
## Usage
TBA
To apply the current set of roles to a single host you can type: `ansible-playbook site.yml -l $hostname`
## Style / Contributing
It is recommenced to alway run in check mode (`--check`) first and use `--diff` to see what has been (or would be) changed
TBA/TBD
## Current setup
Currently the following hosts are installed:
### Internal Servers
| Hostname | OS | Purpose |
| --------------------------- | --------- | ----------------------- |
| wurst.binary.kitchen | Proxmox 8 | VM Host |
| salat.binary.kitchen | Proxmox 8 | VM Host |
| weizen.binary.kitchen | Proxmox 8 | VM Host |
| bacon.binary.kitchen | Debian 12 | DNS, DHCP, LDAP, RADIUS |
| aveta.binary.kitchen | Debian 12 | DNS, DHCP, LDAP, RADIUS |
| aeron.binary.kitchen | Debian 12 | DNS, DHCP, LDAP, RADIUS |
| sulis.binary.kitchen | Debian 12 | Shell |
| nabia.binary.kitchen | Debian 12 | Monitoring |
| epona.binary.kitchen | Debian 12 | NetBox |
| pizza.binary.kitchen | Debian 11 | OpenHAB * |
| pancake.binary.kitchen | Debian 12 | XRDP |
| knoedel.binary.kitchen | Debian 12 | SIP-DECT OMM |
| schweinshaxn.binary.kitchen | Debian 12 | FreePBX |
| bob.binary.kitchen | Debian 12 | Gitea Actions |
| lasagne.binary.kitchen | Debian 12 | Home Assistant * |
| tschunk.binary.kitchen | Debian 12 | Strichliste |
| bowle.binary.kitchen | Debian 12 | Files |
| lock-auweg.binary.kitchen | Debian 12 | Doorlock |
\*: The main application is not managed by ansible but manually installed
### External Servers
| Hostname | OS | Purpose |
| ----------------------------- | --------- | ----------------------- |
| helium.binary-kitchen.net | Debian 12 | LDAP Master |
| lithium.binary-kitchen.net | Debian 12 | Mail |
| beryllium.binary-kitchen.net | Debian 12 | Web * |
| boron.binary-kitchen.net | Debian 12 | Gitea |
| carbon.binary-kitchen.net | Debian 12 | Jabber |
| nitrogen.binary-kitchen.net | Debian 12 | NextCloud |
| oxygen.binary-kitchen.net | Debian 12 | Shell |
| fluorine.binary-kitchen.net | Debian 12 | Web (div. via Docker) |
| neon.binary-kitchen.net | Debian 12 | Auth. DNS |
| sodium.binary-kitchen.net | Debian 12 | Mattrix |
| magnesium.binary-kitchen.net | Debian 12 | TURN |
| aluminium.binary-kitchen.net | Debian 12 | Web (div. via Docker) |
| krypton.binary-kitchen.net | Debian 12 | PartDB * |
| yttrium.binary-kitchen.net | Debian 12 | Hintervvoidler * |
| zirconium.binary-kitchen.net | Debian 12 | Jitsi |
| molybdenum.binary-kitchen.net | Debian 12 | Telefonzelle * |
| technetium.binary-kitchen.net | Debian 12 | Event CTFd * |
| ruthenium.binary-kitchen.net | Debian 12 | Minecraft * |
| rhodium.binary-kitchen.net | Debian 12 | Event pretix |
| palladium.binary-kitchen.net | Debian 12 | Event pretalx |
| argentum.binary-kitchen.net | Debian 12 | Event Web * |
| cadmium.binary-kitchen.net | Debian 12 | Event NetBox * |
\*: The main application is not managed by ansible but manually installed

View File

@ -5,6 +5,14 @@ acertmgr_mode: webdir
acme_dnskey_file: /etc/acertmgr/nsupdate.key
acme_dnskey_server: neon.binary-kitchen.net
authentik_domain: auth.binary-kitchen.de
authentik_dbname: authentik
authentik_dbuser: authentik
authentik_dbpass: "{{ vault_authentik_dbpass }}"
authentik_secret: "{{ vault_authentik_secret }}"
bk23b_domain: 23b.binary-kitchen.de
coturn_realm: turn.binary-kitchen.de
coturn_secret: "{{ vault_coturn_secret }}"
@ -14,19 +22,12 @@ dns_axfr_ips:
dhcp_omapi_key: "{{ vault_dhcp_omapi_key }}"
drone_admin: moepman
drone_domain: drone.binary-kitchen.de
drone_dbname: drone
drone_dbuser: drone
drone_dbpass: "{{ vault_drone_dbpass }}"
drone_uipass: "{{ vault_drone_uipass }}"
drone_secret: "{{ vault_drone_secret }}"
drone_gitea_client: "{{ vault_drone_gitea_client }}"
drone_gitea_secret: "{{ vault_drone_gitea_secret }}"
dss_domain: dss.binary-kitchen.de
dss_secret: "{{ vault_dss_secret }}"
fpm_status_user: admin
fpm_status_pass: "{{ vault_fpm_status_pass }}"
gitea_domain: git.binary-kitchen.de
gitea_dbname: gogs
gitea_dbuser: gogs
@ -35,8 +36,8 @@ gitea_secret: "{{ vault_gitea_secret }}"
gitea_jwt_secret: "{{ vault_gitea_jwt_secret }}"
hedgedoc_domain: pad.binary-kitchen.de
hedgedoc_dbname: hackmd
hedgedoc_dbuser: hackmd
hedgedoc_dbname: hedgedoc
hedgedoc_dbuser: hedgedoc
hedgedoc_dbpass: "{{ vault_hedgedoc_dbpass }}"
hedgedoc_secret: "{{ vault_hedgedoc_secret }}"
@ -67,6 +68,7 @@ mail_domain: binary-kitchen.de
mail_domains:
- ccc-r.de
- ccc-regensburg.de
- eh21.easterhegg.eu
- makerspace-regensburg.de
mail_postsrsd_secret: "{{ vault_mail_postsrsd_secret }}"
mail_server: mail.binary-kitchen.de
@ -75,13 +77,17 @@ mail_trusted:
- 213.166.246.0/28
- 213.166.246.37/32
- 213.166.246.45/32
- 213.166.246.46/32
- 213.166.246.47/32
- 213.166.246.250/32
- 2a02:958:0:f6::/124
- 2a02:958:0:f6::37/128
- 2a02:958:0:f6::45/128
- 2a02:958:0:f6::46/128
- 2a02:958:0:f6::47/128
mail_aliases:
- "auweg@binary-kitchen.de venti@binary-kitchen.de,anti@binary-kitchen.de,anke@binary-kitchen.de,gruenewald.clemens@gmail.com"
- "bbb@binary-kitchen.de timo.schindler@binary-kitchen.de"
- "bbb@binary-kitchen.de boehm.johannes@gmail.com"
- "dasfilament@binary-kitchen.de taxx@binary-kitchen.de"
- "epvpn@binary-kitchen.de noby@binary-kitchen.de"
- "google@binary-kitchen.de vorstand@binary-kitchen.de"
@ -94,11 +100,14 @@ mail_aliases:
- "orga@ccc-regensburg.de anti@binary-kitchen.de"
- "paypal@binary-kitchen.de ralf@binary-kitchen.de"
- "post@makerspace-regensburg.de vorstand@binary-kitchen.de"
- "pretalx@binary-kitchen.de moepman@binary-kitchen.de"
- "pretix@binary-kitchen.de moepman@binary-kitchen.de"
- "root@binary-kitchen.de moepman@binary-kitchen.de,kishi@binary-kitchen.de"
- "seife@binary-kitchen.de anke@binary-kitchen.de"
- "siebdruck@binary-kitchen.de anke@binary-kitchen.de"
- "vorstand@binary-kitchen.de anti@binary-kitchen.de,avarrish@binary-kitchen.de,ralf@binary-kitchen.de,zaesa@binary-kitchen.de"
- "therapy-jetzt@binary-kitchen.de darthrain@binary-kitchen.de"
- "toepferwerkstatt@binary-kitchen.de anke@binary-kitchen.de,meet_judith@binary-kitchen.de"
- "vorstand@binary-kitchen.de anke@binary-kitchen.de,christoph@schindlbeck.eu,ralf@binary-kitchen.de,zaesa@binary-kitchen.de"
- "voucher1@binary-kitchen.de exxess@binary-kitchen.de"
- "voucher2@binary-kitchen.de exxess@binary-kitchen.de"
- "voucher3@binary-kitchen.de exxess@binary-kitchen.de"
@ -111,7 +120,12 @@ mail_aliases:
- "voucher10@binary-kitchen.de exxess@binary-kitchen.de"
- "voucher11@binary-kitchen.de exxess@binary-kitchen.de"
- "voucher12@binary-kitchen.de exxess@binary-kitchen.de"
- "voucher13@binary-kitchen.de exxess@binary-kitchen.de"
- "voucher14@binary-kitchen.de exxess@binary-kitchen.de"
- "voucher15@binary-kitchen.de exxess@binary-kitchen.de"
- "workshops@binary-kitchen.de timo.schindler@binary-kitchen.de,venti@binary-kitchen.de"
- "tickets@eh21.easterhegg.eu orga@eh21.easterhegg.eu"
- "hackzuck@eh21.easterhegg.eu kekskruemml@binary-kitchen.de"
matrix_domain: matrix.binary-kitchen.de
matrix_dbname: matrix
@ -131,11 +145,10 @@ nextcloud_dbname: owncloud
nextcloud_dbuser: owncloud
nextcloud_dbpass: "{{ vault_owncloud_dbpass }}"
nslcd_base_group: ou=groups,dc=binary-kitchen,dc=de
nslcd_base_shadow: ou=people,dc=binary-kitchen,dc=de
nslcd_base_passwd: ou=people,dc=binary-kitchen,dc=de
omm_domain: omm.binary.kitchen
pretix_domain: pretix.events.binary-kitchen.de
pretix_domainx: tickets.eh21.easterhegg.eu
pretix_dbname: pretix
pretix_dbuser: pretix
pretix_dbpass: "{{ vault_pretix_dbpass }}"
@ -161,4 +174,20 @@ slapd_root_hash: "{SSHA}OB75kTfH6JRyX0dA0fM8/8ldP89qyzb+"
slapd_root_pass: "{{ vault_slapd_root_pass }}"
slapd_san: ldap.binary.kitchen
workadventure_domain: wa.binary-kitchen.de
sssd_base_group: ou=groups,dc=binary-kitchen,dc=de
sssd_base_user: ou=people,dc=binary-kitchen,dc=de
strichliste_domain: tschunk.binary.kitchen
strichliste_dbname: strichliste
strichliste_dbuser: strichliste
strichliste_dbpass: "{{ vault_strichliste_dbpass }}"
therapy_domain: therapy.jetzt
therapy_secret: "{{ vault_therapy_secret }}"
vaultwarden_domain: vault.binary-kitchen.de
vaultwarden_dbname: vaultwarden
vaultwarden_dbuser: vaultwarden
vaultwarden_dbpass: "{{ vault_vaultwarden_dbpass }}"
vaultwarden_token: "{{ vault_vaultwarden_token }}"
vaultwarden_yubico_secret: "{{ vault_vaultwarden_yubico_secret }}"

View File

@ -1,102 +1,109 @@
$ANSIBLE_VAULT;1.1;AES256
34313430623638333161613331623835666163626232326164366136373833633138373733333231
6563336334663666373235313064363364646361643033310a663033616232363434306230313765
31386338646433393334663031623261353661333565663763363834313264363463383562633934
3663623932356635360a306231613431623763663130656634623365643730336564663862336536
34663863313364613831656162663663646634636432656539643531326163653363376662393935
61343934313135623265646539616136306231633566616534383562393964663565323534386162
31646233313339383863313334353031386166653264353831383133633761306539636533656336
37643866646538316234633736613136356166613037383638303465663639633432326533653832
30313862646132393063393239656561646566336362643466386435613734623632613361323266
64316166313635306631396166303132626139386563613231646439356637393662623530353261
62326661663064393362653136346262313762376130623461313563613161623838356363306263
38376438333632623962646535313239343038383030383736313536303935346236326631616632
65376162613630343064356361336535623030316435333036363635623461626330663635653631
61313435373839366363613338666630366333383962393734333662646239663237386437373333
31373065336139643033643666653737306664626134643937343264646539616264393530343462
38366232393832666439383066383738643966363132663832396562646238306638343266353934
38396236373830303661336635646137306236386436343033383764666535323834313534346533
35333665303534383634303732346164616666643731313839353462343365356338386561613231
35333965353736386531356565376434393563653562373261633664623438346638613765303736
65336230636539613332616433326335326436333136636566383731306437663438306636363930
31376230353230613038636662623432646361383263663532396234656133333237333738666233
61613961343963393437393664393265306564373164316265363232303831663331393130356662
39313230616463636163386261353431356338353833393161313861643137646166363864313861
64306161653565396339656333346235346365373836373633376231333833313034353864656434
33623861326664356339336333663365663663353061323037346330653133396235363831623136
63343662356235633332373733626232353437373263343038663932636232363030336436616131
65376436663962363631386664353531303963313263633261633766326566383262643334646466
65363664306332656134633039643135323134616535613834313533626633353066343762646132
31353761373366313365373632366661646235333039656231323030366338326264333162646562
39343265376234363635306537636464323030316231306564316635656563303565336539326237
36393632386564343730616566373535616263383564343866353665373363363333343935346464
31646338353235356231353135663062323766663231383730396235373934303465346239303961
66646463663762633963336365356431323431383938373839346364303464633031633633663937
36646165633661633361313635393134646133363334373863663132376266336233336435356435
38303862613564363731313062316533633465353830316436326431656132353431373231646337
33343464353039623236643633636239343965643633343966326562343934313664633563613730
63313930643936393838636634613331633835656434646163386661663037376330646366656232
32623461633935353134343533626266653031666335336236343039363066396337633639363235
38626233383461356264616534656537633931663936383330386532363434383833613835613439
64306262626539623136376630646439353335623266306139306434663331346237306331666533
37363433343433363632336333633065313865626564633134616462393831626237333638333739
61623030386235666132666661623462323332393666623539636139326530623233396533373939
32396261306661663739333138353335663734316232303661353166376133653934306233343739
33353833323739343163396234633264373139346264653933633433393132363966636135393365
36363530396166363630643764633436663037666631343535366132373334663938333930396133
36303864303961333664653635343935353266396231313964646262363038626561653466646438
62306434373136393738303835656130333936663430636139383137633536383131616533613634
62343464636332343031326365383964326666636466666636663236633935356635336435313437
33626137326238356537353762613164653731326563663239316537646338643131643564663632
33353536383265303030343735616530666236343064323337623232396130393366363161356636
61333862313432323139313963386538393365373335373139353533356537383739373539646134
37623936653933326633643961313530663533326532383133353238303336643432353833393338
31633065666336373236386537636536326236636639376465346136326535653764373131636135
61393932643639383234396163326633393733616563343637613661326432623461393934653965
32643162386238316261633733613366323834393365633430643964666262306339633766613533
65366264313431333132303063393564383062346365633133383463376631303933643065613137
61383231393339363465363064633862633135326536663163366234623764626439346461303164
32373738636533306362333138643832643862656239303464373434303537653336646430356633
36626436356231616166666163346539633738623734343031373735346165303664346137343132
31663230343934333138656333626339623133323630336266353831653135616363333432616361
33613236623538333663366136656563663331366237303763653238336139363163366635646532
37316430623433336436376462656331373336303831393333626166346135333737326435353834
37636162646438313162303462633830353239623565393331316662616535343138613437653665
31316563346234633031653131666531333266306139346566383263303835343532363633373665
30336462626434393063343234356633636433356164363163363564383263623364386435383239
33323738366534633730666436303433343731306662393863323633653263316138386365376666
35316365303361623030383836316436323663646464386231346432396563663133643834383636
61326534313237316130393538613834656231303732656163346237643535663239366536636633
36306137616664623735613966343264653932363035373336636465323163393539363064386562
31626138316163393466323333613530376265386136376330636364363166323061383034623336
38643166363864383264373665323238326232376633653565356536376466303834313733613531
65333734353036303935333533306334306231373731353463346461353930316562316439356562
38336435366335333230323766626134376131323435323735653736336662313962393766383435
39323734643037643066363338373332653830393337306633336131663131616164336536393837
35383366316130343162663231343763373331613261393566366133346564636334643464373535
37633536323531613831656662323263316630623061383930363637346438623735383430366538
39303961326461323661346630313636643531303265393461373036306435353863643036623665
66333965303032653537613232633162303138343632396134336130333430636666376430323466
61323535313463653866666265313765623831376633666534623033643063386231623238656439
63323166373764306162613233323466366363666535643339646361306638343762393834343131
31393437373733343138306563363032353831616334383631656266346131303161633265343461
62343234383936303664643234323665343635626435613766343737396564656137393061666165
66313531666562303030323764356632626233333432343461393362303563643661336335366339
62346366643835303563646161366434386532363265313531303634336136653062613464376138
66336333623565623263363561303537303337623137656430353830353937323265313837333237
62343132326665326130376566626661366534353335366532623539303536323762646462306261
63383133633462376162316338663765393933663536663239636439643733376434333030616131
63326332336563326232346430643534336133376334646635653862333133306135666132353839
37336136346464363365633262623630343463343035666161626665663030346533303266313837
32323566393630626566393334353832383235626161343532323930656430343739663432333866
62663136333637663563366536303437363964666638326134373766313837383431663733383630
63336432656239393465353666383131326536643531663337396234396663373432303163653331
33626237386237626433653637313835376632613131663235353037336231613134633065323035
31366531343131303937663561336262623062313961366233633430323639383332656236363535
35353639633366366439666532326539666230323338643931383264306436386634316331393133
33393963303734303037353139356436313036343766646131333735356266333434333039363339
62396231303137303236626439633331306663313630653437363733656130653863646537316536
39346233633436323565363466653862333630633030666136613237333663643339306334613532
63343565393632353138616637356339623639373135636334333130323032346536626465323430
63383363313338636466316464303039633236343038613734633632633234313837656436663137
62643130383463333137363537646233613366653664613137623130333330636362
38306162656631353365313637393663316134623036643364383033613731356230663464376264
3335653933643733613462636638396664363762636561300a376538626636303765613633646633
63333534656163663834303039646639646530333532313732643261356262323764616463393832
3137306637306565610a653637626438353766323031336665326231626538323637313763373934
30303332656263623938666235643866343363363139653861343533313431396235333539333432
65613236386434333635636431356236643335316362636530303834353235646337643639333538
31643330393433323739343762323937643064313661643265376330633264316137373363303935
66346134643432666463383333653735626437666137386135353532393638363834346164643335
38393232623130346363636335313866623239373366613864356561636661343537383364373164
66643232393262393536623130653332323663363263323036663662316163326466306334363363
66306365366566326239346537656562363762373165613063376139383363313038373235303062
65326531653635333034653439613563313539633834393562343164613661386532306665663433
32663432656664333063376263346439316265646435623533623337333162656138636139303931
31333561623838393239313761383665663733366461623830343165336538393362353132306335
37396565616435343732626331373735313165333061346435646664376339636438373764643731
66356464316336383834646333656164363535373065643665393435393266363432346239663161
36393336346433326130303264626234613135626538313938663039386133336233373262363566
33386163393936663165643530663865663436663066333231316334306435623966666636633638
38616338316137393831303436653562386265373064373163306133346434616238393966623330
39396237326461643865336364343263343230626362646162623136353235366431626362313030
64633137306231346561353630636533353239373562396665376139303936323836633764616434
35376135656338616139376261366637343433333063343864343362613135343364623265313861
36303565333830323933333864613534626466373033666235626365346531323631386365323835
61613564386466333933613162326431613963333864393362376163313161643165356134343438
38396533363565343233643863343432313165386465303336626337333331646664626262643333
64343438653335663234653466663239616633653162383630666639613738323734646431623264
65343535336637323063366536663433366363626632383536653765373830666235326530636362
35303432333832353366363731643863366134626139623435613336626238303837316433623238
32313930396432333836346364346436613934316136646533633339323736366135316631363132
36623931313137333932313731343936313966653163666261623937363335613035333335356533
34633838333635323464633763383765653266663233643836383135336434376364396164333233
37616438643234336337313965663034646166373436373530386463663961313362326362353437
31313837643535313039653531323765366339373130636565333939643564643533343534376638
63616431643531663765366239326135343531333037366264353961346162633633353237613430
66666433356530633835666139653932383362376334383762373530666630393764643632363331
35316134623064626439633236343938346134383938333832336533373838633466613364653563
64626631303435653339356631323137336538633233393962306531626266353766386162363031
39363961623033323661643136326435643466303332646234396339653833653937666532336138
37646336383963616630333566633537303736656666663635316631383537303035323131393862
33343335386235333632656436356465646235313638313634353631393365366166383133636665
66363463363339646133353831666631366439646364393239346166343062663866373938396637
31386237393065306134653636313933653062353636323963323437663163346366363263313665
32306331623637396664636165663434653630636130306133343736313262303635353661373533
61313466376365303031376336316431636365633736616535623934653562336636363866356266
36336266663562623961396164316266373633383431613564646232643766663733353338623936
38663731363262646334653761666562646433353230613838353233373662313938303533303864
39316630636637343163643637356634383862363330353233653361646261623038303962613561
63373832366661373036383036623563366364636530613063366364323635323937376165376236
39663962643939386561623430623031366632646235366463656533643233613138363461656637
63323236356438303732653834626138623838323764633639373436666635363834303835366466
61306430303831303934316436373136353637373535373664666265313034646630666237636231
39376161653134356365363666633634313065323331633261623961633763313734313735633966
62643031376566343832343638613939333132353466613163386537386239363337323463396135
61393930633138333739626233663432643837643563656662646631306566663437346362613939
31363639323335623038356566323836653865653136383161666461656436313933333032336639
32333166663935656663643461303466343835303732616263626462316133306239383264353263
61313231386262376234316335383334336663326331643733643432366636326561353730623730
37313431623561353266303134313064376236626462316339656339353131363765303734356464
32336435363932353666336132363333303336323135363535666436646233366335376333383531
65363832333534623931326438616237356235626666333934373638373665613738636466383735
30333137303630366661343833663437343664303961313831336461393064643331386336663739
62623838633936323834653965326161343161356334333030616137343637353138353731363762
64623065636336643634333937323636356131373939623130306330313937656566363832663663
66313036393135306437353061303438303761303563633566656131653433663030396235323435
32346663316636373431663530393435313931663535396564363466353431343633613634383332
31326665303563316664356564356535646665653737613038636236323562616231613233633039
37643530653639313466313838343630656363653833613161656466376631653266613439626331
35363930626534346164353033323039636365363234303435636535623265393635313436666234
66623264306430306662303866303735316137383830646136666662346265613662333765656266
64613161316162616133316165623863353431376633366262386239346335306634346333316566
34396265376130306361343862383631653561616333643665353938666565306335653665373736
63626630383232363961393435646334396366663532303132666235646464393662376331333361
34663138336365633131633365336664393633376333316161336138393539333564396539343332
36626664616263353931616362633638323038356230613937386339653633626465326538383265
31646236323435323861666233656437343732343066306562363462363664386234333061396263
61316636323234633631306434363665393938323631363563346166333139633436623230353436
31303831636638666630376231303130343363393339666230363162383266616135336333386334
64313838356466306361383464623037663931353664323336666532316536316362663639353238
34616536613730343834633935646330306564643036306330626636653365653361396461316637
62636264343737333539646332316562316136343734393063313439663939663935313930333061
30343263626638353331336666373964343338343434633639326338633966396131623933346236
37373564623238363935313736313165303862356530613164653562653530316630306365646165
31326630303038396666343065356261616133373832383661393666383664323161633337376665
63393938373830343761326562303730303237393661383561386633383561386437373061396462
65376230643131353462613436316561646562356666376462386136336630636165333236636630
35653164333437383565396637343762646665333734303764623638323532363164653139333937
39313834303531636434366663386435396266663930623733366261656634666531626234386239
62613466313636326238303164666332633632333364636331396264396164646639653761373863
66653761393734643362306538356263353265616330393635343737363666623962346261366134
30393937376265626163376565343364323366383330613832366434313034316164636331653063
65356630663634616465363231666163376437353038303934356561666363333663333239313031
34356463613963633331646364336431333630633737623766623361336432646339373364303661
37656630376137613232306163656430323236306632353837363536376161656365366531313363
32623537303439343438656461363233353931356566323963363662303838666465363464353833
39386230653962373333643135353533323737343265343334316234613736616639613435616165
61373431353463643936613631393461393637356264366665383538653336353535613330376465
65616261666463623236313437656232306164643538653562376539613736303761636531613862
30323532343339343135356431303866333537346233336266363630346562646237646563313331
35393039383436633230653030623637663030393539363163393930616330373166313161346336
38373963393834396133363966636638336161666234346564623761303262366336363061343866
38356238323366613066323264366337393232343331636532666462613263626332376561616334
63373433663562353466353062643965623635643464393238363965636532643439383764626566
33646437333365653563393337343537316437323038313339316135303564376161323863303665
62373564343036333564646565393738306231646537393636356234613639663466636335393031
35623562343566386261376163303939653861623364373433383363316134303236663361613062
37346664386162333130323134616264373237393639376533383036323131633963363665633531
62663533383666613464386638383965346331643837356331326661303034376163373362386134
38353461343233626365

View File

@ -5,6 +5,8 @@ dhcpd_primary: 172.23.13.3
dns_primary: 172.23.13.3
doorlock_domain: lock-auweg.binary.kitchen
name_servers:
- 172.23.13.3

View File

@ -3,4 +3,7 @@
radius_hostname: radius3.binary.kitchen
slapd_hostname: ldap3.binary.kitchen
slapd_replica_id: 3
slapd_role: slave
unattended_reboot: "false"

View File

@ -0,0 +1,6 @@
---
root_keys_host:
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICyGAePGA47K+VNFcKdvcQG3xM3ywcnrVtUD7wPrIin1 christoph"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGqSDdYNxbI3C5PMtjBHmTukbapSzpXDY0x3aICQkZhl toffy"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINIhrQu5sf9LYoQ6ll1ShqDMX8xpsV9RUiaSw95JGafH flo@io3"

View File

@ -3,4 +3,5 @@
radius_hostname: radius2.binary.kitchen
slapd_hostname: ldap2.binary.kitchen
slapd_replica_id: 2
slapd_role: slave

View File

@ -13,4 +13,7 @@ ntp_peers:
radius_hostname: radius1.binary.kitchen
slapd_hostname: ldap1.binary.kitchen
slapd_replica_id: 1
slapd_role: slave
unattended_reboot: "false"

View File

@ -1,5 +1,5 @@
---
root_keys_host:
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAB+wC+Lik9TNbRo40+e2BmJzJY8EuwRiJzKKvGCHlMmagOmZVf+zUmjc1uMvrgoA4UPJyKlkW1HqRhKLmsoccD2wg1JLlnjx6KBhiPGjPt833eWv0CyfJVqoHVPUs14BwCRGzuFZPXh8LC1XWiDlo23RC0RgPpk+wcOzf79ZivYSL4UNMcBIMIKmPlRwBLRUUXjYU2jgv1mWvIQVdKRbwmLk7FajREANKiLj+Tk+D4VmkDq6gUqXZHYbyUauwrtpYSv2JM6YQYhWz+eNXIID1NmlopAf66RwFxAaane6qMUMSCQw3HUBL2BjFGgmmdJPvsEfrj+S1CYh61iC1NHmPhP6DDnQO7aiP6dWLnRXLg4qcUaN0XGNZmhScls/jNbN4U+w6gIlR12KyoCJOK4pXiifBiuqmFGucyETex1jdKoaLPeB8Smu4HkFksmRgTZHbiYVvkgI/iW9KjBBzxCc8cwehabUpQ0DVN4chpFiFNHb3SfCh6W/3IKFcu4ou4lbvVowq+v/M7aDhjSqGEBMS/HRMQ8KteNTngFBcpTzMPBz1RQIOqlWUGp8yqu1SwZ/ZG1nMyUehchfkw/n+ML676UYMCZX2m7hqWXVccCnJLzFApv+0Lzqf3TNSbeLS1N/MDdjg+uejtj1889/leIF1/CnaHIs7WJN1qmdeVGw== anti"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGqSDdYNxbI3C5PMtjBHmTukbapSzpXDY0x3aICQkZhl toffy"
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDMJDyq3veSnK+6hSw+Ml6lvTQTPC6vRFqtDXvPBnOtId8F9+/N0ADcPa5UTesnTkQgSAY7WpSoN5D6clYzdcPR55e5WZwZfMSkX14D7v7mrGxUcE4HshTorfEYv5XBd11Tvu0ruMdxlFQ+VFHkZIF305xgyx32INA3zUfnhzHJlKEdIAy8iSbERUV+X5kB59aep6xSpitCHJtsTT5Ky+EsvAhndKB5hDBuwVVr0+Sg5PypeTQ4zzWFyR6DFBEvyEj6bs/pQff9WxSRIXEuLffXOXdRLGHWqX7PfhWcH9WNH55WT7ZKCMGVuG4kYLkZ633c296ISg9q0eNKn99oHuwvzVg/wV3wndHINE+iUKKJjaRUpDUwd9DftFqMbFGATpf8en6KPs/7bgZUGACIfDO6Uy59V75cntiMFZc+BnnpV2qLVBFFD5ClRBCRdqH5D0px+jpuQFo9EUhggL4jzlj9wQf26zv0E4zSGTqbM1jfO3zcXlxSjg3H3Og2GAO5fCQiodpsqkW9Hby/p4s5l+P97tlVlgapnZlSA/1em4lmYshmRk/9scN8PMSXfW9uhncv9qXqp0ypEqEuNfj5u/1Eu8zmayIA9V23xyPn92LMT6MP2BB1kC7jeAXfXHdKBhTYW6bLQJKMs9nypH6RODK1fb9JlIrB61ZDJ9L5K++o2Q== noby"

View File

@ -5,4 +5,4 @@ nfs_exports:
- /exports/backup/rz 172.23.9.61(rw,sync,no_subtree_check)
- /exports/tank 172.23.0.0/22(rw,sync,no_subtree_check)
uau_reboot: "false"
unattended_reboot: "false"

View File

@ -0,0 +1,4 @@
---
root_keys_host:
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG6uNwYKF3rqleM/HP95M+rsm+gwKY8epdtW2OutneY9 ralf@pluto"

View File

@ -0,0 +1,5 @@
---
root_keys_host:
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDCNBY95YcFFBeiHM3IDzqKT/X/U09bpAWXwkCWIg6KlZumZg891apx6a0HLDannoBt7YCyYFgl3c1eJ36D08tRcy5c5k/+8Xhq0hq/HWo3EV5sd6Y+8xeTRST6Um8nyxHoSI7xw79yRoteOUDIzPnmDtbLQ2z3vWkA/H1EZQ4IjeQgFhl9vl4EyuAJ47Cdlv1D870BDspgAEoxSbipQEEnPsIctdyySp1R/sNC5tuP6qaoQ6nIDFdgv5rcY8SmgJQ2otlGex18RSBObBjdfyepV71mluqfs6HtVsM9zDvRUwY/FX4wmVc4QPdPLh/2kzEZi0YzefB10tpsuvhaOFI8JqXBDuSFZh3xCzRmKRlmqn50jrvGkYGUWg/GNYNF2rLCltCzg3BJHGaFh9sOtjaKLW+hTJwDtz4LIqNZb6w/2586hzjGCrrZgN24eLEcdp7iTPnkCul+kgOZaa62ytdKjza6/tgKCeUaEwmJTBuKMp/hor/LdLeibYgTtqUoFB7j1Ti2ey7oHly1oiSaKcR/hChgx0sniltRmzJI7KLuUiF+xkpv5Kf4rGl7UjvVxyf3glNh5DL87CfeWkGF3dgsjJdfYIHVJz/Bf6x0aB2TyybF8Exm0R05dhMT6ahZqMqa5d/aUZN+S3MaXw2amHWbMe8VcFpu/AztqrQM8sM+Mw== sprinterfreak"
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDMJDyq3veSnK+6hSw+Ml6lvTQTPC6vRFqtDXvPBnOtId8F9+/N0ADcPa5UTesnTkQgSAY7WpSoN5D6clYzdcPR55e5WZwZfMSkX14D7v7mrGxUcE4HshTorfEYv5XBd11Tvu0ruMdxlFQ+VFHkZIF305xgyx32INA3zUfnhzHJlKEdIAy8iSbERUV+X5kB59aep6xSpitCHJtsTT5Ky+EsvAhndKB5hDBuwVVr0+Sg5PypeTQ4zzWFyR6DFBEvyEj6bs/pQff9WxSRIXEuLffXOXdRLGHWqX7PfhWcH9WNH55WT7ZKCMGVuG4kYLkZ633c296ISg9q0eNKn99oHuwvzVg/wV3wndHINE+iUKKJjaRUpDUwd9DftFqMbFGATpf8en6KPs/7bgZUGACIfDO6Uy59V75cntiMFZc+BnnpV2qLVBFFD5ClRBCRdqH5D0px+jpuQFo9EUhggL4jzlj9wQf26zv0E4zSGTqbM1jfO3zcXlxSjg3H3Og2GAO5fCQiodpsqkW9Hby/p4s5l+P97tlVlgapnZlSA/1em4lmYshmRk/9scN8PMSXfW9uhncv9qXqp0ypEqEuNfj5u/1Eu8zmayIA9V23xyPn92LMT6MP2BB1kC7jeAXfXHdKBhTYW6bLQJKMs9nypH6RODK1fb9JlIrB61ZDJ9L5K++o2Q== noby"

View File

@ -2,3 +2,4 @@
root_keys_host:
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC0Wq37DP89UO6MiJvvRbsXEcEV9d5/JJb7K2R0WHsHa sct39667@m-mob-062"
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDMJDyq3veSnK+6hSw+Ml6lvTQTPC6vRFqtDXvPBnOtId8F9+/N0ADcPa5UTesnTkQgSAY7WpSoN5D6clYzdcPR55e5WZwZfMSkX14D7v7mrGxUcE4HshTorfEYv5XBd11Tvu0ruMdxlFQ+VFHkZIF305xgyx32INA3zUfnhzHJlKEdIAy8iSbERUV+X5kB59aep6xSpitCHJtsTT5Ky+EsvAhndKB5hDBuwVVr0+Sg5PypeTQ4zzWFyR6DFBEvyEj6bs/pQff9WxSRIXEuLffXOXdRLGHWqX7PfhWcH9WNH55WT7ZKCMGVuG4kYLkZ633c296ISg9q0eNKn99oHuwvzVg/wV3wndHINE+iUKKJjaRUpDUwd9DftFqMbFGATpf8en6KPs/7bgZUGACIfDO6Uy59V75cntiMFZc+BnnpV2qLVBFFD5ClRBCRdqH5D0px+jpuQFo9EUhggL4jzlj9wQf26zv0E4zSGTqbM1jfO3zcXlxSjg3H3Og2GAO5fCQiodpsqkW9Hby/p4s5l+P97tlVlgapnZlSA/1em4lmYshmRk/9scN8PMSXfW9uhncv9qXqp0ypEqEuNfj5u/1Eu8zmayIA9V23xyPn92LMT6MP2BB1kC7jeAXfXHdKBhTYW6bLQJKMs9nypH6RODK1fb9JlIrB61ZDJ9L5K++o2Q== noby"

View File

@ -0,0 +1,11 @@
---
root_keys_host:
- "# Thomas Basler"
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDMJDyq3veSnK+6hSw+Ml6lvTQTPC6vRFqtDXvPBnOtId8F9+/N0ADcPa5UTesnTkQgSAY7WpSoN5D6clYzdcPR55e5WZwZfMSkX14D7v7mrGxUcE4HshTorfEYv5XBd11Tvu0ruMdxlFQ+VFHkZIF305xgyx32INA3zUfnhzHJlKEdIAy8iSbERUV+X5kB59aep6xSpitCHJtsTT5Ky+EsvAhndKB5hDBuwVVr0+Sg5PypeTQ4zzWFyR6DFBEvyEj6bs/pQff9WxSRIXEuLffXOXdRLGHWqX7PfhWcH9WNH55WT7ZKCMGVuG4kYLkZ633c296ISg9q0eNKn99oHuwvzVg/wV3wndHINE+iUKKJjaRUpDUwd9DftFqMbFGATpf8en6KPs/7bgZUGACIfDO6Uy59V75cntiMFZc+BnnpV2qLVBFFD5ClRBCRdqH5D0px+jpuQFo9EUhggL4jzlj9wQf26zv0E4zSGTqbM1jfO3zcXlxSjg3H3Og2GAO5fCQiodpsqkW9Hby/p4s5l+P97tlVlgapnZlSA/1em4lmYshmRk/9scN8PMSXfW9uhncv9qXqp0ypEqEuNfj5u/1Eu8zmayIA9V23xyPn92LMT6MP2BB1kC7jeAXfXHdKBhTYW6bLQJKMs9nypH6RODK1fb9JlIrB61ZDJ9L5K++o2Q=="
- "# Ralf Ramsauer"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG6uNwYKF3rqleM/HP95M+rsm+gwKY8epdtW2OutneY9 ralf@pluto"
- "# Thomas Schmid"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC0Wq37DP89UO6MiJvvRbsXEcEV9d5/JJb7K2R0WHsHa sct39667@m-mob-062"
unattended_reboot: "false"

View File

@ -4,3 +4,4 @@ grafana_domain: zelle.binary-kitchen.de
root_keys_host:
- "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAib/9jl5oDkCF0g9Z2m0chruxA779TmQLy9nYFWq5qwxhCrBwgPBsHjyYJoA9vE6o+MB2Uc76hPNHxrY5WqOp+3L6z7B8I7CDww8gUBcvLXWFeQ8Qq5jjvtJfT6ziIRlEfJBHn7mQEZ6ekuOOraWXSt7EVJPYcTtSz/aqbSHNF6/iYLqK/qJQdrzwKF8aMbJk9+68XE5pPTyk+Ak9wpFtiKA+u1b0JAJr2Z0nZGVpe+QlMkgwysjcJik+ZOFfVRplJQSn7lEnG5tkKxySb3ewaTCmk5nkeV40ETiyXs6DGxw0ImVdsAZ2gjBlCVMUhiCgznREzGmlkSTQSPw7f62edw== venti"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC0Wq37DP89UO6MiJvvRbsXEcEV9d5/JJb7K2R0WHsHa tom"

View File

@ -1,3 +1,4 @@
---
uau_reboot: "false"
sshd_authkeys_command: "/usr/bin/sss_ssh_authorizedkeys"
sshd_password_authentication: "yes"

View File

@ -4,9 +4,8 @@ root_keys_host:
- "# Thomas Basler"
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDMJDyq3veSnK+6hSw+Ml6lvTQTPC6vRFqtDXvPBnOtId8F9+/N0ADcPa5UTesnTkQgSAY7WpSoN5D6clYzdcPR55e5WZwZfMSkX14D7v7mrGxUcE4HshTorfEYv5XBd11Tvu0ruMdxlFQ+VFHkZIF305xgyx32INA3zUfnhzHJlKEdIAy8iSbERUV+X5kB59aep6xSpitCHJtsTT5Ky+EsvAhndKB5hDBuwVVr0+Sg5PypeTQ4zzWFyR6DFBEvyEj6bs/pQff9WxSRIXEuLffXOXdRLGHWqX7PfhWcH9WNH55WT7ZKCMGVuG4kYLkZ633c296ISg9q0eNKn99oHuwvzVg/wV3wndHINE+iUKKJjaRUpDUwd9DftFqMbFGATpf8en6KPs/7bgZUGACIfDO6Uy59V75cntiMFZc+BnnpV2qLVBFFD5ClRBCRdqH5D0px+jpuQFo9EUhggL4jzlj9wQf26zv0E4zSGTqbM1jfO3zcXlxSjg3H3Og2GAO5fCQiodpsqkW9Hby/p4s5l+P97tlVlgapnZlSA/1em4lmYshmRk/9scN8PMSXfW9uhncv9qXqp0ypEqEuNfj5u/1Eu8zmayIA9V23xyPn92LMT6MP2BB1kC7jeAXfXHdKBhTYW6bLQJKMs9nypH6RODK1fb9JlIrB61ZDJ9L5K++o2Q=="
- "# Ralf Ramsauer"
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2bKOm2jd2QsPaJPE4V3bHBLjXB3pnpggkdEhf03aFvB08C72vKQcHpIYNhp8DLBr4N5epA0JP1cXdRSdKhQgzYbqL8CQgOJoNwf0OeOhFyXdThu1OqmaRMrRGlB/Q+sqBEXaknHqcXzq+24zkR+ID7sGkq7WaIKPln0qNY5RxWYrPE98ZhU5fZh1Qorcv34UBHYhVP4y8vM43LHcbkLgr0gg9tb2vItF6YvyIxgtz6KCODObzBZfkLLnVhVcb9VWbDh72rIz4OXI1fl+mCCH2l7XlqKP1vhF5LVsUjPcGY3Go0fw2vHIyxWe479OJ/9elFnKRIUY/f1Xz+YikLTmj ralf@YUBIKEY"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBUAsEgyHNq7iQpAltGVVHGdf/PIQH7sYuq1PbaFEJzj ralf@lefay"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG6uNwYKF3rqleM/HP95M+rsm+gwKY8epdtW2OutneY9 ralf@pluto"
- "# Thomas Schmid"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC0Wq37DP89UO6MiJvvRbsXEcEV9d5/JJb7K2R0WHsHa sct39667@m-mob-062"
uau_reboot: "false"
unattended_reboot: "false"

View File

@ -0,0 +1,4 @@
---
root_keys_host:
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC0Wq37DP89UO6MiJvvRbsXEcEV9d5/JJb7K2R0WHsHa sct39667@m-mob-062"

View File

@ -2,6 +2,6 @@
root_keys_host:
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCtTJqeSsB+aRiQ2WeFLVA5dz5YfCuv2TZmsyFqZ8NefJH/ZP3+gud3DwBq4l9HbDJUbfvApLQ9qbwaX0VhBv67mM6f4sWNG8uUW+9MYd6ZTeP3KUwZIHM52nqMFe5XScADL4s8Jsnb08gVp9xdcdufsbiLNYfuNFk+wcwRYtD5eqXZi3oaqshlq61LfBeC958vzvceDrZ2obfCJJ2pvmhUyORvgb6jXfx3kZku5qgk6m9NfyY95UZvSweDZPiN5YqLYekz+jxrYDyeA0DPgwlTcyGn8JI9/HkAD/odTpTAH+T6sbf0OkUi7ufNElAXvxDOJZN8NhxPFfUAW9naTYwGoPd4OJw0AOVLzKcVIjEXKtrxeQ0NOZVoucLFgnXO4iDZGrVHohPVj1UbrVpF00lokBLz1Xh4egrNw0g2Gt28HmZ9lg5Ymv8jJWAy87r5wV0O6aIuseGkSr/V6+92AGK/Yy1tKhZujtv5+CvVVBrLvoOnJJh8vFoVuRM+ucLBhqpewDY2yHZHzQ3J5SZKJ30mBUSYAKHBqVI4VmC/n235VMumIEsqnZvzk96G5TXWyZb0qzkXcct1H8MyQgG0SR0G4Ylm5skCZppEE7udV/wb8lRZv+2YrqBueKZ+Wu6IT3HJbUkor7CcbORjhwL4ETziPm4g4BrTPGUTjyeZ4nSDPQ== exxess"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBUAsEgyHNq7iQpAltGVVHGdf/PIQH7sYuq1PbaFEJzj ralf@lefay"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG6uNwYKF3rqleM/HP95M+rsm+gwKY8epdtW2OutneY9 ralf@pluto"
uau_reboot: "false"
unattended_reboot: "false"

View File

@ -0,0 +1,4 @@
---
root_keys_host:
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDMJDyq3veSnK+6hSw+Ml6lvTQTPC6vRFqtDXvPBnOtId8F9+/N0ADcPa5UTesnTkQgSAY7WpSoN5D6clYzdcPR55e5WZwZfMSkX14D7v7mrGxUcE4HshTorfEYv5XBd11Tvu0ruMdxlFQ+VFHkZIF305xgyx32INA3zUfnhzHJlKEdIAy8iSbERUV+X5kB59aep6xSpitCHJtsTT5Ky+EsvAhndKB5hDBuwVVr0+Sg5PypeTQ4zzWFyR6DFBEvyEj6bs/pQff9WxSRIXEuLffXOXdRLGHWqX7PfhWcH9WNH55WT7ZKCMGVuG4kYLkZ633c296ISg9q0eNKn99oHuwvzVg/wV3wndHINE+iUKKJjaRUpDUwd9DftFqMbFGATpf8en6KPs/7bgZUGACIfDO6Uy59V75cntiMFZc+BnnpV2qLVBFFD5ClRBCRdqH5D0px+jpuQFo9EUhggL4jzlj9wQf26zv0E4zSGTqbM1jfO3zcXlxSjg3H3Og2GAO5fCQiodpsqkW9Hby/p4s5l+P97tlVlgapnZlSA/1em4lmYshmRk/9scN8PMSXfW9uhncv9qXqp0ypEqEuNfj5u/1Eu8zmayIA9V23xyPn92LMT6MP2BB1kC7jeAXfXHdKBhTYW6bLQJKMs9nypH6RODK1fb9JlIrB61ZDJ9L5K++o2Q== noby"

View File

@ -1,4 +0,0 @@
---
root_keys_host:
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINkN1eqP1Mv29z0npVznVJ4Cumyf4EoqS44xHKl0ms0e timo@charon"

View File

@ -0,0 +1,4 @@
---
sshd_authkeys_command: "/usr/bin/sss_ssh_authorizedkeys"
sshd_password_authentication: "yes"

View File

@ -1,4 +1,5 @@
---
root_keys_host:
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDcoIXTF0RtzM2vDir8axegFpLKNxGJyYNLj2triQm59GIvNRPHG/nBoaDcUwRT5b6Ew91KMw6iT1eI0n9oKbTMHZHvdSLLUmNmZT4z4JQOQm0n415ZW9m1r3R3S8sAxiLQ+5U91xnbHlzfuBKvpI56RLZNbkhAcqw9kS/UasO0UAFpdGL5CBnbJt0KPb4C9cYUM6H4clZFpWVDdK3+6gh+/Jx9QPmpPv0wfWI7z0fvQYUcXDFLjPh8CFK7BOcPZcv4V4bl5Tq1dTURMLaueTD0F5Ygn7cxKaDNvql4EIPDZaRCEz3cIvFB7435emRgZC54YmhWIYC+oJrLTlMCrYKhISLtWg92EcE/aCUNL0V+n1EK5dkds+AY/eDiyP58ArAHNsopXmcHiko3goyZyEK5Y0tJ5sA9L4Q0mgLz/rW1CsZHcpiYU9yKpDRscbf3DDlFMzMYG8O9JufgcyF+GFhxIhXesfjJ4gDNepaYhd/qutwThip027cKtoczLAMR2xbT6bUYr7KKmxvXVlP7Epkfi3N2cj/Wx9gAm1qIs1yjcWCe71k1QMC+dTNTV+T9Ch5d1lji7lGOKDl70rB/WytdISVlEJr8TviBk27oldCuC1WCPGjRxWeGv5uVxE9O7nQh0dxox+HFssa7ENuDR9LEd9O6Zvuf09pzDASB0PjFyw== bedah@binary-kitchen.de"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBMLLlnlzbf5GTes2QrxuOTAR0BWTtbqQS80yPfI0mbh timo@styx"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC7oyUa65KoSuv9l8tH/zVgZZ5mg5P45RIhlRZSt/amL x70b1"

View File

@ -0,0 +1,7 @@
---
root_keys_host:
- "# Thomas Schmid"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC0Wq37DP89UO6MiJvvRbsXEcEV9d5/JJb7K2R0WHsHa sct39667@m-mob-062"
unattended_reboot: "true"

View File

@ -1,5 +1,6 @@
---
root_keys_host:
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDetxImx0c/Fald9Y2wIHNJCi356rfskVUBT/SGH64N1HVZGBZhlWkeKJkCCufm3jLXdjJrlFDFlP0EjbohR6SP3VVf8Z7zAoazCtxWq0dyjPDvOjUrIuBeILbXZu0Q+qmFHPwvp5vR2wWFUwNLl1Te3CNSzQnn2KxOXfeZ56cDogzonlxh5JXDd0JWpINAuLp7uR6IshfmEMKsyCGjqzMUJ9YCztzkI9TJYDc4xitmQTvea44hRhyeIRf2ip8YlHnEIpJ9i712CQ5UEHBZUfy2gZwoLW0yYy9HJucF2A5gzvoUQ1wjA9/irlGiabKq6rOyT4ezBSoZZLEBIa6GU4qKMc1rE4Hnifi0AUnQ+4MqrCCu2QTJGNvyYzNt2XtkjakN3gtlz5xCsYV08PEB4VjAFVIa1yku66UblAW5KqixfE4mU7Z29b8faF5Ld7XO1tlNgiuHih7+JoQiwJ+auULYwRX1C2v6fAEU3PGU73VT3TZJTa5IS+fkTWzn643atxklP6Lmo8hrZIS0NXIr22OP1zYuCZm5/JLDhe0qOCYd8YQU2dNww4OUZ1uMLNOM+0UJvCHbWdjw8amR58yO5W83xp0qLHGUFjDpgvuP4ius4gvwjlhFdSVYRGwr2intLitXvOf3btjBJKUDIN0VM4MFzkvyUyCOgBgEkdCBvI7g4w== philmacfly"
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC8MB80WTE9ZW/mGRdPWjkpiupvoSGVnmK9wvOqm6xpwDwZkD52RGfiWQW2IbJObCLGJxoigSi4lVvrJD6MWjXAsj5Foq1H3Ok+xJET2zfWMf4s/0uStSS9kaJ/gI6Qd5jMsnz1xATTInWAHIK7u3I4trt81FWkXQdfRSNC0mPh/PYBsXzwgx/m5s3o1nUtcIBXFZUeGNnhSSf1As0Wi0Bsv3GXIIDH4b4cIi7aGHqGuaes2cTUW1r0RspUVI139Gx2O4mgv4JE/n61t/4AzfYGoaszoqPCHQt5LR8Wd/XIaPLwnM1kzo4QVqNgqkY/awryt9IPoAFqJBbIvP0Bt3irGOPrdl7e7KcV55a9gPpCmz+bVaQO2oBmQ34AsZFg9tCP26OmViQu0Lx14vWWYDFkxzCxCDDngo6+f+e5AsyAjO2pHz/ZKv/VE5P3y8CnadHG88cO0qeoI6VH4jjGk5GYYrVD4BHf8StlvAg8unwMlYchuvaKLtQyQXFW40ww4VDdPo6KSv5T5a6SozEzRtN2QKRLyxIz68xVnKYq4TanR2lsm6wecUSriV48qscglokcTKJspWD29DQ62dMt5xFDtM8i9dE8W3SUePB8qPTBK9LUrO8PkGjb0X/RgMZB5bCWBmz4I1G1X+9Y8OLpr4NKGP9UFntYtJ3tpMCHtPgf4Q== philmacfly"
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCtTJqeSsB+aRiQ2WeFLVA5dz5YfCuv2TZmsyFqZ8NefJH/ZP3+gud3DwBq4l9HbDJUbfvApLQ9qbwaX0VhBv67mM6f4sWNG8uUW+9MYd6ZTeP3KUwZIHM52nqMFe5XScADL4s8Jsnb08gVp9xdcdufsbiLNYfuNFk+wcwRYtD5eqXZi3oaqshlq61LfBeC958vzvceDrZ2obfCJJ2pvmhUyORvgb6jXfx3kZku5qgk6m9NfyY95UZvSweDZPiN5YqLYekz+jxrYDyeA0DPgwlTcyGn8JI9/HkAD/odTpTAH+T6sbf0OkUi7ufNElAXvxDOJZN8NhxPFfUAW9naTYwGoPd4OJw0AOVLzKcVIjEXKtrxeQ0NOZVoucLFgnXO4iDZGrVHohPVj1UbrVpF00lokBLz1Xh4egrNw0g2Gt28HmZ9lg5Ymv8jJWAy87r5wV0O6aIuseGkSr/V6+92AGK/Yy1tKhZujtv5+CvVVBrLvoOnJJh8vFoVuRM+ucLBhqpewDY2yHZHzQ3J5SZKJ30mBUSYAKHBqVI4VmC/n235VMumIEsqnZvzk96G5TXWyZb0qzkXcct1H8MyQgG0SR0G4Ylm5skCZppEE7udV/wb8lRZv+2YrqBueKZ+Wu6IT3HJbUkor7CcbORjhwL4ETziPm4g4BrTPGUTjyeZ4nSDPQ== exxess"
- "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDMJDyq3veSnK+6hSw+Ml6lvTQTPC6vRFqtDXvPBnOtId8F9+/N0ADcPa5UTesnTkQgSAY7WpSoN5D6clYzdcPR55e5WZwZfMSkX14D7v7mrGxUcE4HshTorfEYv5XBd11Tvu0ruMdxlFQ+VFHkZIF305xgyx32INA3zUfnhzHJlKEdIAy8iSbERUV+X5kB59aep6xSpitCHJtsTT5Ky+EsvAhndKB5hDBuwVVr0+Sg5PypeTQ4zzWFyR6DFBEvyEj6bs/pQff9WxSRIXEuLffXOXdRLGHWqX7PfhWcH9WNH55WT7ZKCMGVuG4kYLkZ633c296ISg9q0eNKn99oHuwvzVg/wV3wndHINE+iUKKJjaRUpDUwd9DftFqMbFGATpf8en6KPs/7bgZUGACIfDO6Uy59V75cntiMFZc+BnnpV2qLVBFFD5ClRBCRdqH5D0px+jpuQFo9EUhggL4jzlj9wQf26zv0E4zSGTqbM1jfO3zcXlxSjg3H3Og2GAO5fCQiodpsqkW9Hby/p4s5l+P97tlVlgapnZlSA/1em4lmYshmRk/9scN8PMSXfW9uhncv9qXqp0ypEqEuNfj5u/1Eu8zmayIA9V23xyPn92LMT6MP2BB1kC7jeAXfXHdKBhTYW6bLQJKMs9nypH6RODK1fb9JlIrB61ZDJ9L5K++o2Q== noby"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC0Wq37DP89UO6MiJvvRbsXEcEV9d5/JJb7K2R0WHsHa sct39667@m-mob-062"

7
hosts
View File

@ -8,7 +8,10 @@ epona.binary.kitchen ansible_host=172.23.2.7
pizza.binary.kitchen ansible_host=172.23.2.33
pancake.binary.kitchen ansible_host=172.23.2.34
knoedel.binary.kitchen ansible_host=172.23.2.35
schweinshaxn.binary.kitchen ansible_host=172.23.2.36
bob.binary.kitchen ansible_host=172.23.2.37
lasagne.binary.kitchen ansible_host=172.23.2.38
tschunk.binary.kitchen ansible_host=172.23.2.39
bowle.binary.kitchen ansible_host=172.23.2.62
salat.binary.kitchen ansible_host=172.23.9.61
[auweg]
@ -27,10 +30,12 @@ fluorine.binary-kitchen.net
neon.binary-kitchen.net
sodium.binary-kitchen.net
magnesium.binary-kitchen.net
aluminium.binary-kitchen.net
krypton.binary-kitchen.net
yttrium.binary-kitchen.net
zirconium.binary-kitchen.net
molybdenum.binary-kitchen.net
ruthenium.binary-kitchen.net
rhodium.binary-kitchen.net
barium.binary-kitchen.net
argentum.binary-kitchen.net
cadmium.binary-kitchen.net

View File

@ -3,11 +3,11 @@
- name: Reload systemd
systemd: daemon_reload=yes
- name: Run acertmgr
command: /usr/bin/acertmgr
- name: Restart drone
service: name=drone state=restarted
- name: Restart 23b
service: name=23b state=restarted
- name: Restart nginx
service: name=nginx state=restarted
- name: Run acertmgr
command: /usr/bin/acertmgr

49
roles/23b/tasks/main.yml Normal file
View File

@ -0,0 +1,49 @@
---
- name: Install packages
apt:
name:
- docker-compose
- name: Create 23b group
group: name=23b
- name: Create 23b user
user:
name: 23b
home: /opt/23b
shell: /bin/bash
group: 23b
groups: docker
# docker-compolse.yml is managed outside ansible
- name: Ensure certificates are available
command: openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/nginx/ssl/{{ bk23b_domain }}.key -out /etc/nginx/ssl/{{ bk23b_domain }}.crt -days 730 -subj "/CN={{ bk23b_domain }}" creates=/etc/nginx/ssl/{{ bk23b_domain }}.crt
notify: Restart nginx
- name: Configure certificate manager for 23b
template: src=certs.j2 dest=/etc/acertmgr/{{ bk23b_domain }}.conf
notify: Run acertmgr
- name: Configure vhost
template: src=vhost.j2 dest=/etc/nginx/sites-available/23b
notify: Restart nginx
- name: Enable vhost
file: src=/etc/nginx/sites-available/23b dest=/etc/nginx/sites-enabled/23b state=link
notify: Restart nginx
- name: Systemd unit for 23b
template: src=23b.service.j2 dest=/etc/systemd/system/23b.service
notify:
- Reload systemd
- Restart 23b
- name: Start the 23b service
service: name=23b state=started enabled=yes
- name: Enable monitoring
include_role: name=icinga-monitor tasks_from=http
vars:
vhost: "{{ bk23b_domain }}"

View File

@ -1,5 +1,5 @@
[Unit]
Description=WorkAdventure service using docker compose
Description=23b service using docker compose
Requires=docker.service
After=docker.service
Before=nginx.service
@ -7,13 +7,13 @@ Before=nginx.service
[Service]
Type=simple
User=workadventure
Group=workadventure
User=23b
Group=23b
Restart=always
TimeoutStartSec=1200
WorkingDirectory=/opt/workadventure/source/
WorkingDirectory=/opt/23b/23b/23b
# Make sure no old containers are running
ExecStartPre=/usr/bin/docker-compose down -v

View File

@ -1,13 +1,13 @@
---
{{ drone_domain }}:
- path: /etc/nginx/ssl/{{ drone_domain }}.key
{{ bk23b_domain }}:
- path: /etc/nginx/ssl/{{ bk23b_domain }}.key
user: root
group: root
perm: '400'
format: key
action: '/usr/sbin/service nginx restart'
- path: /etc/nginx/ssl/{{ drone_domain }}.crt
- path: /etc/nginx/ssl/{{ bk23b_domain }}.crt
user: root
group: root
perm: '400'

View File

@ -0,0 +1,36 @@
server {
listen 80;
listen [::]:80;
server_name {{ bk23b_domain }};
location /.well-known/acme-challenge {
default_type "text/plain";
alias /var/www/acme-challenge;
}
location / {
return 301 https://{{ bk23b_domain }}$request_uri;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name {{ bk23b_domain }};
ssl_certificate_key /etc/nginx/ssl/{{ bk23b_domain }}.key;
ssl_certificate /etc/nginx/ssl/{{ bk23b_domain }}.crt;
# set max upload size
client_max_body_size 8M;
location / {
proxy_pass http://localhost:5000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

View File

@ -0,0 +1,7 @@
---
actrunner_user: act_runner
actrunner_group: act_runner
actrunner_version: 0.2.10
actrunner_url: https://gitea.com/gitea/act_runner/releases/download/v{{ actrunner_version }}/act_runner-{{ actrunner_version }}-linux-amd64

View File

@ -0,0 +1,7 @@
---
- name: Reload systemd
systemd: daemon_reload=yes
- name: Restart act_runner
service: name=act_runner state=restarted

View File

@ -0,0 +1,35 @@
---
- name: Create group
group: name={{ actrunner_group }}
- name: Create user
user: name={{ actrunner_user }} home=/var/lib/act_runner group={{ actrunner_group }} groups=docker
- name: Create directories
file: path={{ item }} state=directory owner={{ actrunner_user }} group={{ actrunner_group }}
with_items:
- /etc/act_runner
- /var/lib/act_runner
- name: Download act_runner binary
get_url: url={{ actrunner_url }} dest=/usr/local/bin/act_runner-{{ actrunner_version }} mode=0755
register: runner_download
- name: Symlink act_runner binary
file: src=/usr/local/bin/act_runner-{{ actrunner_version }} dest=/usr/local/bin/act_runner state=link
when: runner_download.changed
notify: Restart act_runner
- name: Configure act_runner
template: src=config.yaml.j2 dest=/etc/act_runner/config.yaml owner={{ actrunner_user }} group={{ actrunner_group }}
notify: Restart act_runner
- name: Install systemd unit
template: src=act_runner.service.j2 dest=/lib/systemd/system/act_runner.service
notify:
- Reload systemd
- Restart act_runner
- name: Enable act_runner
service: name=act_runner state=started enabled=yes

View File

@ -0,0 +1,16 @@
[Unit]
Description=Gitea Actions runner
Documentation=https://gitea.com/gitea/act_runner
After=docker.service
[Service]
ExecStart=/usr/local/bin/act_runner daemon --config /etc/act_runner/config.yaml
ExecReload=/bin/kill -s HUP $MAINPID
WorkingDirectory=/var/lib/act_runner
TimeoutSec=0
RestartSec=10
Restart=always
User={{ actrunner_user }}
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,86 @@
log:
# The level of logging, can be trace, debug, info, warn, error, fatal
level: warn
runner:
# Where to store the registration result.
file: .runner
# Execute how many tasks concurrently at the same time.
capacity: 4
# Extra environment variables to run jobs.
envs:
# Extra environment variables to run jobs from a file.
# It will be ignored if it's empty or the file doesn't exist.
env_file: .env
# The timeout for a job to be finished.
# Please note that the Gitea instance also has a timeout (3h by default) for the job.
# So the job could be stopped by the Gitea instance if it's timeout is shorter than this.
timeout: 3h
# Whether skip verifying the TLS certificate of the Gitea instance.
insecure: false
# The timeout for fetching the job from the Gitea instance.
fetch_timeout: 5s
# The interval for fetching the job from the Gitea instance.
fetch_interval: 2s
# The labels of a runner are used to determine which jobs the runner can run, and how to run them.
# Like: ["macos-arm64:host", "ubuntu-latest:docker://node:16-bullseye", "ubuntu-22.04:docker://node:16-bullseye"]
# If it's empty when registering, it will ask for inputting labels.
# If it's empty when execute `deamon`, will use labels in `.runner` file.
labels: [
"ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest",
"ubuntu-22.04:docker://ghcr.io/catthehacker/ubuntu:act-22.04",
"ubuntu-20.04:docker://ghcr.io/catthehacker/ubuntu:act-20.04",
]
cache:
# Enable cache server to use actions/cache.
enabled: true
# The directory to store the cache data.
# If it's empty, the cache data will be stored in $HOME/.cache/actcache.
dir: ""
# The host of the cache server.
# It's not for the address to listen, but the address to connect from job containers.
# So 0.0.0.0 is a bad choice, leave it empty to detect automatically.
host: ""
# The port of the cache server.
# 0 means to use a random available port.
port: 0
# The external cache server URL. Valid only when enable is true.
# If it's specified, act_runner will use this URL as the ACTIONS_CACHE_URL rather than start a server by itself.
# The URL should generally end with "/".
external_server: ""
container:
# Specifies the network to which the container will connect.
# Could be host, bridge or the name of a custom network.
# If it's empty, act_runner will create a network automatically.
network: ""
# Whether to use privileged mode or not when launching task containers (privileged mode is required for Docker-in-Docker).
privileged: false
# And other options to be used when the container is started (eg, --add-host=my.gitea.url:host-gateway).
options:
# The parent directory of a job's working directory.
# If it's empty, /workspace will be used.
workdir_parent:
# Volumes (including bind mounts) can be mounted to containers. Glob syntax is supported, see https://github.com/gobwas/glob
# You can specify multiple volumes. If the sequence is empty, no volumes can be mounted.
# For example, if you only allow containers to mount the `data` volume and all the json files in `/src`, you should change the config to:
# valid_volumes:
# - data
# - /src/*.json
# If you want to allow any volume, please use the following configuration:
# valid_volumes:
# - '**'
valid_volumes: []
# overrides the docker client host with the specified one.
# If it's empty, act_runner will find an available docker host automatically.
# If it's "-", act_runner will find an available docker host automatically, but the docker host won't be mounted to the job containers and service containers.
# If it's not empty or "-", the specified docker host will be used. An error will be returned if it doesn't work.
docker_host: ""
# Pull docker image(s) even if already present
force_pull: false
host:
# The parent directory of a job's working directory.
# If it's empty, $HOME/.cache/act/ will be used.
workdir_parent:

View File

@ -0,0 +1,3 @@
---
authentik_version: 2024.12.1

View File

@ -0,0 +1,16 @@
---
- name: Reload systemd
systemd: daemon_reload=yes
- name: Restart authentik
service: name=authentik state=restarted
- name: Restart authentik-reload
service: name=authentik-reload state=restarted
- name: Restart nginx
service: name=nginx state=restarted
- name: Run acertmgr
command: /usr/bin/acertmgr

View File

@ -0,0 +1,63 @@
---
- name: Install packages
apt:
name:
- docker-compose
- name: Create authentik group
group: name=authentik
- name: Create authentik user
user:
name: authentik
home: /opt/authentik
shell: /bin/bash
group: authentik
groups: docker
- name: Configure authentik container
template: src=docker-compose.yml.j2 dest=/opt/authentik/docker-compose.yml
notify: Restart authentik
- name: Ensure certificates are available
command: openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/nginx/ssl/{{ authentik_domain }}.key -out /etc/nginx/ssl/{{ authentik_domain }}.crt -days 730 -subj "/CN={{ authentik_domain }}" creates=/etc/nginx/ssl/{{ authentik_domain }}.crt
notify: Restart nginx
- name: Configure certificate manager for authentik
template: src=certs.j2 dest=/etc/acertmgr/{{ authentik_domain }}.conf
notify: Run acertmgr
- name: Configure vhost
template: src=vhost.j2 dest=/etc/nginx/sites-available/authentik
notify: Restart nginx
- name: Enable vhost
file: src=/etc/nginx/sites-available/authentik dest=/etc/nginx/sites-enabled/authentik state=link
notify: Restart nginx
- name: Systemd unit for authentik
template: src=authentik.service.j2 dest=/etc/systemd/system/authentik.service
notify:
- Reload systemd
- Restart authentik
- name: Systemd unit for authentik-reload
template: src=authentik-reload.{{ item }}.j2 dest=/etc/systemd/system/authentik-reload.{{ item }}
with_items:
- "service"
- "timer"
notify:
- Reload systemd
- Restart authentik-reload
- name: Start the authentik service
service: name=authentik state=started enabled=yes
- name: Enable auto update timer
service: name=authentik-reload.timer state=started enabled=yes
- name: Enable monitoring
include_role: name=icinga-monitor tasks_from=http
vars:
vhost: "{{ authentik_domain }}"

View File

@ -0,0 +1,7 @@
[Unit]
Description=Refresh authentik images
[Service]
Type=oneshot
ExecStart=/bin/systemctl reload-or-restart authentik.service

View File

@ -0,0 +1,10 @@
[Unit]
Description=Refresh authentik images
Requires=authentik.service
After=authentik.service
[Timer]
OnCalendar=*:0/15
[Install]
WantedBy=timers.target

View File

@ -0,0 +1,32 @@
[Unit]
Description=authentik service using docker compose
Requires=docker.service
After=docker.service
Before=nginx.service
[Service]
Type=simple
User=authentik
Group=authentik
Restart=always
TimeoutStartSec=1200
WorkingDirectory=/opt/authentik
# Update images
ExecStartPre=-/usr/bin/docker-compose pull --quiet
# Compose up
ExecStart=/usr/bin/docker-compose up
# Compose down, remove containers and volumes
ExecStop=/usr/bin/docker-compose down -v
# Refresh on reload
ExecReload=-/usr/bin/docker-compose pull --quiet
ExecReload=/usr/bin/docker-compose up -d
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,15 @@
---
{{ authentik_domain }}:
- path: /etc/nginx/ssl/{{ authentik_domain }}.key
user: root
group: root
perm: '400'
format: key
action: '/usr/sbin/service nginx restart'
- path: /etc/nginx/ssl/{{ authentik_domain }}.crt
user: root
group: root
perm: '400'
format: crt,ca
action: '/usr/sbin/service nginx restart'

View File

@ -0,0 +1,79 @@
---
version: "3.4"
services:
postgresql:
image: docker.io/library/postgres:16-alpine
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
start_period: 20s
interval: 30s
retries: 5
timeout: 5s
volumes:
- ./database:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: {{ authentik_dbpass }}
POSTGRES_USER: {{ authentik_dbuser }}
POSTGRES_DB: {{ authentik_dbname }}
redis:
image: docker.io/library/redis:alpine
command: --save 60 1 --loglevel warning
restart: unless-stopped
healthcheck:
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
start_period: 20s
interval: 30s
retries: 5
timeout: 3s
volumes:
- ./redis:/data
server:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:{{ authentik_version }}
restart: unless-stopped
command: server
environment:
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: {{ authentik_dbuser }}
AUTHENTIK_POSTGRESQL__NAME: {{ authentik_dbname }}
AUTHENTIK_POSTGRESQL__PASSWORD: {{ authentik_dbpass }}
AUTHENTIK_SECRET_KEY: {{ authentik_secret }}
volumes:
- ./media:/media
- ./custom-templates:/templates
ports:
- "127.0.0.1:9000:9000"
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy
worker:
image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:{{ authentik_version }}
restart: unless-stopped
command: worker
environment:
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: {{ authentik_dbuser }}
AUTHENTIK_POSTGRESQL__NAME: {{ authentik_dbname }}
AUTHENTIK_POSTGRESQL__PASSWORD: {{ authentik_dbpass }}
AUTHENTIK_SECRET_KEY: {{ authentik_secret }}
# `user: root` and the docker socket volume are optional.
# See more for the docker socket integration here:
# https://goauthentik.io/docs/outposts/integrations/docker
# Removing `user: root` also prevents the worker from fixing the permissions
# on the mounted folders, so when removing this make sure the folders have the correct UID/GID
# (1000:1000 by default)
user: root
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./media:/media
- ./certs:/certs
- ./custom-templates:/templates
depends_on:
postgresql:
condition: service_healthy
redis:
condition: service_healthy

View File

@ -0,0 +1,41 @@
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
listen [::]:80;
server_name {{ authentik_domain }};
location /.well-known/acme-challenge {
default_type "text/plain";
alias /var/www/acme-challenge;
}
location / {
return 301 https://{{ authentik_domain }}$request_uri;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name {{ authentik_domain }};
ssl_certificate_key /etc/nginx/ssl/{{ authentik_domain }}.key;
ssl_certificate /etc/nginx/ssl/{{ authentik_domain }}.crt;
location / {
proxy_pass http://localhost:9000;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}

View File

@ -1,4 +1,4 @@
---
dss_uwsgi_port: 5001
dss_version: 0.8.4
dss_version: 0.8.5

View File

@ -1,12 +1,14 @@
DEBUG = True
REMEMBER_COOKIE_SECURE = True
SECRET_KEY = "{{ dss_secret }}"
SESSION_COOKIE_SECURE = True
SESSION_TIMEOUT = 3600
LDAP_CA = "/etc/ssl/certs/ca-certificates.crt"
LDAP_URI = "{{ ldap_uri }}"
LDAP_BASE = "{{ ldap_base }}"
ADMINS = [ "cn=moepman,ou=people,dc=binary-kitchen,dc=de", "cn=marove,ou=people,dc=binary-kitchen,dc=de", "cn=zaesa,ou=people,dc=binary-kitchen,dc=de", "cn=Manager,dc=binary-kitchen,dc=de" ]
ADMINS = [ "cn=moepman,ou=people,dc=binary-kitchen,dc=de", "cn=anke,ou=people,dc=binary-kitchen,dc=de", "cn=toffy,ou=people,dc=binary-kitchen,dc=de", "cn=zaesa,ou=people,dc=binary-kitchen,dc=de", "cn=Manager,dc=binary-kitchen,dc=de" ]
USER_DN = "cn={user},ou=people,dc=binary-kitchen,dc=de"
@ -28,7 +30,7 @@ USER_ATTRS = {
'userPassword' : '{pass}'
}
GROUP_DN = 'cn=members,ou=groups,dc=binary-kitchen,dc=de'
GROUP_FILTER = "(objectClass=posixGroup)"
REDIS_HOST = "127.0.0.1"
REDIS_PASSWD = None

View File

@ -6,3 +6,8 @@ logrotate_excludes:
- "/etc/logrotate.d/dbconfig-common"
- "/etc/logrotate.d/btmp"
- "/etc/logrotate.d/wtmp"
sshd_password_authentication: "no"
sshd_permit_root_login: "prohibit-password"
unattended_reboot: "true"

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,9 @@
- name: Restart journald
service: name=systemd-journald state=restarted
- name: Restart sshd
service: name=sshd state=restarted
- name: update-grub
command: update-grub

View File

@ -4,6 +4,7 @@
apt:
name:
- apt-transport-https
- debian-goodies
- dnsutils
- fdisk
- gnupg2
@ -15,7 +16,9 @@
- pydf
- rsync
- sudo
- unattended-upgrades
- vim-nox
- wget
- zsh
- name: Install software on KVM VMs
@ -25,6 +28,12 @@
- qemu-guest-agent
when: ansible_virtualization_role == "guest" and ansible_virtualization_type == "kvm"
- name: Configure unattended upgrades
template: src={{ item }}.j2 dest=/etc/apt/apt.conf.d/{{ item }}
with_items:
- 02periodic
- 50unattended-upgrades
- name: Configure misc software
copy: src={{ item.src }} dest={{ item.dest }}
diff: no
@ -102,3 +111,12 @@
regexp: "rotate [0-9]+"
replace: "rotate 7"
loop: "{{ logrotateconfigpaths }}"
- name: Configure sshd
template:
src: sshd_config.j2
dest: /etc/ssh/sshd_config
owner: root
group: root
mode: '0644'
notify: Restart sshd

View File

@ -9,6 +9,7 @@
- less
- rsync
- vim-nox
- wget
- zsh
- name: Configure misc software

View File

@ -6,3 +6,6 @@
- name: Configure chrony
template: src=chrony.conf.j2 dest=/etc/chrony/chrony.conf
notify: Restart chrony
- name: Start chrony
service: name=chrony state=started enabled=yes

View File

@ -2,7 +2,7 @@
// Unattended-Upgrade::Origins-Pattern controls which packages are
// upgraded.
//
// Lines below have the format format is "keyword=value,...". A
// Lines below have the format "keyword=value,...". A
// package will be upgraded only if the values in its metadata match
// all the supplied keywords in a line. (In other words, omitted
// keywords are wild cards.) The keywords originate from the Release
@ -31,6 +31,7 @@ Unattended-Upgrade::Origins-Pattern {
// "origin=Debian,codename=${distro_codename}-proposed-updates";
"origin=Debian,codename=${distro_codename},label=Debian";
"origin=Debian,codename=${distro_codename},label=Debian-Security";
"origin=Debian,codename=${distro_codename}-security,label=Debian-Security";
// Archive or Suite based matching:
// Note that this will silently match a different release after
@ -65,7 +66,7 @@ Unattended-Upgrade::Package-Blacklist {
};
// This option allows you to control if on a unclean dpkg exit
// unattended-upgrades will automatically run
// unattended-upgrades will automatically run
// dpkg --force-confold --configure -a
// The default is true, to ensure updates keep getting installed
//Unattended-Upgrade::AutoFixInterruptedDpkg "true";
@ -93,9 +94,11 @@ Unattended-Upgrade::Package-Blacklist {
// 'mailx' must be installed. E.g. "user@example.com"
Unattended-Upgrade::Mail "root";
// Set this value to "true" to get emails only on errors. Default
// is to always send a mail if Unattended-Upgrade::Mail is set
Unattended-Upgrade::MailOnlyOnError "true";
// Set this value to one of:
// "always", "only-on-error" or "on-change"
// If this is not set, then any legacy MailOnlyOnError (boolean) value
// is used to chose between "only-on-error" and "on-change"
Unattended-Upgrade::MailReport "only-on-error";
// Remove unused automatically installed kernel-related packages
// (kernel images, kernel headers and kernel version locked tools).
@ -110,7 +113,7 @@ Unattended-Upgrade::Remove-Unused-Dependencies "true";
// Automatically reboot *WITHOUT CONFIRMATION* if
// the file /var/run/reboot-required is found after the upgrade
Unattended-Upgrade::Automatic-Reboot "{{ uau_reboot }}";
Unattended-Upgrade::Automatic-Reboot "{{ unattended_reboot }}";
// Automatically reboot even if there are users currently logged in
// when Unattended-Upgrade::Automatic-Reboot is set to true
@ -145,3 +148,18 @@ Unattended-Upgrade::Automatic-Reboot "{{ uau_reboot }}";
// Print debugging information both in unattended-upgrades and
// in unattended-upgrade-shutdown
// Unattended-Upgrade::Debug "false";
// Allow package downgrade if Pin-Priority exceeds 1000
// Unattended-Upgrade::Allow-downgrade "false";
// When APT fails to mark a package to be upgraded or installed try adjusting
// candidates of related packages to help APT's resolver in finding a solution
// where the package can be upgraded or installed.
// This is a workaround until APT's resolver is fixed to always find a
// solution if it exists. (See Debian bug #711128.)
// The fallback is enabled by default, except on Debian's sid release because
// uninstallable packages are frequent there.
// Disabling the fallback speeds up unattended-upgrades when there are
// uninstallable packages at the expense of rarely keeping back packages which
// could be upgraded or installed.
// Unattended-Upgrade::Allow-APT-Mark-Fallback "true";

View File

@ -1,6 +1,9 @@
# Welcome to the chrony configuration file. See chrony.conf(5) for more
# information about usable directives.
# Include configuration files found in /etc/chrony/conf.d.
confdir /etc/chrony/conf.d
{% for srv in ntp_servers %}
server {{ srv }} iburst
{% endfor %}
@ -23,6 +26,9 @@ keyfile /etc/chrony/chrony.keys
# information.
driftfile /var/lib/chrony/chrony.drift
# Save NTS keys and cookies.
ntsdumpdir /var/lib/chrony
# Uncomment the following line to turn logging on.
#log tracking measurements statistics
@ -33,7 +39,7 @@ logdir /var/log/chrony
maxupdateskew 100.0
# This directive enables kernel synchronisation (every 11 minutes) of the
# real-time clock. Note that it cant be used along with the 'rtcfile' directive.
# real-time clock. Note that it can't be used along with the 'rtcfile' directive.
rtcsync
# Step the system clock instead of slewing it if the adjustment is larger than

View File

@ -0,0 +1,131 @@
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/usr/bin:/bin:/usr/games
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
Include /etc/ssh/sshd_config.d/*.conf
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_ecdsa_key
#HostKey /etc/ssh/ssh_host_ed25519_key
# Ciphers and keying
#RekeyLimit default none
# Logging
#SyslogFacility AUTH
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m
PermitRootLogin {{ sshd_permit_root_login }}
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication yes
# Expect .ssh/authorized_keys2 to be disregarded by default in future.
#AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
#AuthorizedPrincipalsFile none
{% if sshd_authkeys_command is defined and sshd_authkeys_command %}
AuthorizedKeysCommand {{ sshd_authkeys_command }}
{% if sshd_authkeys_user is defined and sshd_authkeys_user %}
AuthorizedKeysCommandUser {{ sshd_authkeys_user }}
{% else %}
AuthorizedKeysCommandUser nobody
{% endif %}
{% else %}
#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody
{% endif %}
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication {{ sshd_password_authentication }}
#PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
KbdInteractiveAuthentication no
# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the KbdInteractiveAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via KbdInteractiveAuthentication may bypass
# the setting of "PermitRootLogin prohibit-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and KbdInteractiveAuthentication to 'no'.
UsePAM yes
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
PrintMotd no
#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none
# no default banner path
#Banner none
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
# override default of no subsystems
Subsystem sftp /usr/lib/openssh/sftp-server
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# PermitTTY no
# ForceCommand cvs server

View File

@ -1,4 +0,0 @@
---
- name: Restart isc-dhcp-server
service: name=isc-dhcp-server state=restarted

View File

@ -1,14 +0,0 @@
---
- name: Install dhcp server
apt: name=isc-dhcp-server
- name: Configure dhcp server
template: src={{ item }}.j2 dest=/etc/{{ item }}
with_items:
- default/isc-dhcp-server
- dhcp/dhcpd.conf
notify: Restart isc-dhcp-server
- name: Start the dhcp server
service: name=isc-dhcp-server state=started enabled=yes

View File

@ -1,21 +0,0 @@
#
# This is a POSIX shell fragment
#
# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf
# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid
# Additional options to start dhcpd with.
# Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""
# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="{{ ansible_default_ipv4['interface'] }}"
INTERFACESv6=""
INTERFACES="{{ ansible_default_ipv4['interface'] }}"

View File

@ -1,320 +0,0 @@
# dhcpd.conf
# option definitions common to all supported networks...
option domain-name "binary.kitchen";
option domain-name-servers {{ name_servers | join(', ') }};
option domain-search "binary.kitchen";
option ntp-servers 172.23.1.60, 172.23.2.3;
# options related to Mitel SIP-DECT
option space sipdect;
option local-encapsulation code 43 = encapsulate sipdect;
option sipdect.ommip1 code 10 = ip-address;
option sipdect.ommip2 code 19 = ip-address;
option sipdect.syslogip code 14 = ip-address;
option sipdect.syslogport code 15 = integer 16;
option magic_str code 224 = text;
default-lease-time 7200;
max-lease-time 28800;
# Use this to enble / disable dynamic dns updates globally.
ddns-update-style interim;
ddns-updates on;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
{% if dhcpd_failover == true %}
# Failover
failover peer "failover-partner" {
{% if ansible_default_ipv4.address == dhcpd_primary %}
primary;
address {{ dhcpd_primary }};
peer address {{ dhcpd_secondary }};
{% elif ansible_default_ipv4.address == dhcpd_secondary %}
secondary;
address {{ dhcpd_secondary }};
peer address {{ dhcpd_primary }};
{% endif %}
port 520;
peer port 520;
max-response-delay 60;
max-unacked-updates 10;
{% if ansible_default_ipv4.address == dhcpd_primary %}
mclt 600;
split 255;
{% endif %}
load balance max seconds 3;
}
{% endif %}
# Binary Kitchen subnets
# Management
subnet 172.23.1.0 netmask 255.255.255.0 {
option routers 172.23.1.1;
}
# Services
subnet 172.23.2.0 netmask 255.255.255.0 {
allow bootp;
option routers 172.23.2.1;
}
# Users
subnet 172.23.3.0 netmask 255.255.255.0 {
option routers 172.23.3.1;
ddns-domainname "users.binary.kitchen";
option domain-search "binary.kitchen", "users.binary.kitchen";
pool {
{% if dhcpd_failover == true %}
failover peer "failover-partner";
{% endif %}
range 172.23.3.10 172.23.3.230;
}
}
# MQTT
subnet 172.23.4.0 netmask 255.255.255.0 {
option routers 172.23.4.1;
pool {
{% if dhcpd_failover == true %}
failover peer "failover-partner";
{% endif %}
range 172.23.4.10 172.23.4.240;
}
}
# Management Auweg
subnet 172.23.12.0 netmask 255.255.255.0 {
option routers 172.23.12.1;
}
# Services Auweg
subnet 172.23.13.0 netmask 255.255.255.0 {
allow bootp;
option routers 172.23.13.1;
}
# Users Auweg
subnet 172.23.14.0 netmask 255.255.255.0 {
option routers 172.23.14.1;
ddns-domainname "users.binary.kitchen";
option domain-search "binary.kitchen", "users.binary.kitchen";
pool {
{% if dhcpd_failover == true %}
failover peer "failover-partner";
{% endif %}
range 172.23.14.10 172.23.14.230;
}
}
# MQTT Auweg
subnet 172.23.15.0 netmask 255.255.255.0 {
option routers 172.23.15.1;
pool {
{% if dhcpd_failover == true %}
failover peer "failover-partner";
{% endif %}
range 172.23.15.10 172.23.15.240;
}
}
# DDNS zones
zone users.binary.kitchen {
primary {{ dns_primary }};
}
# Fixed IPs
host ap01 {
hardware ethernet 44:48:c1:ce:a9:00;
fixed-address ap01.binary.kitchen;
}
host ap04 {
hardware ethernet 44:48:c1:ce:90:06;
fixed-address ap04.binary.kitchen;
}
host ap05 {
hardware ethernet bc:9f:e4:c3:6f:aa;
fixed-address ap05.binary.kitchen;
}
host ap06 {
hardware ethernet 94:b4:0f:c0:1d:a0;
fixed-address ap06.binary.kitchen;
}
host ap11 {
hardware ethernet 18:64:72:c6:c2:0c;
fixed-address ap11.binary.kitchen;
}
host ap12 {
hardware ethernet 18:64:72:c6:c4:98;
fixed-address ap12.binary.kitchen;
}
host bowle {
hardware ethernet ac:1f:6b:25:16:b6;
fixed-address bowle.binary.kitchen;
}
host cannelloni {
hardware ethernet b8:27:eb:18:5c:11;
fixed-address cannelloni.binary.kitchen;
}
host fusilli {
hardware ethernet b8:27:eb:1d:b9:bf;
fixed-address fusilli.binary.kitchen;
}
host habdisplay1 {
hardware ethernet b8:27:eb:b6:62:be;
fixed-address habdisplay1.mqtt.binary.kitchen;
}
host habdisplay2 {
hardware ethernet b8:27:eb:df:0b:7b;
fixed-address habdisplay2.mqtt.binary.kitchen;
}
host klopi {
hardware ethernet 74:da:38:6e:e6:9d;
fixed-address klopi.binary.kitchen;
}
host lock {
hardware ethernet b8:27:eb:d8:b9:ad;
fixed-address lock.binary.kitchen;
}
host maccaroni {
hardware ethernet b8:27:eb:f5:9e:a1;
fixed-address maccaroni.binary.kitchen;
}
host matrix {
hardware ethernet b8:27:eb:ed:22:58;
fixed-address matrix.binary.kitchen;
}
host mirror {
hardware ethernet 74:da:38:7d:ed:84;
fixed-address mirror.binary.kitchen;
}
host mpcnc {
hardware ethernet b8:27:eb:0f:d3:8b;
fixed-address mpcnc.binary.kitchen;
}
host noodlehub {
hardware ethernet b8:27:eb:56:2b:7c;
fixed-address noodlehub.binary.kitchen;
}
host openhabgw1 {
hardware ethernet dc:a6:32:bf:e2:3e;
fixed-address openhabgw1.mqtt.binary.kitchen;
}
host pizza {
hardware ethernet 52:54:00:17:02:21;
fixed-address pizza.binary.kitchen;
}
host spaghetti {
hardware ethernet b8:27:eb:eb:e5:88;
fixed-address spaghetti.binary.kitchen;
}
host schweinshaxn {
hardware ethernet 52:54:00:17:02:24;
fixed-address schweinshaxn.binary.kitchen;
}
host strammermax {
hardware ethernet 08:00:37:B8:55:44;
fixed-address strammermax.binary.kitchen;
}
host obatzda {
hardware ethernet ec:9a:74:35:35:cf;
fixed-address obatzda.binary.kitchen;
}
# VoIP Phones
host voip01 {
hardware ethernet 00:1D:45:B6:99:2F;
option tftp-server-name "172.23.2.36";
}
host voip02 {
hardware ethernet 00:1D:A2:66:B8:3E;
option tftp-server-name "172.23.2.36";
}
host voip03 {
hardware ethernet 00:1E:BE:90:FB:DB;
option tftp-server-name "172.23.2.36";
}
host voip04 {
hardware ethernet 00:1E:BE:90:FF:06;
option tftp-server-name "172.23.2.36";
}
# Mitel SIP-DECT
host rfp01 {
hardware ethernet 00:30:42:1B:73:5A;
fixed-address 172.23.1.111;
option host-name "rfp01";
option sipdect.ommip1 172.23.2.35;
option magic_str = "OpenMobilitySIP-DECT";
}
host rfp02 {
hardware ethernet 00:30:42:21:D4:D5;
fixed-address 172.23.1.112;
option host-name "rfp02";
option sipdect.ommip1 172.23.2.35;
option magic_str = "OpenMobilitySIP-DECT";
}
host rfp11 {
hardware ethernet 00:30:42:1B:8B:9B;
fixed-address 172.23.12.111;
option host-name "rfp11";
option sipdect.ommip1 172.23.2.35;
option magic_str = "OpenMobilitySIP-DECT";
}
# OMAPI
omapi-port 7911;
omapi-key omapi_key;
key omapi_key {
algorithm hmac-md5;
secret {{ dhcp_omapi_key }};
}

View File

@ -1,5 +1,4 @@
local-address=0.0.0.0
local-ipv6=::
local-address=0.0.0.0, ::
launch=gsqlite3
gsqlite3-dnssec
gsqlite3-database=/var/lib/powerdns/powerdns.sqlite3

View File

@ -1,7 +1,7 @@
$ORIGIN 23.172.in-addr.arpa. ; base for unqualified names
$TTL 1h ; default time-to-live
@ IN SOA ns1.binary.kitchen. hostmaster.binary.kitchen. (
2022071600; serial
2024100600; serial
1d; refresh
2h; retry
4w; expire
@ -11,9 +11,9 @@ $TTL 1h ; default time-to-live
IN NS ns2.binary.kitchen.
; Loopback
1.0 IN PTR core.binary.kitchen.
2.0 IN PTR erx-bk.binary.kitchen.
2.0 IN PTR rt-w13b.binary.kitchen.
3.0 IN PTR erx-rz.binary.kitchen.
4.0 IN PTR erx-auweg.binary.kitchen.
4.0 IN PTR rt-auweg.binary.kitchen.
; Management
1.1 IN PTR v2301.core.binary.kitchen.
11.1 IN PTR ups1.binary.kitchen.
@ -50,6 +50,8 @@ $TTL 1h ; default time-to-live
35.2 IN PTR knoedel.binary.kitchen.
36.2 IN PTR schweinshaxn.binary.kitchen.
37.2 IN PTR bob.binary.kitchen.
38.2 IN PTR lasagne.binary.kitchen.
39.2 IN PTR tschunk.binary.kitchen.
62.2 IN PTR bowle.binary.kitchen.
91.2 IN PTR strammermax.binary.kitchen.
92.2 IN PTR obatzda.binary.kitchen.
@ -67,6 +69,7 @@ $GENERATE 10-230 $.3 IN PTR dhcp-${0,3,d}-03.binary.kitchen.
; MQTT
1.4 IN PTR v2304.core.binary.kitchen.
6.4 IN PTR pizza.mqtt.binary.kitchen.
7.4 IN PTR lasagne.mqtt.binary.kitchen.
$GENERATE 10-240 $.4 IN PTR dhcp-${0,3,d}-04.binary.kitchen.
241.4 IN PTR habdisplay1.mqtt.binary.kitchen.
242.4 IN PTR habdisplay2.mqtt.binary.kitchen.
@ -84,22 +87,26 @@ $GENERATE 10-240 $.4 IN PTR dhcp-${0,3,d}-04.binary.kitchen.
1.10 IN PTR wg0.erx-rz.binary.kitchen.
$GENERATE 2-254 $.10 IN PTR vpn-${0,3,d}-10.binary.kitchen.
; Management Auweg
1.12 IN PTR v2312.rt-auweg.binary.kitchen.
31.12 IN PTR sw-auweg.binary.kitchen.
41.12 IN PTR ap11.binary.kitchen.
42.12 IN PTR ap12.binary.kitchen.
61.12 IN PTR weizen.binary.kitchen.
111.12 IN PTR rfp11.binary.kitchen.
; Services Auweg
1.13 IN PTR v2313.rt-auweg.binary.kitchen.
3.13 IN PTR aeron.binary.kitchen.
12.13 IN PTR lock-auweg.binary.kitchen.
; Clients Auweg
1.14 IN PTR v2314.rt-auweg.binary.kitchen.
$GENERATE 10-230 $.14 IN PTR dhcp-${0,3,d}-14.binary.kitchen.
; MQTT
1.15 IN PTR v2315.rt-auweg.binary.kitchen.
$GENERATE 10-240 $.15 IN PTR dhcp-${0,3,d}-15.binary.kitchen.
; Point-to-Point
1.96 IN PTR v400.erx-bk.binary.kitchen.
1.96 IN PTR v400.rt-w13b.binary.kitchen.
2.96 IN PTR v400.core.binary.kitchen.
1.97 IN PTR wg1.erx-rz.binary.kitchen.
2.97 IN PTR wg1.erx-bk.binary.kitchen.
2.97 IN PTR wg1.rt-w13b.binary.kitchen.
5.97 IN PTR wg2.erx-rz.binary.kitchen.
6.97 IN PTR wg2.erx-auweg.binary.kitchen.
6.97 IN PTR wg2.rt-auweg.binary.kitchen.

View File

@ -1,19 +1,19 @@
$ORIGIN binary.kitchen ; base for unqualified names
$TTL 1h ; default time-to-live
@ IN SOA ns1.binary.kitchen. hostmaster.binary.kitchen. (
2022071600; serial
2024111500; serial
1d; refresh
2h; retry
4w; expire
1h; minimum time-to-live
)
IN NS ns1.binary.kitchen.
IN NS ns2.binary.kitchen.
@ IN NS ns1.binary.kitchen.
@ IN NS ns2.binary.kitchen.
; Subdomains
users IN NS ns1.binary.kitchen.
users IN NS ns2.binary.kitchen.
; External
IN A 213.166.246.4
@ IN A 213.166.246.4
www IN A 213.166.246.4
; Aliases
3dprinter IN A 172.23.3.251
@ -30,14 +30,13 @@ netbox IN A 172.23.2.7
ns1 IN A 172.23.2.3
ns2 IN A 172.23.2.4
omm IN A 172.23.2.35
racktables IN A 172.23.2.6
radius IN A 172.23.2.3
radius IN A 172.23.2.4
; Loopback
core IN A 172.23.0.1
erx-bk IN A 172.23.0.2
rt-w13b IN A 172.23.0.2
erx-rz IN A 172.23.0.3
erx-auweg IN A 172.23.0.4
rt-auweg IN A 172.23.0.4
; Management
v2301.core IN A 172.23.1.1
ups1 IN A 172.23.1.11
@ -74,6 +73,8 @@ pancake IN A 172.23.2.34
knoedel IN A 172.23.2.35
schweinshaxn IN A 172.23.2.36
bob IN A 172.23.2.37
lasagne IN A 172.23.2.38
tschunk IN A 172.23.2.39
bowle IN A 172.23.2.62
strammermax IN A 172.23.2.91
obatzda IN A 172.23.2.92
@ -91,6 +92,7 @@ noodlehub IN A 172.23.3.251
; MQTT
v2304.core IN A 172.23.4.1
pizza.mqtt IN A 172.23.4.6
lasagne.mqtt IN A 172.23.4.7
$GENERATE 10-240 dhcp-${0,3,d}-04 IN A 172.23.4.$
habdisplay1.mqtt IN A 172.23.4.241
habdisplay2.mqtt IN A 172.23.4.242
@ -105,25 +107,29 @@ salat IN A 172.23.9.61
salat-bmc IN A 172.23.9.81
; Services RZ
; Management Auweg
v2312.rt-auweg IN A 172.23.12.1
sw-auweg IN A 172.23.12.31
ap11 IN A 172.23.12.41
ap12 IN A 172.23.12.42
weizen IN A 172.23.12.61
rfp11 IN A 172.23.12.111
; Services Auweg
v2313.rt-auweg IN A 172.23.13.1
aeron IN A 172.23.13.3
lock-auweg IN A 172.23.13.12
; Clients Auweg
v2314.rt-auweg IN A 172.23.14.1
$GENERATE 10-230 dhcp-${0,3,d}-14 IN A 172.23.14.$
; MQTT Auweg
v2315.rt-auweg IN A 172.23.15.1
$GENERATE 10-240 dhcp-${0,3,d}-15 IN A 172.23.15.$
; VPN RZ (ER-X)
wg0.erx-rz IN A 172.23.10.1
$GENERATE 2-254 vpn-${0,3,d}-10 IN A 172.23.10.$
; Point-to-Point
v400.erx-bk IN A 172.23.96.1
v400.rt-w13b IN A 172.23.96.1
v400.core IN A 172.23.96.2
wg1.erx-rz IN A 172.23.97.1
wg1.erx-bk IN A 172.23.97.2
wg1.rt-w13b IN A 172.23.97.2
wg2.erx-rz IN A 172.23.97.5
wg2.erx-auweg IN A 172.23.97.6
wg2.rt-auweg IN A 172.23.97.6

View File

@ -9,17 +9,27 @@ newServer({address='127.0.0.1:5300', pool='authdns'})
newServer({address='127.0.0.1:5353', pool='resolve'})
{% if dns_secondary is defined %}
-- allow AXFR/IXFR only from slaves
addAction(AndRule({OrRule({QTypeRule(dnsdist.AXFR), QTypeRule(dnsdist.IXFR)}), NotRule(makeRule("{{ dns_secondary }}"))}), RCodeAction(dnsdist.REFUSED))
-- allow AXFR/IXFR only from secondary
addAction(AndRule({OrRule({QTypeRule(DNSQType.AXFR), QTypeRule(DNSQType.IXFR)}), NotRule(makeRule("{{ dns_secondary }}"))}), RCodeAction(DNSRCode.REFUSED))
{% endif %}
-- allow NOTIFY only from master
addAction(AndRule({OpcodeRule(DNSOpcode.Notify), NotRule(makeRule("{{ dns_primary }}"))}), RCodeAction(dnsdist.REFUSED))
-- allow NOTIFY only from primary
addAction(AndRule({OpcodeRule(DNSOpcode.Notify), NotRule(makeRule("{{ dns_primary }}"))}), RCodeAction(DNSRCode.REFUSED))
-- use auth servers for own zones
addAction('binary.kitchen', PoolAction('authdns'))
addAction('23.172.in-addr.arpa', PoolAction('authdns'))
-- function to set RA flag
function setRA(dq)
dq.dh:setRA(true)
return DNSResponseAction.None
end
-- set RA flag for queries to own zones
addResponseAction('binary.kitchen', LuaResponseAction(setRA))
addResponseAction('23.172.in-addr.arpa', LuaResponseAction(setRA))
-- use resolver for anything else
addAction(AllRule(), PoolAction('resolve'))

View File

@ -26,12 +26,6 @@ launch=bind,gsqlite3
# local-address=0.0.0.0
local-address=127.0.0.1
#################################
# local-ipv6 Local IP address to which we bind
#
# local-ipv6=::
local-ipv6=
#################################
# local-port The port on which we listen
#

View File

@ -11,9 +11,9 @@
config-dir=/etc/powerdns
#################################
# dnssec DNSSEC mode: off/process-no-validate (default)/process/log-fail/validate
# dnssec DNSSEC mode: off/process-no-validate/process (default)/log-fail/validate
#
# dnssec=process-no-validate
# dnssec=process
dnssec=off
#################################

View File

@ -1,17 +1,10 @@
---
- name: Enable docker apt-key
apt_key: url='https://download.docker.com/linux/debian/gpg'
- name: Enable docker repository
apt_repository:
repo: 'deb https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable'
filename: docker
- name: Install docker
apt:
name:
- docker-ce
- docker-ce-cli
- containerd.io
- docker.io
- python3-docker
- name: Enable docker
service: name=docker state=started enabled=yes

View File

@ -0,0 +1,7 @@
---
- name: Run acertmgr
command: /usr/bin/acertmgr
- name: Restart nginx
service: name=nginx state=restarted

View File

@ -0,0 +1,20 @@
---
- name: Ensure certificates are available
command:
cmd: >
openssl req -x509 -nodes -newkey rsa:2048
-keyout /etc/nginx/ssl/{{ doorlock_domain }}.key -out /etc/nginx/ssl/{{ doorlock_domain }}.crt
-days 730 -subj "/CN={{ doorlock_domain }}"
creates: /etc/nginx/ssl/{{ doorlock_domain }}.crt
notify: Restart nginx
- name: Request nsupdate key for certificate
include_role: name=acme-dnskey-generate
vars:
acme_dnskey_san_domains:
- "{{ doorlock_domain }}"
- name: Configure certificate manager for doorlock
template: src=certs.j2 dest=/etc/acertmgr/{{ doorlock_domain }}.conf
notify: Run acertmgr

View File

@ -0,0 +1,18 @@
---
{{ doorlock_domain }}:
- mode: dns.nsupdate
nsupdate_server: {{ acme_dnskey_server }}
nsupdate_keyfile: {{ acme_dnskey_file }}
- path: /etc/nginx/ssl/{{ doorlock_domain }}.key
user: root
group: root
perm: '400'
format: key
action: '/usr/sbin/service nginx restart'
- path: /etc/nginx/ssl/{{ doorlock_domain }}.crt
user: root
group: root
perm: '400'
format: crt,ca
action: '/usr/sbin/service nginx restart'

View File

@ -1,14 +0,0 @@
[Unit]
Description=drone.io server
After=network-online.target
[Service]
Type=simple
User=drone
EnvironmentFile=/etc/default/drone
ExecStart=/opt/drone/bin/drone-server
Restart=always
RestartSec=5s
[Install]
WantedBy=multi-user.target

View File

@ -1,57 +0,0 @@
---
- name: Create user
user: name=drone
# TODO install drone to /opt/drone/bin
# currently it is manually compiled
- name: Configure drone
template: src=drone.j2 dest=/etc/default/drone
notify: Restart drone
- name: Install PostgreSQL
apt:
name:
- postgresql
- python3-psycopg2
- name: Configure PostgreSQL database
postgresql_db: name={{ drone_dbname }}
become: true
become_user: postgres
- name: Configure PostgreSQL user
postgresql_user: db={{ drone_dbname }} name={{ drone_dbuser }} password={{ drone_dbpass }} priv=ALL state=present
become: true
become_user: postgres
- name: Ensure certificates are available
command: openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/nginx/ssl/{{ drone_domain }}.key -out /etc/nginx/ssl/{{ drone_domain }}.crt -days 730 -subj "/CN={{ drone_domain }}" creates=/etc/nginx/ssl/{{ drone_domain }}.crt
notify: Restart nginx
- name: Configure certificate manager for drone
template: src=certs.j2 dest=/etc/acertmgr/{{ drone_domain }}.conf
notify: Run acertmgr
- name: Configure vhost
template: src=vhost.j2 dest=/etc/nginx/sites-available/drone
notify: Restart nginx
- name: Enable vhost
file: src=/etc/nginx/sites-available/drone dest=/etc/nginx/sites-enabled/drone state=link
notify: Restart nginx
- name: Install systemd unit
copy: src=drone.service dest=/lib/systemd/system/drone.service
notify:
- Reload systemd
- Restart drone
- name: Enable drone
service: name=drone enabled=yes
- name: Enable monitoring
include_role: name=icinga-monitor tasks_from=http
vars:
vhost: "{{ drone_domain }}"

View File

@ -1,10 +0,0 @@
DRONE_AGENTS_ENABLED=true
DRONE_DATABASE_DATASOURCE=postgres://{{ drone_dbuser }}:{{ drone_dbpass }}@127.0.0.1:5432/{{ drone_dbname }}
DRONE_DATABASE_DRIVER=postgres
DRONE_GITEA_SERVER=https://{{ gitea_domain }}
DRONE_GITEA_CLIENT_ID={{ drone_gitea_client }}
DRONE_GITEA_CLIENT_SECRET={{ drone_gitea_secret }}
DRONE_RPC_SECRET={{ drone_secret }}
DRONE_SERVER_HOST={{ drone_domain }}
DRONE_SERVER_PROTO=https
DRONE_USER_CREATE=username:{{ drone_admin }},admin:true

View File

@ -1,31 +0,0 @@
server {
listen 80;
listen [::]:80;
server_name {{ drone_domain }};
location /.well-known/acme-challenge {
default_type "text/plain";
alias /var/www/acme-challenge;
}
location / {
return 301 https://{{ drone_domain }}$request_uri;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name {{ drone_domain }};
ssl_certificate_key /etc/nginx/ssl/{{ drone_domain }}.key;
ssl_certificate /etc/nginx/ssl/{{ drone_domain }}.crt;
location / {
client_max_body_size 128M;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:8080;
}
}

View File

@ -1,21 +0,0 @@
---
- name: Run runner container
docker_container:
name: runner
image: drone/drone-runner-docker:1
env:
DRONE_RPC_PROTO: "https"
DRONE_RPC_HOST: "{{ drone_domain }}"
DRONE_RPC_SECRET: "{{ drone_secret }}"
DRONE_RUNNER_CAPACITY: "2"
DRONE_RUNNER_NAME: "{{ ansible_fqdn }}"
DRONE_UI_USERNAME: "admin"
DRONE_UI_PASSWORD: "{{ drone_uipass }}"
ports:
- "3000:3000"
pull: yes
restart_policy: unless-stopped
state: started
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"

View File

@ -0,0 +1,15 @@
---
eh21.easterhegg.eu engel.eh21.easterhegg.eu:
- path: /etc/nginx/ssl/eh21.easterhegg.eu.crt
user: root
group: root
perm: '400'
format: crt,ca
action: '/usr/sbin/service nginx restart'
- path: /etc/nginx/ssl/eh21.easterhegg.eu.key
user: root
group: root
perm: '400'
format: key
action: '/usr/sbin/service nginx restart'

View File

@ -0,0 +1,68 @@
server {
listen 80;
listen [::]:80;
server_name eh21.easterhegg.eu;
location /.well-known/acme-challenge {
default_type "text/plain";
alias /var/www/acme-challenge;
}
location / {
return 301 https://eh21.easterhegg.eu$request_uri;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name eh21.easterhegg.eu;
ssl_certificate_key /etc/nginx/ssl/eh21.easterhegg.eu.key;
ssl_certificate /etc/nginx/ssl/eh21.easterhegg.eu.crt;
root /var/www/eh21;
}
server {
listen 80;
listen [::]:80;
server_name engel.eh21.easterhegg.eu;
location /.well-known/acme-challenge {
default_type "text/plain";
alias /var/www/acme-challenge;
}
location / {
return 301 https://engel.eh21.easterhegg.eu$request_uri;
}
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name engel.eh21.easterhegg.eu;
ssl_certificate_key /etc/nginx/ssl/eh21.easterhegg.eu.key;
ssl_certificate /etc/nginx/ssl/eh21.easterhegg.eu.crt;
root /var/www/engel/public;
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

View File

@ -0,0 +1,7 @@
---
- name: Restart nginx
service: name=nginx state=restarted
- name: Run acertmgr
command: /usr/bin/acertmgr

View File

@ -0,0 +1,5 @@
---
dependencies:
- { role: acertmgr }
- { role: nginx, nginx_ssl: True }

View File

@ -0,0 +1,31 @@
---
- name: Install dependencies
apt:
name:
- php-fpm
- name: Create vhost directory
file: path=/var/www/eh21 state=directory owner=www-data group=www-data
- name: Create vhost directory
file: path=/var/www/engel state=directory owner=www-data group=www-data
- name: Ensure certificates are available
command: openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/nginx/ssl/eh21.easterhegg.eu.key -out /etc/nginx/ssl/eh21.easterhegg.eu.crt -days 730 -subj "/CN=eh21.easterhegg.eu" creates=/etc/nginx/ssl/eh21.easterhegg.eu.crt
notify: Restart nginx
- name: Configure certificate manager
copy: src=certs dest=/etc/acertmgr/eh21.easterhegg.eu.conf
notify: Run acertmgr
- name: Configure vhosts
copy: src=vhost dest=/etc/nginx/sites-available/www
notify: Restart nginx
- name: Enable vhosts
file: src=/etc/nginx/sites-available/www dest=/etc/nginx/sites-enabled/www state=link
notify: Restart nginx
- name: Start php8.2-fpm
service: name=php8.2-fpm state=started enabled=yes

View File

@ -42,7 +42,7 @@
# option cannot handle dynamic or non-broadcast interfaces correctly.
; bind interfaces only = yes
min protocol = NT1
#### Debugging/Accounting ####
@ -213,7 +213,7 @@
;[printers]
; comment = All Printers
; browseable = no
; path = /var/spool/samba
; path = /var/tmp
; printable = yes
; guest ok = no
; read only = yes
@ -240,5 +240,5 @@
browseable = yes
read only = no
guest ok = yes
create mask = 0600
directory mask = 0700
create mask = 0660
directory mask = 0770

View File

@ -0,0 +1,12 @@
---
deploy_key_file: /root/.ssh/id_git_deploy_rsa
asterisk_user: asterisk
asterisk_group: asterisk
repo_provisioning: gogs@git.binary-kitchen.de:noby/voip-yealink-provisioning.git
repo_utilities: gogs@git.binary-kitchen.de:noby/voip-yealink-xml-browser.git
path_yealink_provisioning: /tftpboot/yealink
path_yealink_utilities: /opt/yealink_utilities

View File

@ -0,0 +1,10 @@
---
- name: Reload systemd
ansible.builtin.systemd:
daemon_reload: true
- name: Restart yealink-utilities
ansible.builtin.service:
name: yealink-utilities
state: restarted

View File

@ -0,0 +1,8 @@
---
galaxy_info:
author: Thomas Basler
description: Install FreePBX extensions
license: None
platforms:
- name: Debian
min_ansible_version: "2.4"

View File

@ -0,0 +1,20 @@
---
- name: Generate an OpenSSH keypair for gitea deploy usage
community.crypto.openssh_keypair:
path: "{{ deploy_key_file }}"
- name: Wait for confirmation
ansible.builtin.pause:
prompt: Please confirm that you've distributed the public key to all repositories! Press return to continue. Press Ctrl+c and then "a" to abort
- name: Install required packages
ansible.builtin.apt:
name:
- php-ldap
- name: Include provisioning tasks
ansible.builtin.include_tasks: yealink_provisioning.yml
- name: Include XML-Utilities tasks
ansible.builtin.include_tasks: yealink_utilities.yml

View File

@ -0,0 +1,9 @@
---
- name: Clone Yealink Provisioning data
ansible.builtin.git: # noqa: latest
repo: "{{ repo_provisioning }}"
dest: "{{ path_yealink_provisioning }}"
force: true
accept_hostkey: true
key_file: "{{ deploy_key_file }}"

View File

@ -0,0 +1,53 @@
---
- name: Install dependencies
ansible.builtin.package:
name: "python3-venv"
state: present
- name: Check if .gitignore contains "{{ path_yealink_utilities }}"
ansible.builtin.command: grep "directory = {{ path_yealink_utilities }}" /root/.gitconfig
register: gitignore_check
ignore_errors: true
- name: "Patch /root/.gitconfig"
ansible.builtin.command: |-
git config --global --add safe.directory {{ path_yealink_utilities }}
when: gitignore_check.rc != 0
- name: Clone Yealink Utilities
ansible.builtin.git: # noqa: latest
repo: "{{ repo_utilities }}"
dest: "{{ path_yealink_utilities }}"
force: true
accept_hostkey: true
key_file: "{{ deploy_key_file }}"
- name: Ensure directory permissions
ansible.builtin.file:
path: "{{ path_yealink_utilities }}"
state: directory
recurse: true
owner: "{{ asterisk_user }}"
group: "{{ asterisk_group }}"
- name: Install specified python requirements in indicated (virtualenv)
ansible.builtin.pip:
requirements: "{{ path_yealink_utilities }}/requirements.txt"
virtualenv: "{{ path_yealink_utilities }}/.venv"
virtualenv_command: 'python3 -m venv'
- name: Install systemd unit
ansible.builtin.template:
src: yealink-utilities.service.j2
dest: /etc/systemd/system/yealink-utilities.service
mode: "0644"
notify:
- Reload systemd
- Restart yealink-utilities
- name: Enable yealink-utilities
ansible.builtin.service:
name: yealink-utilities
state: started
enabled: true

View File

@ -0,0 +1,17 @@
[Unit]
Description=Yealink XML-Browser
After=syslog.target
After=network.target
[Service]
RestartSec=2s
Type=simple
User={{ asterisk_user }}
Group={{ asterisk_group }}
Environment="PATH=/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:{{ path_yealink_utilities }}/.venv/bin"
WorkingDirectory={{ path_yealink_utilities }}
ExecStart={{ path_yealink_utilities }}/.venv/bin/python3 {{ path_yealink_utilities }}/run.py
Restart=always
[Install]
WantedBy=multi-user.target

View File

@ -3,6 +3,5 @@
gitea_user: gogs
gitea_group: gogs
gitea_checksum: sha256:1fedb3dd22a8fa2e815dd0491d3db36b3ebf1bb78eafdb8d3f60f740c8885365
gitea_version: 1.16.8
gitea_version: 1.22.6
gitea_url: https://github.com/go-gitea/gitea/releases/download/v{{ gitea_version }}/gitea-{{ gitea_version }}-linux-amd64

View File

@ -6,19 +6,24 @@
- name: Create user
user: name={{ gitea_user }} home=/home/{{ gitea_user }} group={{ gitea_group }}
- name: Create gitea directories
file: path={{ item }} state=directory owner={{ gitea_user }}
- name: Create directories
file: path={{ item }} state=directory owner={{ gitea_user }} group={{ gitea_group }}
with_items:
- /opt/gitea
- /opt/gitea/custom
- /opt/gitea/custom/conf
- name: Download gitea binary
get_url: url={{ gitea_url }} dest=/opt/gitea/gitea checksum={{ gitea_checksum }} mode=0755
get_url: url={{ gitea_url }} dest=/opt/gitea/gitea-{{ gitea_version }} mode=0755
register: gitea_download
- name: Symlink gitea binary
file: src=/opt/gitea/gitea-{{ gitea_version }} dest=/opt/gitea/gitea state=link
when: gitea_download.changed
notify: Restart gitea
- name: Configure gitea
template: src=app.ini.j2 dest=/opt/gitea/custom/conf/app.ini force=no owner={{ gitea_user }}
template: src=app.ini.j2 dest=/opt/gitea/custom/conf/app.ini force=no owner={{ gitea_user }} group={{ gitea_group }}
- name: Install systemd unit
template: src=gitea.service.j2 dest=/lib/systemd/system/gitea.service
@ -62,7 +67,7 @@
notify: Restart nginx
- name: Enable gitea
service: name=gitea enabled=yes
service: name=gitea state=started enabled=yes
- name: Enable monitoring
include_role: name=icinga-monitor tasks_from=http

View File

@ -8,7 +8,7 @@ Requires=postgresql.service
RestartSec=2s
Type=simple
User={{ gitea_user }}
Group={{ gitea_user }}
Group={{ gitea_group }}
WorkingDirectory=/opt/gitea/
ExecStart=/opt/gitea/gitea web
Restart=always

View File

@ -1,10 +1,10 @@
---
- name: Enable grafana apt-key
apt_key: url="https://packages.grafana.com/gpg.key"
apt_key: url="https://apt.grafana.com/gpg.key" keyring="/etc/apt/trusted.gpg.d/grafana.gpg"
- name: Enable grafana repository
apt_repository: repo="deb https://packages.grafana.com/oss/deb stable main"
apt_repository: repo="deb https://apt.grafana.com stable main"
- name: Install grafana
apt: name=grafana

View File

@ -25,7 +25,8 @@ server {
location / {
client_max_body_size 1024M;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://localhost:3000;
}
}

View File

@ -1,4 +0,0 @@
---
hedgedoc_version: 1.9.3
hedgedoc_archive: https://github.com/hedgedoc/hedgedoc/archive/{{ hedgedoc_version }}.tar.gz

View File

@ -1,110 +0,0 @@
---
- name: Create user
user: name=hackmd
- name: Enable nodesource apt-key
apt_key: url="https://deb.nodesource.com/gpgkey/nodesource.gpg.key"
- name: Enable nodesource repository
apt_repository: repo="deb https://deb.nodesource.com/node_14.x/ {{ ansible_distribution_release }} main"
- name: Enable yarnpkg apt-key
apt_key: url="https://dl.yarnpkg.com/debian/pubkey.gpg"
- name: Enable yarnpkg repository
apt_repository: repo="deb https://dl.yarnpkg.com/debian/ stable main"
- name: Pin nodejs repository
blockinfile:
path: /etc/apt/preferences.d/nodejs
create: yes
block: |
Package: *
Pin: origin deb.nodesource.com
Pin-Priority: 600
- name: Install packages
apt:
name:
- build-essential
- git
- nodejs
- postgresql
- python3-psycopg2
- yarn
- name: Unpack hedgedoc
unarchive: src={{ hedgedoc_archive }} dest=/opt owner=hackmd group=hackmd remote_src=yes creates=/opt/hedgedoc-{{ hedgedoc_version }}
register: hedgedoc_unarchive
- name: Create hedgedoc upload path
file: path=/opt/hedgedoc/uploads state=directory recurse=yes owner=hackmd group=hackmd
- name: Remove old hedgedoc upload path
file: path=/opt/hedgedoc-{{ hedgedoc_version }}/public/uploads state=absent force=yes
- name: Link hedgedoc upload path
file: path=/opt/hedgedoc-{{ hedgedoc_version }}/public/uploads src=/opt/hedgedoc/uploads state=link owner=hackmd group=hackmd
- name: Setup hedgedoc
command: bin/setup chdir=/opt/hedgedoc-{{ hedgedoc_version }} creates=/opt/hedgedoc-{{ hedgedoc_version }}/config.json
become: true
become_user: hackmd
- name: Configure hedgedoc
template: src=config.json.j2 dest=/opt/hedgedoc-{{ hedgedoc_version }}/config.json owner=hackmd
register: hedgedoc_config
notify: Restart hedgedoc
- name: Install hedgedoc frontend deps
command: /usr/bin/yarn install chdir=/opt/hedgedoc-{{ hedgedoc_version }}
become: true
become_user: hackmd
when: hedgedoc_unarchive.changed or hedgedoc_config.changed
- name: Build hedgedoc frontend
command: /usr/bin/yarn build chdir=/opt/hedgedoc-{{ hedgedoc_version }}
become: true
become_user: hackmd
when: hedgedoc_unarchive.changed or hedgedoc_config.changed
- name: Configure PostgreSQL database
postgresql_db: name={{ hedgedoc_dbname }}
become: true
become_user: postgres
- name: Configure PostgreSQL user
postgresql_user: db={{ hedgedoc_dbname }} name={{ hedgedoc_dbuser }} password={{ hedgedoc_dbpass }} priv=ALL state=present
become: true
become_user: postgres
- name: Ensure certificates are available
command: openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/nginx/ssl/{{ hedgedoc_domain }}.key -out /etc/nginx/ssl/{{ hedgedoc_domain }}.crt -days 730 -subj "/CN={{ hedgedoc_domain }}" creates=/etc/nginx/ssl/{{ hedgedoc_domain }}.crt
notify: Restart nginx
- name: Configure certificate manager for hedgedoc
template: src=certs.j2 dest=/etc/acertmgr/{{ hedgedoc_domain }}.conf
notify: Run acertmgr
- name: Configure vhost
template: src=vhost.j2 dest=/etc/nginx/sites-available/hedgedoc
notify: Restart nginx
- name: Enable vhost
file: src=/etc/nginx/sites-available/hedgedoc dest=/etc/nginx/sites-enabled/hedgedoc state=link
notify: Restart nginx
- name: Systemd unit for hedgedoc
template: src=hedgedoc.service.j2 dest=/etc/systemd/system/hedgedoc.service
notify:
- Reload systemd
- Restart hedgedoc
- name: Start the hedgedoc service
service: name=hedgedoc state=started enabled=yes
- name: Enable monitoring
include_role: name=icinga-monitor tasks_from=http
vars:
vhost: "{{ hedgedoc_domain }}"

Some files were not shown because too many files have changed in this diff Show More