Commit graph

115 commits

Author SHA1 Message Date
Mikael Frykholm fe0b7e33fa
1.29 seems broken, found https://github.com/kubernetes/kubernetes/issues/122955 2024-03-27 10:57:38 +01:00
Mikael Frykholm 49ee1f9959
Trust puppet-sunet developers. v2 2024-03-13 12:23:28 +01:00
Mikael Frykholm 8d5b734089
Trust puppet-sunet developers. 2024-03-13 12:21:33 +01:00
Mikael Frykholm dcb32f7efb
Add infra certs. 2024-03-01 13:55:23 +01:00
Mikael Frykholm cfd802ba16
Add load balancer config. 2024-03-01 13:05:44 +01:00
Mikael Frykholm 0f28d84875
Add Richard Lagerström to the project.
Deploya access and ssh access.
2024-03-01 12:57:53 +01:00
Mikael Frykholm 3a49579e44
Add the actual keys, not just references to them. 2024-03-01 12:36:16 +01:00
Mikael Frykholm 9d49c160e6
Actually enable the new class. 2024-03-01 12:31:24 +01:00
Mikael Frykholm 30dabc2c67
Add ssh keys and generic setup stuff. 2024-03-01 12:26:29 +01:00
Mikael Frykholm 27834cfa27
Upgrade to 1.29 to try out cloud native pg. 2024-03-01 10:14:59 +01:00
Mikael Frykholm dc76307bf0
Syntax error. 2024-02-29 10:48:56 +01:00
Mikael Frykholm 8f2019c326
Try out a microk8s upgrade 2024-02-29 10:46:24 +01:00
Mikael Frykholm d7126c410f
Add sunet::server 2024-02-26 15:38:55 +01:00
Mikael Frykholm 229b119539
Add kano's key and add ufw module. 2024-02-26 15:15:28 +01:00
Mikael Frykholm a9f88190ff
Setup initial trusted keys to be able to import external projects. 2024-02-26 12:52:39 +01:00
Mikael Frykholm 2aa00bd6b8
Setup default modules and versions to load. 2024-02-26 12:42:45 +01:00
Mikael Frykholm 7ec8cf3894
Initial install of k8s cluster. 2024-02-26 12:26:22 +01:00
Mikael Frykholm e1c7bbae38
Test-commit. 2024-02-22 19:35:30 +01:00
Mikael Frykholm 6950f54607
initial trust
Signed-off-by: Mikael Frykholm <mifr@sunet.se>
2024-02-19 12:36:03 +01: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
Johan Wassberg a6a67d355f
Diffable 2023-11-14 15:28:46 +01:00
Johan Wassberg 120c4a5a93
A few more depends for Bookworm 2023-11-14 15:27:45 +01:00
Johan Wassberg 58a9ca7aa9
No need of x11 on our servers 2023-10-02 12:39:44 +02:00
Micke Nordin 3aac1f97d8
Add additional packages for use with debian 12
This patch will install three packages that is needed for normal operations of puppet using puppet-sunet with multiverse on Debian 12:

cron puppet-module-puppetlabs-cron-core puppet-module-camptocamp-augeas
2023-07-10 16:32:20 +02: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
Patrik Lundin 906edf3caf
Merge pull request #32 from SUNET/feature-ft-install_eyaml
Install eyaml on newer hosts
2023-02-06 12:31:31 +01:00
Fredrik Thulin 708c6c1b64
add set -e, and do some shellcheck cleanup 2023-02-03 16:05:09 +01:00
Fredrik Thulin 25463e6013
respect COSMOS_VERBOSE 2023-02-03 16:04:51 +01:00
Fredrik Thulin f9a286fc05
install eyaml on Ubuntu from 18.04 and Debian from version 10 2023-02-03 15:40:15 +01:00
Fredrik Thulin e08346aa30
cleanup, use stamp-file, only run on old OS versions 2023-02-03 15:39:49 +01:00
Micke Nordin ba1e40ffd3
Merge pull request #31 from theseal/wrap-cosmos
Wrap cosmos
2023-02-02 13:01:02 +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
Patrik Lundin e212b6f56f
Support master branch being renamed to main
Fixes:
```
70run-post-tasks: invoking /var/cache/cosmos/model/post-tasks.d/018packages
Your configuration specifies to merge with the ref 'refs/heads/master'
from the remote, but no such ref was fetched.
```
2023-01-31 08:52:28 +01:00
Fredrik Thulin 4601e0bf08
make sure we get clean checkouts 2023-01-30 14:56:15 +01:00
Leif Johansson d604d2fab5
set no-protection on the private key 2023-01-30 12:07:33 +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 715105aadb
add documentation for dynamically generated cosmos-modules.conf 2023-01-19 17:56:51 +01:00
Fredrik Thulin c3c6171f96
modules, not models 2023-01-19 17:30:18 +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 68d0083557
Make overlay permission script global
This will make sure /root has proper permissions on our machines.
2022-12-05 15:02:37 +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