Commit Graph

1905 Commits

Author SHA1 Message Date
evilham 5981d0a5f1 [__postfix] Automagically support more OSs by not checking too much.
It is quite likely that the package is going to be called postfix, rather
than trying to have an exhaustive "allow list" for this package, we can
just add special cases for OSs where that is not the case (not aware of any
atm).
2020-04-25 00:22:28 +02:00
Darko Poljak 38ccdfda32 Fix newly found shellcheck issues 2020-04-22 23:21:34 +02:00
Darko Poljak 704e78322e Use OrderedDict to guarantee order
Note:
> Changed in version 3.7: Dictionary order is guaranteed to be
> insertion order. This behavior was an implementation detail of
> CPython from 3.6.
2020-04-11 20:26:20 +02:00
Steven Armstrong e19c1bb1e0 remove duplicates from conf dirs while preserving order
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2020-04-10 21:50:39 +02:00
Steven Armstrong 76d978d3d8 explorer/init: do not grep on non-existent init
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2020-04-10 10:51:17 +02:00
Darko Poljak 890c73f6bd Fix shellcheck issues 2020-04-02 20:18:04 +02:00
Nico Schottelius d034fe9369 [__pyvenv] use python3 -m venv on alpine
Until python4 comes, this will work
2020-04-02 18:24:13 +02:00
Nico Schottelius 0f639a9278 Make __cron nonparallel
It fails due to removal / edit of crontab at the same time

VERBOSE: [18331]: uncloud.ungleich.ch: Running object __cron/pg_dump_cleanup
VERBOSE: [18332]: uncloud.ungleich.ch: Running object __ungleich_packages/server
VERBOSE: [18335]: uncloud.ungleich.ch: Running object __postgres_role/app
INFO: [18335]: uncloud.ungleich.ch: Processing __postgres_role/app
INFO: [18331]: uncloud.ungleich.ch: Processing __cron/pg_dump_cleanup
ERROR: [16451]: uncloud.ungleich.ch: ssh -o User=root -o ControlPath=/tmp/tmp_8eu4oep/s -o ControlMaster=auto -o ControlPersist=2h uncloud.ungleich.ch /bin/sh -c ' export __object=/var/lib/cdist/object/__cron/pg_dumpall_under_day/.cdist-mfd00npk;  export __object_id=pg_dumpall_under_day;/bin/sh -e /var/lib/cdist/object/__cron/pg_dumpall_under_day/.cdist-mfd00npk/code-remote': ['ssh', '-o', 'User=root', '-o', 'ControlPath=/tmp/tmp_8eu4oep/s', '-o', 'ControlMaster=auto', '-o', 'ControlPersist=2h', 'uncloud.ungleich.ch', "/bin/sh -c ' export __object=/var/lib/cdist/object/__cron/pg_dumpall_under_day/.cdist-mfd00npk;  export __object_id=pg_dumpall_under_day;/bin/sh -e /var/lib/cdist/object/__cron/pg_dumpall_under_day/.cdist-mfd00npk/code-remote'"]

Error processing object '__cron/pg_dumpall_under_day'
=====================================================
name: __cron/pg_dumpall_under_day
path: /tmp/tmplaq9cwdh/6318c251013a449595327745daacf3ee/data/object/__cron/pg_dumpall_under_day/.cdist-mfd00npk
source: /tmp/tmplaq9cwdh/6318c251013a449595327745daacf3ee/data/conf/type/__ungleich_postgresql/manifest
type: /home/nico/vcs/cdist/cdist/conf/type/__cron

code-remote:stderr
------------------
crontab: can't move 'postgres.new' to 'postgres': No such file or directory

VERBOSE: [16451]: config: Total processing time for 1 host(s): 13.98031210899353
[18:09] line:~%
2020-04-02 18:14:09 +02:00
poljakowski 1eb02f908b Merge branch 'fix/__package_update_index' into 'master'
[__package_update_index] Fix maxage false-positives on brand-new installations

See merge request ungleich-public/cdist!858
2020-03-29 13:53:55 +02:00
Darko Poljak b25939cdd6 Fix shellcheck 2020-03-27 13:30:52 +01:00
poljakowski 11148995d1 Merge branch 'master' into 'master'
fix typo

See merge request ungleich-public/cdist!857
2020-03-27 08:50:29 +01:00
Nico Schottelius 66d9905029 [__consul_agent] make conf_dir depent on the OS 2020-03-26 21:48:17 +01:00
andrewschleifer f00e4af5f0 fix typo 2020-03-26 21:17:32 +08:00
matze 358e04b2af Handle specially if no time about the last index update found.
The explorer 'currage' now returns -1 if he can not find any value about
this. The gencode-remote script handle this value special to not exit if
-1 given as value.

This fixes the bug
  ungleich-public/cdist#803
2020-03-14 09:58:38 +01:00
llnu fb32d6ed3f alpine uses a different getent lib which doesnt support: getent shadow 2020-03-08 16:04:02 +01:00
poljakowski 4b24d886eb Merge branch 'file/better-errors' into 'master'
[__file] Better errors analogous to __directory

See merge request ungleich-public/cdist!854
2020-02-26 21:50:01 +01:00
Dennis Camera 9eacba06bb [__file] Treat pre-exists as a special case in gencode-remote as it should never get there 2020-02-26 16:48:14 +01:00
Dennis Camera 46d2487f08 [__file] Give more precise error message when --state pre-exists 2020-02-26 16:40:53 +01:00
poljakowski dd6b07d924 Merge branch 'directory-exists' into 'master'
[__directory] Add --state exists and --state pre-exists

See merge request ungleich-public/cdist!832
2020-02-26 16:33:37 +01:00
Dennis Camera 6b4b6534a1 [__directory] Give more precise error message when --state pre-exists 2020-02-26 16:15:23 +01:00
poljakowski aa49afd61a Merge branch 'fix/explorer/disks' into 'master'
explorer/disks: Fix on NetBSD and support Linux w/o lsblk

See merge request ungleich-public/cdist!852
2020-02-26 12:53:26 +01:00
Dennis Camera 6db6dc4ac0 [explorer/disks] Add license header 2020-02-25 20:24:14 +01:00
Dennis Camera 1ef126e16f [explorer/disks] Move xargs call to the bottom 2020-02-25 20:21:35 +01:00
Dennis Camera d3bd2669ec [explorer/disks] Support Linux without lsblk (fallback to sysfs) 2020-02-25 20:21:14 +01:00
fnux e6f683b886 Add support for alpine (edge) package to __consul_agent 2020-02-24 09:20:49 +01:00
Dennis Camera c6aba8d189 [explorer/disks] Fix for NetBSD
When connecting over SSH and running /bin/sh, the PATH is missing sbin locations.
sysctl is located at /sbin/sysctl on NetBSD.
2020-02-23 22:59:41 +01:00
poljakowski 47ec9ada10 Merge branch 'consul_agent' into 'master'
Refactor __consul_* for use with distribution packages

See merge request ungleich-public/cdist!837
2020-02-23 09:28:24 +01:00
poljakowski e1b80f7222 Merge branch 'service' into 'master'
Add simple __service type

See merge request ungleich-public/cdist!847
2020-02-23 09:21:29 +01:00
poljakowski 2a5309b413 Merge branch 'fix/init-explorer/busybox' into 'master'
[explorer/init] Support more init systems

See merge request ungleich-public/cdist!850
2020-02-23 09:18:51 +01:00
Dennis Camera 0d6bc8e8f8 [explorer/init] Make shellcheck happy 2020-02-20 23:34:19 +01:00
Dennis Camera 0d84c91b40 [explorer/init] Fix unique() for Solaris 2020-02-20 23:34:19 +01:00
Dennis Camera 364340c8d5 [explorer/init] Refactor and testing 2020-02-20 23:34:19 +01:00
Dennis Camera d895bb0e87 [explorer/init] Clean up 2020-02-20 23:34:19 +01:00
Dennis Camera 21c9e3db18 [explorer/init] Support more init systems 2020-02-20 23:34:11 +01:00
kjg 28d3760e29 [cdist]Update os_version for alpine 2020-02-20 09:40:55 +01:00
ander a3bc8f9407 __update_alternatives: remove expired comment 2020-02-19 12:59:14 +02:00
ander b891bb05d5 __update_alternatives: add state explorer 2020-02-19 12:58:22 +02:00
fnux 09540dc6bd Add simple __service type 2020-02-17 21:38:03 +01:00
fnux 31ad1bdaad Fix various typos and styling errors in __consul_agent, conf-dir
explorer
2020-02-17 13:43:18 +01:00
fnux f595664924 Patch __consul_* to discover remote consul configuration dir 2020-02-17 13:42:19 +01:00
fnux 70200cd28f Refactor __consul_agent type to support distribution packages 2020-02-17 13:42:19 +01:00
Darko Poljak 0640b02f90 Fix too short title underline 2020-02-15 14:59:12 +01:00
poljakowski 7acbc8709b Merge branch 'postgres-role-password' into 'master'
Fix password command synthax in __postgres_role

See merge request ungleich-public/cdist!845
2020-02-15 14:36:54 +01:00
fnux a1536933ab Fix password command synthax in __postgres_role 2020-02-15 14:16:00 +01:00
poljakowski 221c3820ca Merge branch 'type/__systemd_service' into 'master'
[__systemd_service] new type to manage the state of systemd services

See merge request ungleich-public/cdist!844
2020-02-15 12:22:04 +01:00
poljakowski b898412faf Merge branch 'fix/__cron' into 'master'
[__cron] Fix cronjob removal if `is` and `should` don't match

See merge request ungleich-public/cdist!841
2020-02-15 12:16:58 +01:00
matze ef089d1c61 [__systemd_service] new type to manage the state of systemd services 2020-02-15 11:42:01 +01:00
matze 5e6e17b3e5 Moved default parameter values from scripts to cdist parameter handling.
For more generalisation, the default parameter values are now handled by
cdist instead of trying to get a value and use a default if parameter is
not given.

It handles the default values in a more general way, instead of write
one default in (possibly) multiple places.
Problem occurred when checking the 'state' parameter, which required to
set a default value in two places.
2020-02-15 09:46:23 +01:00
matze a761d4842c Add check for the state parameter in manifest.
This only allow following cases:
  - present
  - absent
else, it will abort with an error message.
2020-02-15 08:21:24 +01:00
poljakowski c8dbd0718e Merge branch '__package_apt_updates_index' into 'master'
__package_apt: update index cache, on installation, when it is older than one day

See merge request ungleich-public/cdist!842
2020-02-14 21:57:04 +01:00