Commit graph

153 commits

Author SHA1 Message Date
Johan Wassberg 72a16ba536
Setup radius 2 in prod 2024-07-16 11:44:12 +02:00
Johan Wassberg 8e0e1cd8e7
Development completed 2024-07-16 11:37:28 +02:00
Johan Wassberg 9afd4e66e8
Modern 2024-07-15 15:05:09 +02:00
Johan Wassberg 553010462b
Correct host 2024-07-05 12:25:56 +02:00
Johan Wassberg fc75116638
Pin to a sane version for prod 2024-07-05 12:24:11 +02:00
Johan Wassberg d2675ffc4f
New server 2024-07-05 12:17:57 +02:00
Markus Hertzén acdcf4e697
Adding initial config for radius-1 2024-07-03 10:00:10 +02:00
Markus Hertzén 14ee04baad
Adding config for app 2 2024-07-02 15:18:59 +02:00
Markus Hertzén f312cb7190
app servers should not run radius 2024-07-02 13:50:15 +02:00
Markus Hertzén 938c11ee7e
Fixing syntax 2024-07-02 13:28:07 +02:00
Markus Hertzén 86dec5e5e5
Adding app 1 config 2024-07-02 13:03:14 +02:00
Markus Hertzén 0453c06490
Adding host config for db 2024-07-02 12:48:12 +02:00
Markus Hertzén 15ce2d75a5
Adding second db host 2024-07-02 12:29:21 +02:00
Markus Hertzén 797534870c
Adding first db host 2024-07-02 12:24:53 +02:00
Markus Hertzén e7187e72db
Removing user that is not part of this operation 2024-07-02 12:23:32 +02:00
Johan Wassberg ab6f385fdb
Fetch certificate 2024-06-20 11:33:55 +02:00
Johan Wassberg e6bc40ccfc
Start running some radius 2024-06-20 11:18:53 +02:00
Johan Wassberg 12b8f0f66f
Another app 2024-06-20 08:22:03 +02:00
Johan Wassberg cef7dea377
Syntax error 2024-06-19 22:07:21 +02:00
Johan Wassberg b4cb4089e4
Registrer in lb 2024-06-19 22:05:25 +02:00
Johan Wassberg 0a78036d42
App doesn't need db 2024-06-19 21:20:14 +02:00
Johan Wassberg 148964d93f
Latest and greatest 2024-06-19 21:13:05 +02:00
Johan Wassberg 9c9775e8f2
Install app server 2024-06-19 21:10:59 +02:00
Johan Wassberg 654951e88e
quorum 2024-06-16 20:25:19 +02:00
Johan Wassberg 8cdacf56ab
Second node in cluster 2024-06-16 20:22:54 +02:00
Johan Wassberg f5be0e6d78
Generic db class 2024-06-16 20:19:31 +02:00
Johan Wassberg 34f33f18ef
Trust unattended-upgrades 2024-06-16 20:18:25 +02:00
Johan Wassberg 686dd8abce
Install db 2024-06-16 20:17:11 +02:00
Johan Wassberg 165a881ca6
Merged to stable 2024-06-04 12:32:34 +02:00
Johan Wassberg fa50e6d6d3
Maria was the last one too tag puppet-sunet 2024-06-03 15:26:05 +02:00
Johan Wassberg 652ab3d1bb
Try new tag 2024-05-15 08:54:30 +02:00
Johan Wassberg 5d8b2d98a3
Order matters 2024-05-15 08:34:21 +02:00
Johan Wassberg 10794d8080
Check for scriptherder 2024-05-15 08:34:02 +02:00
Johan Wassberg a06739f23d
Scriptheder configures itself 2024-05-13 15:35:41 +02:00
Johan Wassberg 888df90210
Running a modern scriptherder requires sudo 2024-05-13 15:28:18 +02:00
Johan Wassberg d18e37276c
Use correct flag 2024-05-13 15:02:29 +02:00
Johan Wassberg f12af2e309
We wan't to herd the scripts 2024-05-13 15:01:00 +02:00
Johan Wassberg 27a33e2066
Allow access from monitor 2024-05-13 14:53:06 +02:00
Johan Wassberg 60bb414d7b
We don't wrapp around the puppet-sunet class 2024-05-13 14:49:31 +02:00
Johan Wassberg ed73bfd8c5
Rely on default group 2024-05-13 14:46:56 +02:00
Johan Wassberg 57cfa79712
nrpe configuration 2024-05-13 11:27:36 +02:00
Johan Wassberg 82abe9277c
New key for kano 2024-05-13 10:58:26 +02:00
Johan Wassberg ae3feda04b
Install monitor 2024-05-13 09:59:58 +02:00
Johan Wassberg c52692169a
Jump servers for the firewall 2024-05-08 14:20:22 +02:00
Johan Wassberg 2271ea634f
Use the correct key 2024-05-08 14:20:07 +02:00
Johan Wassberg ed6077fb3b
Store manifest in the correct location 2024-05-08 14:18:01 +02:00
Johan Wassberg 762d82846e
Add baseline 2024-05-08 14:16:10 +02:00
Johan Wassberg e109b133e8
Skip a few other modules which we are not using 2024-05-08 12:57:23 +02:00
Johan Wassberg 1ac714e271
Trust kano 2024-05-08 12:57:11 +02:00
Johan Wassberg 5b1362b4eb
Added required keys 2024-05-08 12:36:07 +02:00
Johan Wassberg 9c4c7db528
Set up cosmos modules 2024-05-08 10:33:45 +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
John Van de Meulebrouck Brendgard 3b80ba32c7
Set manage_etc_hosts to false for cloudimage based hosts
this is needed so that our changes in /etc/hosts
are not overwritten.
2022-10-10 17:26:45 +02:00
Fredrik Thulin b2272d409f
free-hand updates from eduid-ops 2022-10-10 17:26:18 +02:00
Leif Johansson 19304f2d79
short hostname i /etc/hosts 2022-10-10 17:23:39 +02:00
Leif Johansson 378dfe04fa
try very hard to find git 2022-10-10 17:23:23 +02:00
Leif Johansson 7f0c457a33
try very hard to find git 2022-10-10 17:22:56 +02:00
Leif Johansson 87e49a541f
safe update & upgrade 2022-10-10 17:19:34 +02:00
Fredrik Thulin d033b58909
init, new version with better git update and signature validation 2022-04-14 12:22:44 +02:00
Leif Johansson d8cc0aa331
Merge pull request #5 from pettai/more-puppet-debs
Add more puppet debs
2019-02-18 16:55:21 +01:00
John Van de Meulebrouck Brendgard fba9ddb8f7
Changed example regex
to make it a bit more apparent that the regex is
to be used with re.match and not re.search
2019-02-12 16:21:24 +01:00
Fredrik Thulin f25a6af712
use python3 2019-01-15 13:18:22 +01:00
Fredrik Pettai f096b2274d Add more puppet debs
Add (puppet)support for more deb-based releases.
Add sha1sum + realname for all debs downloaded from apt.puppet.com
2018-02-15 23:48:16 +01:00
Linus Nordberg 56f7f529d9 Merge pull request #4 from Gijutsu/master
Verified puppetlabs-release-xenial.deb for Ubuntu 16.04
2017-07-26 14:49:02 +00:00
John Van de Meulebrouck Brendgard e0505b4100
Uppdated puppetlabs-release-xenial.deb
to version 1.1.0-4 called puppetlabs-release-pc1_1.1.0-4xenial_all.deb
at https://apt.puppetlabs.com.
2017-04-26 16:03:02 +02:00
Leif Johansson 4972eefdcc ny run-cosmos 2017-02-02 15:37:32 +01:00
John Van de Meulebrouck Brendgard 5cd4e5b0cf
Verified puppetlabs-release-xenial.deb for Ubuntu 16.04 2016-09-30 17:58:56 +02:00
Fredrik Thulin 1f8733559b Merge pull request #1 from Gijutsu/master
Updated documentation and conf ...
2016-09-01 14:16:19 +02:00
John Van de Meulebrouck Brendgard f6fe928590
new upstream release of cosmos that includes ln5 fixes for https remotes
along with a verified version of puppetlabs-release-trusty.deb
2016-08-28 21:22:48 +02:00
John Van de Meulebrouck Brendgard b2afd3482e
Changed cosmos-modules.conf to reflect the changes in doc 2016-08-27 17:05:55 +02:00
John Van de Meulebrouck Brendgard f939c526e6
Changed tag from eduid-cosmos to the more generic cosmos-ops 2016-08-27 17:05:11 +02:00
Leif Johansson bc70832f4c logrotate for docker containers 2015-02-24 11:12:06 +01:00
Fredrik Thulin cd2b67ff5a use run-cosmos, for serialization 2015-02-23 16:03:55 +01:00
Fredrik Thulin e69b0f84f8 init 2015-02-23 16:02:43 +01:00
Fredrik Thulin d164fde704 add 'local' source 2015-02-23 16:01:40 +01:00
Fredrik Thulin 3d51588fcf update yaml syntax to work on Ubuntu 14.04 2015-02-23 16:01:24 +01:00
Fredrik Thulin e6e25edc7e Safer default repos, and show tag-name. 2015-02-23 15:58:29 +01:00
Leif Johansson 4f300ca632 simple kvm builder using cloud images 2014-10-22 14:28:05 +02:00
Leif Johansson e8068c2757 another deprecation 2014-09-29 15:13:02 +02:00
Leif Johansson 31772848b3 merged pull-request 2014-02-22 21:43:18 +01:00
Stefan Wold aaac847d84 Include the new cosmos-modules dir in module path 2013-12-20 13:10:27 +01:00
Fredrik Thulin 389c04019b Add hiera-gpg for storing secrets used in templates. 2013-12-19 15:11:19 +01:00