be92731c5c
Shell check quoting
...
We're actually echo-ing the command, hence the escape in front of the
quotes - the issue Shellcheck alludes too would actually occur, had the
escaping bakcslashes been omitted.
2021-07-05 12:44:09 +01:00
d937d53f3d
Add quotes to rsync command
2021-06-28 18:09:35 +01:00
2db40d8d70
Use $__remote_exec and thus the ssh multiplexing
2021-06-28 12:54:20 +02:00
Dennis Camera
1c047353a9
[bin/cdist] Fix Python version check
2021-04-17 09:57:10 +02:00
d2eec60668
[__download] make --sum optional
2021-04-11 23:16:00 +03:00
Darko Poljak
750c71fb5a
Minor refactoring and remove code duplication
2021-04-07 10:25:26 +02:00
Darko Poljak
199effb7ef
Improve unfinished object requirements bool check
...
When we need only boolean value for unfinished object requirements then
we don't need to determine the whole list of unfinished objects.
2021-04-06 19:35:14 +02:00
ce79a2069c
Merge branch 'fix/type/__pyvenv/numeric-owner' into 'master'
...
__pyvenv: Fix if --owner / --group is numeric
See merge request ungleich-public/cdist!988
2021-04-01 15:36:02 +02:00
c981f654f1
Merge branch 'fix/type/__git/numeric-owner' into 'master'
...
__git: Fix if --owner / --group is numeric
See merge request ungleich-public/cdist!987
2021-04-01 15:35:46 +02:00
Darko Poljak
4c2d273f07
Unify string formatting
...
Use one way of string formatting: replace old `%` style with new `str.format`.
Resolve #855 .
2021-03-31 08:19:34 +02:00
Darko Poljak
f984a918b9
Fix log message string formatting
...
Use logging message format with args, instead of direct `%` or `str.format`.
Resolve #855 .
2021-03-31 08:19:28 +02:00
Dennis Camera
985252585c
[type/__pyvenv] Fix if --owner / --group is numeric
...
Before, if --owner and/or --group was numeric, gencode-remote would generate
`chown` code every time.
2021-03-30 13:26:21 +02:00
Dennis Camera
167c2ad7ea
[type/__git] Fix if --owner / --group is numeric
...
Before, if --owner and/or --group was numeric, gencode-remote would generate
`chown` code every time.
2021-03-30 13:24:56 +02:00
Darko Poljak
7a0b697f4c
Implement maintaining object relationship graph
...
For each object maintain parent-child relationship graph, i.e. list of
parent objects ('parents' property) and list of children objects ('children'
property).
Objects without parent(s) are objects specified in init manifest.
Objects without children are object of types that do not reuse other types.
2021-03-30 12:09:59 +02:00
c55397766e
Merge branch 'feature/type/__sshd_config/whitelist-openbmc' into 'master'
...
__sshd_config: Whitelist OpenBMC
See merge request ungleich-public/cdist!980
2021-03-12 08:20:35 +01:00
Dennis Camera
e47c4dd8a4
[type/__sshd_config] Whitelist OpenBMC in manifest
2021-03-11 14:17:44 +01:00
Dennis Camera
fb19f34266
[type/__ssh_authorized_key] Only grep if file exists
2021-03-09 21:15:26 +01:00
Steven Armstrong
ea0126dd81
Make local state dir available to custom remote scripts
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2021-03-05 16:11:49 +01:00
1bc0d912bf
Merge branch 'fix/type/__pyvenv/man-typo' into 'master'
...
__pyvenv: Fix user example
See merge request ungleich-public/cdist!978
2021-03-02 09:28:50 +01:00
Dennis Camera
8ef19d47f6
[type/__pyvenv] Fix example (--user -> --owner)
2021-03-01 17:59:45 +01:00
6358885d26
Merge branch 'feature/__package_pip/extras' into 'master'
...
__package_pip: add optional (extra) dependencies
See merge request ungleich-public/cdist!975
2021-02-23 06:27:09 +01:00
b3a9c907ad
Merge branch '__letsencrypt_cert-fix-hooks' into 'master'
...
[__letsencrypt_cert] Fix various issues with hooks.
Closes #853
See merge request ungleich-public/cdist!977
2021-02-22 09:09:45 +01:00
e854db096e
Merge branch 'fix/type/__postgres_role/implement-alter' into 'master'
...
__postgres_role: implement modification of roles
See merge request ungleich-public/cdist!973
2021-02-22 08:58:58 +01:00
d1f45d3524
__package_pip: corrected typo in man
...
.. by fully replacing it with a smaller sentence.
2021-02-19 09:03:56 +01:00
2ce1fce767
__package_pip: match package names case insensitive
...
Pip matches them insensitive, so we need to do the same to avoid
problems by saying extras are not installed but already is there in
place.
2021-02-15 16:17:46 +01:00
951712740f
__package_pip: update man.rst
...
Adjusted comments for `explorer/extras` and updated the man page for the
new behaviour of updating the extras.
2021-02-12 13:42:51 +01:00
a9d7dfb2ed
__package_pip: split extra 'all' to a list of all extras
...
This will fix if a package will be upgraded from some extras to all
extras. Previously, it will not work because some dependencies of 'all'
are already installed, so the feature 'all' is already installed.
Now, it will use a list of all extras to iterate over them separatly. This
will result it will never install all extras via `[all]`, but rather
`[foo,bar]`.
2021-02-12 09:17:02 +01:00
7398382890
__package_pip: fix shellcheck
...
Useless `cat $file`, use `< $file` instead.
2021-02-11 23:12:10 +01:00
2db0ef7c98
__package_pip: updating real detection of extras
...
As the previous detection took the wrong values, this explorer now
checks if packages for an extra are installed or not. If not, the extra
is not installed.
Based on the information of the explorer, it will install the package
again with the absent extras.
2021-02-11 22:53:26 +01:00
8dc6ab9738
__package_pip: install not found extras
...
Compares the explorer against the parameters and install those extras
that are not already installed.
2021-02-11 13:49:53 +01:00
4717e5ceff
__package_pip: add extras explorer
...
The two new explorers detect all installed extras for this package.
2021-02-11 10:31:07 +01:00
aa80c09c80
[__letsencrypt_cert] Move hook contents generation out of manifest
...
While there address some minor issues in the comments in the hook contents.
2021-02-10 10:10:21 +01:00
b832af5e3b
[__letsencrypt_cert] Don't mess with user script indentation
...
This could break in odd ways if they passed sth like:
cat <<eof
bla bla
eof
2021-02-09 20:53:58 +01:00
e49da474c4
[__letsencrypt_cert] Remove problematic trailing slash in sed.
...
Happy fingers are happy and like adding slashes places.
2021-02-09 20:29:17 +01:00
bc145bbc27
[__letsencrypt_cert] Fix various issues with hooks.
...
Closes #853 , see issue for full description / discussion.
Short summary:
- There was about 6.53% chances of `--renewal-hook` not being applied
- Using --automatic-renewal in one cert and not in another was an error.
- It was not possible to use different hooks for different certificates.
- FreeBSD support was utterly broken.
2021-02-09 19:58:47 +01:00
cda17be38a
[explorer/memory] Clean up, return kiB for all systems, add SunOS
...
BSDs were MiB before.
2021-02-08 08:27:03 +01:00
73a03d75d7
__package_pip: fix shellcheck
2021-02-04 19:18:02 +01:00
8eccacec59
__package_pip: add optional dependencies
...
This is a poor implementation of optional dependencies for pip packages.
It ensures to install them if the package will be installed, but does
not take into account if they must be added/removed after the package is
already installed. Also, it will not be autoremoved, as all dependencies
will not be removed.
2021-02-04 19:09:26 +01:00
Dennis Camera
35cde3e666
[type/__postgres_role] Fix state explorer when stored password is empty
2021-01-18 13:09:29 +01:00
Darko Poljak
92a50da487
Fix pycodestyle issues
2021-01-18 06:28:09 +01:00
878a65a8b7
Merge branch 'fix/type/__sshd_config/error-on-invalid' into 'master'
...
sshd config: Produce error if invalid config is generated, fix processing of AuthenticationMethods and AuthorizedKeysFile, document explorer bug
See merge request ungleich-public/cdist!968
2021-01-18 06:22:02 +01:00
cce470b556
Merge branch 'bugfix/preos-debug' into 'master'
...
Fix debug parameter
Closes #849
See merge request ungleich-public/cdist!970
2021-01-18 06:17:36 +01:00
Dennis Camera
2954347771
[type/__postgres_role] Add note regarding empty passwords
2021-01-14 13:46:40 +01:00
Darko Poljak
c819548343
Fix debug parameter
...
-d was removed from cdist in favor of mulitple -v and -l parameters, but
-d was not removed from preos.
Resolve #849 .
2021-01-11 09:51:52 +01:00
Dennis Camera
bd8ab8f26f
[type/__sshd_config] Document "bug" in state explorer
2021-01-05 17:02:42 +01:00
Dennis Camera
8753b7eedf
[type/__sshd_config] Make AuthenticationMethods and AuthorizedKeysFile singleton options
...
They were incorrectly treated as non-singleton options before.
cf. https://github.com/openssh/openssh-portable/blob/V_8_4/servconf.c#L2273
and https://github.com/openssh/openssh-portable/blob/V_8_4/servconf.c#L1899 resp.
2021-01-05 16:59:04 +01:00
Dennis Camera
766198912d
[type/__sshd_config] Produce error if invalid config file is generated
...
Previously, cdist would silently swallow the error (no invalid config file was
generated).
Reason: `set -e` does not exit if a command in a sub-command group fails,
it merely returns with a non-zero exit status.
e.g. the following snippet does not abort the script if sshd -t returns with a
non-zero exit status:
set -e
cmp -s old new || {
# check config file and update it
sshd -t -f new \
&& cat new >old
}
or compressed:
set -e
false || { false && true; }
echo $?
# prints 1
2021-01-05 15:50:21 +01:00
Nico Schottelius
a10d43bc69
Merge branch 'master' of code.ungleich.ch:ungleich-public/cdist
2020-12-20 11:42:44 +01:00
Mark Verboom
8dc2c4207c
Added optional dirmode parameter to set the mode of (optional) the directory.
2020-12-18 11:16:28 +01:00
Dennis Camera
99d82fd0d5
[type/__postgres_role] Always set psql -q
2020-12-17 17:05:58 +01:00