Commit graph

83 commits

Author SHA1 Message Date
pettai 720331cd43
add apache2 2024-06-13 11:01:58 +02:00
Patrik Lundin 27289f0be5
Create knot_rest_token_secret variable from secret 2024-06-13 09:39:05 +02:00
pettai a54c86b584
use SUNETs resolver 2024-06-13 09:31:52 +02:00
pettai 21b6eae8d9
add acme-d for certs 2024-06-13 09:19:54 +02:00
pettai fe6e9e5a30
exec -> package for knot 2024-06-12 22:00:12 +02:00
pettai 7c7ed0c7c0
fix typo 2024-06-12 17:20:31 +02:00
pettai edc6f7a7b1
stop systemd-resolved 2024-06-12 17:18:08 +02:00
pettai eebf6dae98
yaf 2024-06-12 16:45:10 +02:00
pettai e0274dba57
add more fixes 2024-06-12 16:33:23 +02:00
pettai 81cdc7801e
fix comment 2024-06-12 16:27:46 +02:00
pettai 6a8f7dbe58
add fixes 2024-06-12 16:25:26 +02:00
pettai adac2dfd11
add included knot-conf 2024-06-12 16:17:28 +02:00
pettai a8d4d352fd
don't (re)install unless ... 2024-06-12 15:20:55 +02:00
pettai 8799d758ca
fix dpkg name 2024-06-12 15:18:08 +02:00
pettai 4303861003
add more knot packages 2024-06-12 15:15:00 +02:00
pettai bd32b1cb43
precise version 2024-06-12 15:10:18 +02:00
pettai 68688bca07
add conf 2024-06-12 15:06:02 +02:00
pettai c75d64d114
fix 2024-06-12 11:34:01 +02:00
pettai 51087c591a
change " -> ' 2024-06-12 11:31:38 +02:00
pettai 80cec401c8
rename and enable knotdns again 2024-06-12 11:26:34 +02:00
pettai 0d2f05ef98
add class dns 2024-06-12 10:20:14 +02:00
Patrik Lundin fe51aab0e5
Disable class so my ssh key can get applied 2024-06-11 17:08:07 +02:00
Patrik Lundin da67069ff0
Add my ssh key 2024-06-11 16:53:06 +02:00
pettai 5a5284efef
enable knotdns 2024-06-11 16:01:05 +02:00
pettai 8e08373403
add initial KnotDNS stuff 2024-06-11 15:56:14 +02:00
pettai 3234f808a1
add sunet-puppet dep keys 2024-06-04 13:21:56 +02:00
pettai 880dc775c0
add dns module + init conf (install ssh keys + journald default) 2024-05-29 10:44:52 +02:00
Patrik Lundin 80d192bd8d
Add basic cosmos-rules defaults
Fetched from knubbis-ops
2024-05-27 15:35:35 +02:00
Patrik Lundin cbb8c25345
Cleanup setup_cosmos_module
Include less puppet module repos by default and use testing tag on
puppet-sunet for test machines.
2024-05-27 15:09:06 +02:00
Patrik Lundin 71f5a943bc
Add keys for me and pettai
Fetched from cnaas-ops.
2024-05-27 14:37:45 +02:00
Patrik Lundin 2a5bed6aa1
Add initial setup_cosmos_modules 2024-05-27 14:33:03 +02:00
Johan Wassberg c72f5ccd86
Allow for hosts without class(s) 2024-04-12 15:32:40 +02:00
Patrik Lundin df5558befb
Fix another indentation mismatch 2024-01-24 15:36:52 +01:00
Patrik Lundin 4b93d9c426
run-cosmos: support fleetlock unlocking at boot
This extends run-cosmos with a new argument that calls the unlock
function already included in the script as well as using the already
existing lock() function to make sure there is no race between the
bootup process and cron starting a normal run-cosmos process at the same
time.

The oexit() function is added to support exiting with a OK exit value
the same way eexit() is used to signal something is wrong.

This change also adds the systemd unit file that runs run-cosmos with the
new fleetlock-unlock argument at boot if fleetlock is configured.

While here fix indentation that was mixed between 3 and 4 spaces: it is
now 4 spaces everywhere.
2024-01-24 15:36:34 +01:00
Patrik Lundin 7baf9affb1
Add fleetlock support to run-cosmos
Makes run-cosmos request a fleetlock lock before running cosmos "update"
and "apply" steps. This is helpful for making sure only one (or several)
machine out of some set of machines runs cosmos changes at a time. This
way if cosmos (or puppet) decides that a service needs to be restarted
this will only happen on a subset of machines at a time. When the cosmos
"apply" is done a fleetlock unlock request will be performed so the
other machines can progress.

The unlock code in run-cosmos will also run the new tool
sunet-machine-healthy to decide things are good before unlocking. This
way if a restarted service breaks this will stop the unlock attempt
and in turn make it so the others should not break their service as
well, giving an operator time to figure out what is wrong.
2023-06-17 08:10:00 +02:00
Johan Wassberg cf2e6b6518
File provided by Sunet::Dockerhost 2023-04-04 15:21:15 +02:00
Johan Wassberg 5af8093338
Add support for eyaml in Hiera
And at the same time remove support for gpg.

The modern version of the configuration (v5) has been tested with 20.04 but
might work with older dists.
2023-02-16 07:44:37 +01:00
Fredrik Thulin c400bba97d
remove 'make db'
The db-file, essentially providing reverse lookup of classes to host
names, is only used by some Nagios configuration instances and causes
continuing operational headaches in those ops-repos.

It should be kept/refactored to only apply to the monitoring hosts in
the cases where it is used, but we don't want any new ops-repos to use
it hence it should be removed from upstream multiverse.
2023-02-07 14:21:29 +01:00
Fredrik Thulin 12b2412ea7
run cron at boot too, to e.g. get new firewall rules installed 2023-02-06 17:12:01 +01:00
Fredrik Thulin 79606f2a6d
check for /etc/no-automatic-cosmos in the wrapper, and allow arguments to be passed 2023-02-06 16:47:41 +01:00
Fredrik Thulin 3988f5beb0
shellcheck fixes 2023-02-06 16:47:30 +01:00
Johan Wassberg 84b29e4eaa
Executable 2023-02-02 11:49:10 +01:00
Johan Wassberg 49ba964897
Wrap cosmos in scriptherder if available
nunoc-ops and others has been doing this for ages by just modifing the cron
file.
2023-02-02 11:45:54 +01:00
Johan Wassberg bc17ee1354
Don't confuse containers to connect to them self
When the hostname pointed to loopback the containers tried to connect to them
self instead of the host.
2023-01-24 10:01:59 +01:00
Fredrik Thulin e2e394a9af
generate /etc/puppet/cosmos-modules.conf dynamically 2023-01-19 17:19:42 +01:00
Johan Wassberg fb4849a0df
Use puppet that comes with OS
nunoc-ops does like this since 2018 so I think it will fly.

Also the package `puppet` seems to been around since at-least Ubuntu 14.04.
2023-01-17 13:53:13 +01:00
Patrik Lundin 3ef4e47ff6
Handle multiple versions of cosmos .deb
Before this change there was a need to keep addhost and
bootstrap-cosmos.sh in sync regarding what version of the cosmos deb to
scp over and later run.

Now we find the latest version as decided by `sort -V` in both addhost
and bootstrap-cosmos.sh.

Solution discussed with @fredrikt.
2022-11-15 18:26:36 +01:00
Patrik Lundin 020b8fe34c
Enable "set -e" again
Good idea to fail when unexpected things go wrong. Additional fixes
added to the script to not stop where we can expect a non-zero return
code.

Requested by @fredrikt who also reviewed the patch before going in,
thanks!
2022-10-12 16:47:20 +02:00
Patrik Lundin c55e5535a2
Add gpg to cosmos bootstrap script
Without this Debian 11 fails to bootstrap:
```
/etc/cosmos/gpg.d/50gpg: 36: gpg: not found
```
2022-10-10 17:27:15 +02:00
Linus Nordberg 0692cabba3
Remove that '.novalocal' line in /etc/hosts, added by cloud-init
It messes up `hostname -f` on Debian, even if there's a correct line
further down in /etc/hosts.
2022-10-10 17:26:56 +02:00