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
28d3760e29
[cdist]Update os_version for alpine
2020-02-20 09:40:55 +01:00
a3bc8f9407
__update_alternatives: remove expired comment
2020-02-19 12:59:14 +02:00
b891bb05d5
__update_alternatives: add state explorer
2020-02-19 12:58:22 +02:00
09540dc6bd
Add simple __service type
2020-02-17 21:38:03 +01:00
31ad1bdaad
Fix various typos and styling errors in __consul_agent, conf-dir
...
explorer
2020-02-17 13:43:18 +01:00
f595664924
Patch __consul_* to discover remote consul configuration dir
2020-02-17 13:42:19 +01:00
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
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
a1536933ab
Fix password command synthax in __postgres_role
2020-02-15 14:16:00 +01:00
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
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
ef089d1c61
[__systemd_service] new type to manage the state of systemd services
2020-02-15 11:42:01 +01:00
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
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
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
869a38676f
__package_apt: add comment about package index update
2020-02-14 19:22:06 +02:00
1be5a9d316
__package_apt: add note about updating index
2020-02-14 19:19:12 +02:00
f771840178
__mysql_privileges: fix typo
2020-02-13 17:38:34 +02:00
b7483d73eb
__mysql_privileges: fix shellcheck
2020-02-13 17:38:19 +02:00
710e99f240
__mysql_privileges: fix quoting
2020-02-13 17:29:44 +02:00
b3bad9468d
__package_apt: pkgcache.bin may not exist
2020-02-09 20:43:09 +02:00
08d5814e2c
__package_apt: update index cache, on installation, when it is older than one day
2020-02-09 20:37:06 +02:00
0edda3b528
Merge branch 'no-stat-patch' into 'master'
...
__file/__directory: Patch for systems without stat(1)
See merge request ungleich-public/cdist!839
2020-02-04 07:46:28 +01:00
Dennis Camera
984e0dc8c4
[explorer/os_release] Add fallbacks to /usr/lib/os-release and /var/run/os-release
2020-02-03 19:29:04 +01:00
Dennis Camera
3b5433d63a
[__directory] stat explorer patch for systems without stat(1)
...
Some embedded systems (like OpenWrt) do not ship a stat(1) binary.
This workaround parses the output of ls(1) and /etc/passwd, /etc/group to
gather the information needed.
2020-02-03 18:36:59 +01:00
Dennis Camera
e82dd35869
[__file] stat explorer patch for systems without stat(1)
...
Some embedded systems (like OpenWrt) do not ship a stat(1) binary.
This workaround parses the output of ls(1) and /etc/passwd, /etc/group to
gather the information needed.
2020-02-03 18:36:59 +01:00
Nico Schottelius
2d8afe0d16
Merge branch 'master' of code.ungleich.ch:ungleich-public/cdist
2020-02-03 17:44:55 +01:00
Nico Schottelius
f3237e5d76
[consul agent] add support for Debian 10
2020-02-03 17:44:47 +01:00
e5d86ffc93
Fix to remove cronjobs when the cronjob expression did not match.
2020-02-01 17:08:25 +01:00
Dennis Camera
4fe2dcba89
[explorer/init] Linux is a mess...
2020-01-30 18:35:50 +01:00
Dennis Camera
de1a421b68
[explorer/init] Support for Darwin and more BusyBox combinations
2020-01-30 18:04:00 +01:00
1fbd2fc2bd
__acl: add --file and --directory for convenience
2020-01-19 22:51:40 +02:00
e1ac97b6a5
__acl: add --source
2020-01-19 14:02:00 +02:00
Darko Poljak
ffb3c003ca
Merge branch 'ssrq/cdist-line-patches'
2020-01-17 18:07:14 +01:00
efdeab61f3
Merge branch '__apt_unattended_upgrades' into 'master'
...
__apt_unattended_upgrades
See merge request ungleich-public/cdist!828
2020-01-17 15:50:07 +01:00
65c5b592a5
__apt_unattended_upgrades: update manual
2020-01-17 14:48:54 +02:00
6097cd9e90
__apt_unattended_upgrades: use word expansions
2020-01-17 14:41:00 +02:00
ef2f4b9a00
__postgres_*: fix forgotten edge cases in delimited identifier escape
2020-01-17 11:24:24 +01:00
6fa0d687f7
__apt_unattended_upgrades: alternative approach
2020-01-16 01:13:27 +02:00
f5f70671cb
__apt_unattended_upgrades: make parameters more speaking
2020-01-16 00:59:03 +02:00
Dennis Camera
5a9a1ba57f
[__line] Produce error when file does not exist
2020-01-15 22:00:56 +01:00
b3f36dbe5b
__apt_unattended_upgrades: fix typo
2020-01-15 20:51:47 +02:00
cd24a806e7
__apt_unattended_upgrades: rewrite manifest, add more parameters
2020-01-15 20:48:32 +02:00
Dennis Camera
2cf44c66d4
[__directory] Add --state exists and --state pre-exists
2020-01-15 19:00:30 +01:00
68e5502fce
__apt_unattended_upgrades: move debian wiki link to manual
2020-01-15 19:27:02 +02:00
cd2d5b3f79
__apt_unattended_upgrades: all objects depend on package
2020-01-15 19:24:21 +02:00
Dennis Camera
51b1b11cc2
[__line/state] Logic fixes in explorer
...
This commit fixes the incorrectly reported state "wrongposition" if position is
"after" and anchor is present in the file but the line missing.
2020-01-15 17:57:45 +01:00
Dennis Camera
4cdb8aaa03
[__line/state] Make sure the index match is at the beginning
...
Without the == 1 all lines which contain --line as a substring match. e.g. if
--line is "line" and the file contains the line "wrong line" this was considered
a match.
2020-01-15 17:50:43 +01:00
Dennis Camera
629d0795c8
[__line] Always add line to end if anchor is not found
2020-01-15 17:27:25 +01:00
Dennis Camera
93ec4b46aa
[__line] Ensure the line is only added once
2020-01-15 17:27:25 +01:00
Darko Poljak
3258fc98e1
Fix typo
2020-01-12 12:19:49 +01:00
Darko Poljak
3f133dbc17
Info command: support tilde expansion
2020-01-11 15:26:46 +01:00
Darko Poljak
11f569959d
Fix missing configuration file usage, support -g
...
PreOS code did not use configuration support. This fix adds support
for using cdist configuration, which takes into account cdist
configuration file, environment variables and command line options,
especially conf_dir.
It also adds support for -g, --config-file option, for specifying
custom configuration file.
2020-01-11 14:16:33 +01:00
d4bd49bbb5
__acl: rename --acl to --entry for the sake of consistency, add compatibility
2020-01-04 17:43:57 +02:00
ec8d9571f9
__apt_unattended_upgrades: add manual
2020-01-04 17:07:46 +02:00
a9d491f998
__apt_unattended_upgrades: add license header
2020-01-04 16:59:42 +02:00
94e32dcd78
__apt_unattended_upgrades: initial commit
2020-01-04 16:36:44 +02:00
1fc845480e
Merge branch '__mysql' into 'master'
...
rewrite __mysql_database, add types __mysql_user and __mysql_privileges
See merge request ungleich-public/cdist!827
2020-01-04 13:45:15 +01:00
Darko Poljak
e4596593c0
Add cdist info command
2020-01-04 12:50:12 +01:00
4329cced82
__mysql_privileges: add manual
2020-01-03 18:55:55 +02:00
5e8dc7122d
__mysql_user: add manual
2020-01-03 18:48:11 +02:00
fcc774cb7b
__mysql_database: add manual
2020-01-03 18:33:23 +02:00
24862e0208
__mysql_database: carry over state
2020-01-03 18:26:11 +02:00
9a693537f4
__mysql_*: add license headers
2020-01-01 12:38:12 +02:00
c32e4040b1
__mysql_*: initial rewrite
2019-12-31 19:16:49 +02:00
beb930c0dc
__postgres_*: use delimited identifiers (double quoted) in generated SQL
2019-12-31 11:34:51 +01:00
Steven Armstrong
df05abd15b
bugfix: __install_chroot_umount was not using __chroot_umount/manifest
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2019-12-19 12:33:47 +01:00
Nico Schottelius
f407e8825f
[consul/alpine] no init script required to be deployed anymore
2019-12-15 22:56:16 +01:00
Darko Poljak
bd4eee7925
Fix shellcheck reported issues
2019-12-12 07:37:32 +01:00
c58c4b8309
Merge branch 'evilham-openldap' into 'master'
...
[new-type] __openldap_server
See merge request ungleich-public/cdist!822
2019-12-10 19:33:33 +01:00
3ba230c10d
[type-docs] __start_on_boot: remove unspported *BSD claim.
...
The type appears to support {Open,Free}BSD properly.
2019-12-10 13:12:54 +01:00
35f0d4dbfa
[new-type] __openldap_server: another documentation typo.
2019-12-10 13:10:19 +01:00
79d58f0813
[new-type] __openldap_server: fix docs / dependency.
...
It's nicer to have slapd_flags after slapd_enable in rc.conf on freebsd.
2019-12-10 13:04:24 +01:00
22c5cd550b
[new-type] __openldap_server: first public version.
...
This already takes care of setting up the base DN and managing it as well as
allowing for settings for the listener URLS.
The type was also made a singleton as it doesn't make much sense to setup
multiple LDAP servers on the same machine.
2019-12-10 12:49:07 +01:00
42914d26c5
[new-type] __openldap_server: sudo make nico.happy.
2019-12-09 19:59:15 +01:00
1ad605a509
[new-type] __openldap_server: Add admin-email parameter.
2019-12-09 19:49:05 +01:00
fd430eab62
[new-type] __openldap_server: Add a "schema" optional parameter.
2019-12-09 19:39:43 +01:00
bee95efa43
[new-type] __openldap_server
...
Originally developed at ungleich and improved for Open Sourcing by Evilham.
2019-12-09 19:13:10 +01:00
Darko Poljak
4735df1bed
Add plugins-dir preos option
2019-12-09 09:48:12 +01:00
fb97574592
Merge branch 'master' into 'master'
...
[docs] PreOS: English nitpicking
See merge request ungleich-public/cdist!820
2019-12-06 19:46:29 +01:00
Darko Poljak
f22349ce8a
Fix documentation for install types
...
Fixes gitlab #790 .
2019-12-06 09:00:16 +01:00
58cbe53e61
Merge branch 'master' of https://code.ungleich.ch/ungleich-public/cdist
2019-12-05 23:15:11 +01:00
4f21bf534d
[docs] PreOS: English nitpicking.
2019-12-05 23:14:27 +01:00
Dominique Roux
d25c72e678
[PACKAGE-UPDATE-INDEX]: Bugfix of the alpine part of the __package_update_index type
2019-12-03 10:13:46 +01:00
Darko Poljak
da274e5ef3
Redefine/reimplement CDIST_ORDER_DEPENDENCY
...
CDIST_ORDER_DEPENDENCY now defines type order dependency context.
cdist (emulator) maintains global state variables, as files,
order_dep_state and typeorder_dep, and per object state variable,
as file, typeorder_dep.
If order_dep_state exists then this defines that order dependency is
turned on.
If order_dep_state does not exist then order dependency is turned off.
If order dependency is on then objects created after it is turned on are
recorded into:
* global typeorder_dep, in case of init manifest
* object's typeorder_dep, in case of type's manifest.
If order dependency is on then requirement is injected, where object
created before current, is read from:
* global typeorder_dep, in case of init manifest
* object's typeorder_dep, in case of type's manifest.
Every time order dependency is turned off, typeorder_dep files are
removed, which means that type order list is cleared, context is
cleaned.
In the end cdist cleans after itself, i.e. mentioned files are removed.
When running type manifest is finished typeorder_dep file is removed.
When running config finishes global typeorder_dep and order_dep_state
files are removed.
Global type order recording is untouched.
Furthermore, for completeness, type order is now recorded for each object
too.
2019-11-27 15:04:47 +01:00
Darko Poljak
3d3b59ab87
Add pycodestyle ignores
2019-11-27 14:59:25 +01:00
Darko Poljak
c01aa576de
Add/keep empty directories
2019-11-27 14:51:28 +01:00
Darko Poljak
d1c3264cce
Revert "Merge branch '__clean_path_use_types' into 'master'"
...
This reverts commit 073523be38
, reversing
changes made to 56435492a0
.
2019-11-26 17:58:25 +01:00
2848a6a0f4
__clean_path: use __directory and __file types for better clarity
2019-11-25 21:52:00 +02:00
64b07af4ab
give error msg to stderr
2019-11-24 17:18:34 +01:00
4ed18e3446
__hostname: silence grep exit 1, when os_version is not numeric
...
on Debian Sid os_version returns 'bullseye/sid'
2019-11-22 18:56:34 +02:00
01bd01573e
__apt_key: use mktemp for unique temporary gpg home
2019-11-21 14:15:51 +02:00
96ffb4fd02
Merge branch 'xymon_client-msgcache' into 'master'
...
add `--msgcache`-parameter to support passive clients (__xymon_client)
See merge request ungleich-public/cdist!811
2019-11-20 20:59:10 +01:00
552860b9cd
add parameters for ownership and generic rsync-options (__xymon_config)
2019-11-20 15:49:25 +01:00
34bd96db4b
add --msgcache
-parameter to support passive clients (__xymon_client)
...
Fix a typo along the way, too.
2019-11-20 15:47:25 +01:00
Dennis Camera
a45e306123
[__hostname] Better support different versions of SuSE
2019-11-17 19:39:09 +01:00
Dennis Camera
f18bdd1fad
[__hostname] Comment out support for ancient ArchLinux versions
2019-11-16 23:33:23 +01:00
Dennis Camera
a885082534
[__hostname] Little bit of clean up
2019-11-16 14:58:30 +01:00
Dennis Camera
88947d45b3
[__hostname] Add support for Solaris
2019-11-16 14:57:27 +01:00
Dennis Camera
fbe9fc4204
Merge branch 'master' into hostname
2019-10-27 20:15:03 +01:00
Dennis Camera
c939bd6bf6
[__hostname] Small fixes
2019-10-27 20:12:10 +01:00
Dennis Camera
5eb9fec550
[__hostname] Add support for Slackware
2019-10-27 20:06:12 +01:00
Dennis Camera
66c85230a0
[__hostname] Make __key_value names more meaningful
2019-10-27 20:02:59 +01:00
Dennis Camera
b9571a2bbd
[__hostname] Add support for Void Linux
2019-10-27 20:02:55 +01:00
Ahmed Bilal
0ec52fd1bd
alpine support added in __package_update_index
2019-10-27 18:11:08 +01:00
Dennis Camera
cbae534af5
[__hostname] Patch for modern ArchLinux without hostname(1)
2019-10-26 21:01:54 +02:00
Dennis Camera
f276813f7f
[__hostname] Remove incorrectly sent messages (again)
...
The --onchage sent the message on the target where messaging is not supported.
Now the result is that a "changed" message is only emitted when the running
hostname changes, not when the persistent hostname changes.
2019-10-26 17:27:15 +02:00
Dennis Camera
e7279680ed
[__hostname/man.rst] Add link to RFC 1178
2019-10-26 17:12:08 +02:00
Dennis Camera
6eec5f87a4
[__hostame] Simplify and revert hostnamectl to be a last resort
2019-10-26 17:11:35 +02:00
Dennis Camera
b65ceba569
[__hostame] Resolve shellcheck errors
2019-10-25 02:16:43 +02:00
Dennis Camera
d4313c7501
[__hostname] Fix checking of maximum hostname length against sysconf(3)
2019-10-25 01:41:26 +02:00
Dennis Camera
629d443f5a
[__hostname] Fix "command not found" errors with old Bash
2019-10-25 01:40:48 +02:00
Dennis Camera
c3b066c147
[__hostname] Check hostname length if getconf(1) is available
2019-10-24 19:44:51 +02:00
Dmitry Bogatov
32c15f2ecb
Fix spelling error in manpage
2019-10-21 12:00:52 +02:00
Nico Schottelius
9f1ec6f89e
Merge branch 'master' of code.ungleich.ch:ungleich-public/cdist
2019-10-17 16:47:28 +02:00
Nico Schottelius
689b5a2992
[letsencrypt_cert] add support for alpine
2019-10-17 16:44:26 +02:00
Ahmed Bilal
f5c725a57f
Fix issues/Make prometheus+grafana+blackbox types compatible with Debian 10
2019-10-15 20:19:04 +02:00
df3092d4b4
Merge branch 'select-editor-type' into 'master'
...
Add __sensible_editor type
See merge request ungleich-public/cdist!800
2019-10-14 11:39:27 +02:00
Dennis Camera
e462821e46
[__sensible_editor] Fix SC2028
2019-10-14 11:31:29 +02:00
Dennis Camera
9567826dc1
[__sensible_editor] Fix incorrect require variable
2019-10-14 09:21:23 +02:00
Dennis Camera
58eb474b01
[__sensible_editor] Add exists as a possible --state value
2019-10-13 13:49:51 +02:00
Dennis Camera
365974c447
[__sensible_editor] Use int comparisons in version_ge
2019-10-13 13:42:15 +02:00
Nico Schottelius
2bc26e398c
[__letsencrypt_cert] Add Arch Linux support
2019-10-13 11:15:53 +02:00
Dennis Camera
9edf5e8fe0
[__sensible_utils] Fix Ubuntu version detection
2019-10-13 10:39:50 +02:00
Dennis Camera
8b0734f719
[__sensible_editor] Improve error message when a basename of an editor not in the alternatives is provided
2019-10-13 10:14:27 +02:00
Dennis Camera
3bbb7b02d2
[__sensible_editor] Allow to omit the --editor parameter if --state is absent
2019-10-13 10:14:05 +02:00
Dennis Camera
00dd16d7c3
[__sensible_editor] List available editors when an incorrect one is provided
2019-10-13 10:13:20 +02:00
Dennis Camera
cee553a6dd
[__hostname] Improve systemd hostname setting
...
This means we write to /etc/hostname before running hostnamectl, so that
it can overwrite the file if it wants to.
2019-10-12 18:49:31 +02:00
Dennis Camera
30c7d153e8
[__hostname] Only write to distro specific file when hostnamectl is missing
2019-10-12 18:47:27 +02:00
Dennis Camera
f782a85470
[__sensible_editor] Reword limitations paragraph of man page
2019-10-12 13:27:42 +02:00
Dennis Camera
d11b191547
[__sensible_editor] Document supported operating systems in man page
2019-10-12 13:02:26 +02:00
Dennis Camera
e64d1710b5
[__sensible_editor] Add support for old Ubuntu versions
2019-10-12 13:01:39 +02:00
Dennis Camera
522100b9fb
[__sensible_editor] Refactor
2019-10-12 11:07:39 +02:00
Dennis Camera
b6898b097f
[__sensible_editor] Add support for RedHat derivatives
...
They have added sensible-utils lately.
select-editor(1) does not work because their alternatives system is broken,
but sensible-editor(1) works just fine, so we can support it.
2019-10-08 23:05:23 +02:00
0bdc62482a
add new type __xymon_client
2019-10-08 19:03:38 +02:00
e9289abfab
add new type __xymon_config
to configure xymon-servers
...
This allows configuration of a xymon-server.
The server can be installed with `__xymon_server` or manually. In the
latter case the `ext/`-dir symlink has to be added.
2019-10-08 18:55:37 +02:00
48ed7f1754
correct condition -- should check on remote side
2019-10-08 18:38:33 +02:00
f35a1b9cdf
add new type __xymon_apache
as a helper for __xymon_server
...
Details in `man.rst`
2019-10-08 18:34:08 +02:00
7d235fb013
add new type __xymon_server
...
This type installs a Xymon monitoring-server. See https://xymon.com/ for
a demo and further information.
2019-10-08 18:19:20 +02:00
2abc34f922
Add --shallow option
...
Provides the capability to make shallow clones (including submodules) to deploy
repositories with huge history.
Note that this might not work with some servers (github.com) if the commit
that is required by a submodule is too far away from any reference.
2019-10-08 13:45:20 +02:00
0c7d98e89e
Use --recurse-submodules instead of --recursive
...
The option --recursive is not documented for git >2.11 (2016),
instead --recurse-submodules should be used.
2019-10-08 13:45:13 +02:00
Darko Poljak
6d2e81d0dc
Revert "Fix missed parameter file reading"
...
This reverts commit e1c08c25b5
.
This fix was a mistake. No reading is needed, this is explorer
execution on the remote.
2019-10-08 08:30:27 +02:00
Dennis Camera
c11e757dfa
[__hostname] Add support for Gentoo
2019-10-07 12:06:24 +02:00
Darko Poljak
e1c08c25b5
Fix missed parameter file reading
2019-10-07 11:29:28 +02:00