Commit graph

406 commits

Author SHA1 Message Date
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
Micke Nordin cacb97a22c
Allow running of bumptag with out signed commits or tags
By setting ALLOW_UNSIGNED_COMMITS_WITHOUT_TAGS you can bootstrap bumptag
on first startup of new repo
2023-12-04 14:24:34 +01:00
Johan Wassberg ecedda68e3
Merge pull request #50 from SUNET/kano-sshproxyjump
PREPARE/ADDHOST: allow the ues of proxyjump with ip address
2023-11-29 12:53:05 +01:00
Micke Nordin 71e112e009
PREPARE/ADDHOST: allow the ues of proxyjump with ip address
With this patch you can specify a ProxyJump for prepare-iaas-ubuntu,
prepare-iaas-debian and addhost. Example:

./prepare-iaas-debian 89.47.191.7 hj
./addhost -b -n node1.extern.drive.test.sunet.se -p hj -- 89.47.191.7

where hj is a host defined in my .ssh/config suitable for a proxyjump
to the host in question.

This makes it easier to use ip addresses for these scripts which might
be neccessary if dns takes a while to propagate.
2023-11-29 12:10:34 +01:00
Micke Nordin 1bd6524ad3
Merge pull request #48 from SUNET/john-bump-tag-from-nunoc-ops
Merge of improved bump-tag from nunoc-ops
2023-11-16 13:55:49 +01:00
John Van de Meulebrouck Brendgard 21c0cad8a0
Consistently use [[ for if statements. 2023-11-16 12:12:36 +01:00
John Van de Meulebrouck Brendgard dc1df6671c
Shellcheck needs to have the PAGER quoted
in order to correctly interpret the meaning
according to it's wiki.
2023-11-16 12:11:09 +01:00
John Van de Meulebrouck Brendgard fd4523308f
Replaced 'egrep' that is now deprecated. 2023-11-16 12:09:02 +01:00
John Van de Meulebrouck Brendgard cb9e1f8670
Added shellcheck exceptions for misplaced warning. 2023-11-16 12:07:10 +01:00
John Van de Meulebrouck Brendgard 5a47b1a3f7
Readded this_branch=$(git rev-parse --abbrev-ref HEAD)
since it wasn't included in change to check
against the current branch instead of master
2023-11-16 12:04:30 +01:00
John Van de Meulebrouck Brendgard 826b8edf82
Changed from [[ ! -z ... to [[ -n ... 2023-11-16 11:59:33 +01:00
John Van de Meulebrouck Brendgard 53c58b413e
Changed from if [[ ${?} ]] to if cmd 2023-11-16 11:56:49 +01:00
John Van de Meulebrouck Brendgard 8a7c85dcf0
Added bump-tag from nunoc-ops that has
multiple improvements and checks for
signed commits, makes sure that important
script are not tampered with and much more.
2023-11-15 14:02:49 +01:00
Micke Nordin 083d6eda83 bump-tag: Compare against current branch
Mariah pointed out that this was lost in:

6ac9294dea

And should be reinstated
2023-11-15 12:15:46 +01:00
Micke Nordin 8a947ffa28
Merge pull request #46 from SUNET/jocar-bookworm-depends
Bookworm depends
2023-11-14 15:34:44 +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
Micke Nordin 9b6322c2ec
Merge pull request #45 from SUNET/jocar-bookwork-fix
Bookwork image runs netplan
2023-10-16 11:03:54 +02:00
Johan Wassberg 69377631a8
Bookwork image runs netplan 2023-10-16 09:25:57 +02:00
Micke Nordin b057f0aeda
Merge pull request #44 from SUNET/jocar-dont-install-x11
Don't install x11
2023-10-02 12:58:30 +02:00
Johan Wassberg 58a9ca7aa9
No need of x11 on our servers 2023-10-02 12:39:44 +02:00
Micke Nordin 6ac9294dea A newer bump-tag 2023-07-13 08:53:29 +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
Micke Nordin aebaccd5ba
Multiverse master has been renamed to main, so updating documentation to reflect that 2023-07-03 15:14:52 +02:00
Micke Nordin 9bfac2520b
Merge pull request #40 from SUNET/patlu-fleetlock
Add fleetlock support to run-cosmos
2023-06-21 08:52:24 +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
Micke Nordin 397f0595f7
If the variable GITTAGEXTRA is double quoted we get issues.
Disable shellcheck for this instance
2023-05-15 14:29:05 +02:00
Micke Nordin 876e72e2ae
Make shfmt happy 2023-04-25 17:31:18 +02:00
Micke Nordin fe9fb32cd6
Merge branch 'main' of ssh://github.com/sunet/multiverse 2023-04-25 17:20:08 +02:00
Micke Nordin 3fd4791273
Make bump-tag branch agnostic 2023-04-25 17:19:18 +02:00
Micke Nordin 0eed08d63d
Merge pull request #39 from SUNET/jocar-remove-logrotate-for-docker
File provided by Sunet::Dockerhost
2023-04-04 15:45:00 +02:00
Johan Wassberg cf2e6b6518
File provided by Sunet::Dockerhost 2023-04-04 15:21:15 +02:00
Micke Nordin dd3b498c7e
Merge pull request #38 from SUNET/jocar-force-accept-ra-in-debian
Don't throw away v6 route when IP forwarding
2023-03-15 14:03:22 +01:00
Johan Wassberg 0f1c5ec93f
Don't throw away v6 route when IP forwarding
In environments where we relay on RAs for IPv6 (e.g Safespring) we need to
forcely allow RAs even if IP forwarding is enabled by some service(s). E.g docker:
2dc4de00de/templates/dockerhost/systemd_dropin_nftables_ns.conf.erb (L46)
2023-03-15 13:08:24 +01:00
Fredrik Thulin abe0d28854
Merge pull request #37 from SUNET/jocar-add-eyaml-to-hiera
Add support for eyaml in Hiera
2023-02-16 11:13:45 +01: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
Micke Nordin ef4e27e337
Merge pull request #36 from SUNET/feature-ft-drop_make_db
remove 'make db'
2023-02-09 13:09:19 +01:00
Fredrik Thulin 496b9f4b31
shellcheck fixes 2023-02-07 16:09:37 +01:00
Fredrik Thulin 252d478e2d
cosmos-db.yaml is no more 2023-02-07 16:09:25 +01:00
Fredrik Thulin 1bddf21049
remove 'make db' target as well 2023-02-07 15:04:01 +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
Micke Nordin 46f4fc6d33
Merge pull request #35 from SUNET/jocar-fix-eyaml
Make sure of separator
2023-02-07 08:57:49 +01:00
Johan Wassberg cae694d1ce
Make sure of separator
We use the separator later on to determine where the yaml document starts.
`eyaml edit` adds the separator to new (non-existing) files by itself but
since we want to create the file before in order to diff later the separator
needs to be added in order to get a valid document.
2023-02-07 08:49:31 +01:00
Patrik Lundin 0db8d1fd9a
Merge pull request #34 from SUNET/feature-ft-cron_wrapper_improvements
cron wrapper improvements
2023-02-07 07:33:24 +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
Johan Wassberg 8599d395c2
Merge pull request #33 from SUNET/feature-ft-tinkering
tinkering
2023-02-03 16:10:54 +01:00
Fredrik Thulin 708c6c1b64
add set -e, and do some shellcheck cleanup 2023-02-03 16:05:09 +01:00