Darko Poljak
73d0a5bbbe
Fix SC2235.
2018-10-05 12:14:51 +02:00
Darko Poljak
73acb35a8a
Fix SC2196.
2018-10-05 12:04:45 +02:00
Darko Poljak
28889ef38a
Disable SC2028 where intended.
2018-10-05 12:02:10 +02:00
Darko Poljak
ed542cc7cb
Fix SC2046.
2018-10-05 11:57:31 +02:00
Darko Poljak
b25aff17c6
Disable SC2039 where appropriate.
2018-10-05 11:49:28 +02:00
Darko Poljak
a601fa91d9
Fix SC2116.
2018-10-05 11:34:10 +02:00
Darko Poljak
3b6d759660
Disable SC2016 check.
2018-10-05 10:32:38 +02:00
Darko Poljak
0cb127822f
Merge pull request #706 from darko-poljak/SC2164
...
Fix SC2164
2018-10-05 10:28:04 +02:00
Darko Poljak
49bb041330
Merge pull request #696 from thriqon/shellcheck-party-SC2086
...
Fix SC2086 on all scripts
2018-10-05 10:26:53 +02:00
Darko Poljak
c01cf38660
Fix SC2164
2018-10-04 23:10:42 +02:00
Darko Poljak
68b6477fe3
Merge pull request #705 from thriqon/shellcheck-party-various
...
Fix various shellcheck issues (SC2215, SC2059, SC2155, SC2091)
2018-10-04 22:39:05 +02:00
Darko Poljak
f0fb5215e8
Merge pull request #700 from thriqon/shellcheck-party-SC2034
...
Remove unused variables (SC2034)
2018-10-04 22:35:08 +02:00
Jonas Weber
34b571b7d9
Fix SC2091 (execute result of condition)
...
For some reason, the echo|grep pattern was enclosed four times in a $()
operation. Nothing happened, since grep is always invoked with -q
(quiet, nothing printed to stdout).
2018-10-04 22:23:48 +02:00
Jonas Weber
bcd7fbbcc4
Fix SC2155 (directly export computed variables)
2018-10-04 22:23:48 +02:00
Jonas Weber
a0db375f91
Disable SC2059 (printf injection) for staged_file
...
We're explicitly allowing for 'printf injection' here, so it's ok to
just disable the corresponding shellcheck check.
2018-10-04 22:23:38 +02:00
Jonas Weber
a6fdf4255a
Fix SC2069 (wrong stdout/stderr redirect order)
...
In the original order, stderr was connected to the old stdout
(terminal). This was _probably_ not intended. The new order fixes this
by first connecting stdout to /dev/null and then attaching stderr to
that as well.
2018-10-04 22:04:24 +02:00
Jonas Weber
e2593c0dcb
Fix SC2215 (missing brackets on if)
...
This might have never worked as intended, but how would you know?
2018-10-04 22:03:52 +02:00
Jonas Weber
fff656d1ac
Unquote $recursive to support empty-case
...
This is safe to do, as the value of $recursive is not dependent on
user-supplied code.
2018-10-04 19:45:26 +02:00
Jonas Weber
53728a7ff0
Change backslash-dquote to single quote
...
Slightly breaking change, but improves security and readability.
2018-10-04 19:45:26 +02:00
Jonas Weber
ae7ccc5995
Fix SC2086 on all scripts
...
Relevant documentation: https://github.com/koalaman/shellcheck/wiki/SC2086
relates to: #540
This commit addresses 241 separate cases of missing quotes around
variables.
2018-10-04 19:45:22 +02:00
Jonas Weber
23debd5b6f
Use cur_ip in jail for freebsd
2018-10-04 19:22:28 +02:00
Jonas Weber
352679386d
Drop unused options parameter in __install_reboot
2018-10-04 19:22:28 +02:00
Jonas Weber
b3f4d3849a
Fix __install_umount target parameter
2018-10-04 19:22:28 +02:00
Jonas Weber
6b0f8fba22
Remove unused variables (almost, found bugs?)
...
Solves SC2034
references #540 .
2018-10-04 19:22:28 +02:00
085b2a2b10
remove set -e
on explorers (they should be able to fail gracefully)
2018-10-04 17:38:39 +02:00
a46da35bbc
fix SC2148 (missing shebang) and make executable
2018-10-04 17:38:38 +02:00
d950ddada3
fix SC2045 (use globs instead of ls
)
2018-10-04 16:01:45 +02:00
134c84607f
fix another SC2166 (test [ .. -a.. ]
replaced by [ .. ] && ]
)
2018-10-04 12:28:59 +02:00
Darko Poljak
e1b62ec560
Merge pull request #699 from darko-poljak/SC2039
...
Fix SC2039
2018-10-04 09:08:23 +02:00
Darko Poljak
8ef2773c0d
Fix SC2039
2018-10-03 14:32:39 +02:00
Darko Poljak
44acfcdd12
Fix SC2002
2018-10-03 14:12:07 +02:00
Darko Poljak
e69be05f70
Merge pull request #694 from darko-poljak/SC2005
...
Fix SC2005
2018-10-02 21:49:45 +02:00
Darko Poljak
d29534861b
Merge pull request #695 from darko-poljak/SC2004
...
Fix SC2004
2018-10-02 21:49:01 +02:00
Darko Poljak
0928708d19
Fix SC2004
2018-10-02 20:34:54 +02:00
Darko Poljak
5ed95ce93b
Fix SC2005
2018-10-02 20:22:44 +02:00
Jonas Weber
6326eae1bb
Fix SC2166 on all manfest/gencode/explorers
2018-10-01 22:13:24 +02:00
Darko Poljak
82077aff25
Add timestamping log option to config file.
2018-09-27 18:55:33 +02:00
Darko Poljak
1e34fc20be
Merge pull request #691 from darko-poljak/log-timestamping
...
Add timestamp to log messages.
2018-09-26 20:35:14 +02:00
Darko Poljak
4b9994f134
Merge pull request #690 from myeisha/batch-scp
...
transfer all files of a directory at once
2018-09-23 22:22:57 +02:00
Darko Poljak
0c57b3083e
Fix getting loggers.
2018-09-23 21:38:03 +02:00
Darko Poljak
6acf6f64dc
Add timestamp to log messages.
2018-09-23 20:36:57 +02:00
dhivael
c021cd15cd
transfer all files of a directory at once
...
instead of calling the copy command once per file in a directory (eg a
type explorer dir), call the copy command only once with all files of
the directory.
batch copy saves 20% of dry-run time on my test manifest in sequential
mode, and 15% in parallel mode.
2018-09-22 17:35:32 +02:00
dhivael
f918acd725
don't duplicate Remote::mkdir in explorer transfer
...
Remote::transfer contains a call to mkdir(destination) if the source is
a directory. since the destination must also be a directory we can omit
extra mkdir calls in Explorer.
this saves about 10% on my manifests in sequential mode, and about 6% in
parallel mode.
2018-09-22 13:16:22 +02:00
Jonas Weber
b3f3b907a4
Quote aptget command and params, simplify explorer
2018-09-12 11:36:11 +02:00
Jonas Weber
346f1f8af3
Send messages when installing packages via __package_apt
2018-09-12 11:36:06 +02:00
Adam Dej
2e653409c1
Update __docker type
...
- Update installation method, following official installation
instructions.
- docker-engine was renamed to Docker CE around March 2017. Update
manpage to reflect that change.
- Remove flag `--experimental` since it is no longer necessary to install a
different binary to get experimental features. Experimental features are
included in the stable binary and can be enabled by a flag or in a
config file.
2018-09-07 11:38:49 +02:00
Adam Dej
c2f8c7abb3
Add explorer for info in /etc/os-release
2018-09-07 11:38:49 +02:00
Darko Poljak
3782656569
Report encoding errors nicely.
2018-09-04 08:27:20 +02:00
Darko Poljak
a627247908
Check if certbot exists before using it. Fixes #685 .
2018-09-01 23:27:58 +02:00
Stu Zhao
ad46c39c86
Merge branch 'master' into master
2018-08-30 15:56:19 -07:00
Darko Poljak
93d877f5bf
Add nonparallel marker for __apt_source type.
2018-08-30 20:22:51 +02:00
Stu Zhao
f143a70463
Support pacman with --maxage parameter
2018-08-29 11:31:31 -07:00
Stu Zhao
b12c02138d
Refactor __package_update_index explorers
...
* add an type explorer to unify detecting of package type.
* update currage use the type explorer, so if os and passed in type
does not match, it behaves correctly.
2018-08-29 00:22:28 -07:00
Stu Zhao
2f89d8a514
Fix __package_update_index processing error
...
exit 1 in explorer will abort cdist.
2018-08-29 00:22:28 -07:00
Dominique Roux
f04f76524c
Bugfix:
...
- __grafana_dashboard had the wrong release name for devuan ascii
2018-07-22 18:35:30 +02:00
Adam Dej
43982f821f
__systemd_unit: add support for masking units
2018-07-11 16:22:36 +02:00
Adam Dej
37b37f6e66
__systemd_unit: fix crash when transitioning to state=absent
...
This type tried to disable an unit after it has removed it, which
failed. Now the removal happens in gencode-remote, after the unit has
been stopped and disabled.
2018-07-11 16:22:36 +02:00
Adam Dej
8d84834db6
__systemd_unit: manpage clarifications
...
Clarify that this type only operates on units in /etc/systemd/system.
Also, when state=present, it is not always true that the type is
"installed, enabled and started"
2018-07-11 16:16:08 +02:00
Darko Poljak
6c8014b407
__letsencrypt_cert: add support for devuan ascii
2018-06-22 14:09:31 +02:00
Jonas Weber
4eaace7dd5
Handle missing file in __line explorer gracefully
...
closes #675
2018-06-20 11:14:25 +02:00
Darko Poljak
ec8f2f9488
Fix temp file location and removal
2018-06-20 08:29:41 +02:00
Darko Poljak
f75af95bda
Merge pull request #663 from asteven/type/__line
...
RFC: rewrite __line type for --before and --after support
2018-06-16 10:51:33 +02:00
Darko Poljak
9d4c0331a9
__sysctl: support sysctl.d
2018-06-16 07:42:43 +02:00
Darko Poljak
5aa8dac80a
Disable config parser interpolation
2018-06-13 07:53:52 +02:00
d7a1645e4e
__acl: fix os explorer
2018-06-11 11:21:07 +03:00
90adefe2e4
add __acl: Basic wrapper around setfacl
2018-06-08 15:06:35 +03:00
Steven Armstrong
4516ee0baa
position can not be empty
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2018-06-01 15:27:40 +02:00
Darko Poljak
efebe15386
Fix __letsencrypt_cert type: use object id as domain if domain param is not specified
2018-05-30 19:38:56 +02:00
Darko Poljak
98ceebe386
Merge pull request #667 from aluuu/master
...
Fix __package_yum explorer
2018-05-28 08:05:59 +02:00
Nico Schottelius
709c216096
[__consul_agent] Add LSB header so that innserv doe not fail
2018-05-27 19:07:57 +02:00
Alexander Dinu
b3a4152e00
Fix __package_yum explorer
...
Why:
In case when name contains package name with exact version specified (e.g. rpm-build-4.11.3)
```
rpm -q --whatprovides "$pkg_name"
```
will tell you that no package could provide you with 'rpm-build-4.11.3',
because it's not virtual or file-provide, but exact package name.
This will lead to the installation of the package which was already installed.
It slows down manifest execution a lot.
My change will keep previous behaviour which relies on --whatprovides and
will fix wrong behaviour when argument is full package name with version.
2018-05-27 17:20:55 +02:00
e7e8f1428a
Add new type __install_coreos
2018-05-21 11:10:54 +02:00
Steven Armstrong
fb26894cbd
when searching treat line as string, and regex as regexp
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2018-05-18 16:57:34 +02:00
Steven Armstrong
a3968f8313
rewrite __line type for --before and --after support
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2018-05-18 01:25:35 +02:00
Darko Poljak
6946dc877a
pep8
2018-05-17 13:33:58 +02:00
Darko Poljak
3cf417fa2b
Fix NameError: name 'cdist_object' is not defined, #662
2018-05-15 12:12:01 +02:00
22d570ae60
Rewrite __letsencrypt_cert type
...
This commit adds the following features:
* Ability to expand existing certificate
* Ability to manage object state
* Ability to obtain test certificate
* Ability to promote test certificate to production
* Ability to specify custom certificate name
* Ability to specify multiple domains per certificate
* Ability to use Certbot in standalone mode
* Messaging
This commit also introduces the following behavioral changes:
* Attempt to install Certbot only when it is not installed
already
* Installation of the cron job has to be enabled using
`--automatic-renewal` parameter
**Note:** Object ID is now treated as certificate name and new
required parameter `--domain` was added.
2018-05-08 10:49:49 +02:00
Darko Poljak
543bc8fed9
Merge pull request #660 from devinsolutions/docker-secret
...
__docker_secret: Set executable flag on scripts
2018-05-04 17:08:10 +02:00
fdb5bbcf91
__docker_secret: Set executable flag on scripts
2018-05-04 16:47:09 +02:00
1efbd6a3a0
__docker_config: Fix config-data explorer
...
Before this fix, the explorer returned binary data when config did
not exist.
This commit also removes dependency on jq and sets executable flag
on the explorer file.
2018-05-04 16:42:47 +02:00
Darko Poljak
3ddd46e489
Merge pull request #658 from devinsolutions/docker-secret
...
Add new type __docker_secret
2018-05-02 08:36:17 +02:00
5a7d74b905
Add new type __docker_secret
2018-04-30 17:59:31 +02:00
4f61f6be9c
Add new type __docker_config
2018-04-30 17:58:10 +02:00
aa20ed5ea1
__docker_stack: Use --with-registry-auth deploy option
...
Without this option, Swarm agents are unable to download images from
private registries.
2018-04-29 13:05:50 +02:00
Darko Poljak
09642142f4
Release 4.8.4
2018-04-20 14:31:10 +02:00
Darko Poljak
f09765a03a
Improve error reporting.
2018-04-17 20:06:20 +02:00
Steven Armstrong
999f221c88
need a way to distinguish between install-config and normal config
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2018-04-05 10:32:33 +02:00
b695e82bec
FreeBSD improvements ( #651 )
2018-03-26 08:53:31 +02:00
958222133b
Fix spelling errors in manpages
2018-03-19 15:16:37 +01:00
Darko Poljak
ef13449687
Fix sphinx warnings.
2018-03-15 18:01:23 +01:00
Darko Poljak
d4a7b298a6
Return translator_class for older sphinx versions.
2018-03-15 13:49:22 +01:00
Darko Poljak
fa32bd865b
Merge pull request #650 from devinsolutions/type-docker-stack
...
Add new type __docker_stack
2018-03-13 18:50:14 +01:00
Darko Poljak
f095e40c22
Merge pull request #649 from devinsolutions/type-docker-swarm
...
Add new type __docker_swarm
2018-03-13 17:31:23 +01:00
7184228536
Add new type __docker_stack
2018-03-13 15:55:54 +01:00
8b86c6fc95
Add new type __docker_swarm
2018-03-13 15:54:47 +01:00
Darko Poljak
f881228878
Fix manpage generation.
2018-03-13 15:09:13 +01:00
Darko Poljak
1bb9da233e
Merge pull request #647 from ungleich/new-prometheus
...
New __prometheus_server, __prometheus_alertmanager, __grafana_dashboard
2018-03-11 21:11:54 +01:00
f03a0e586e
__prometheus_{server,alertmanager}: restart when cli parameters change
2018-03-11 20:47:01 +01:00
f9443532a1
__key_value: --onchange parameter added ( #648 )
2018-03-11 18:01:38 +01:00
e63c3429da
__prometheus_{server,alertmanager}: update man pages
2018-03-11 11:07:59 +01:00
787f5237e5
__prometheus_{server,alertmanager}: use os_version instead of lsb_release
...
works without the `lsb-release` package and actually seems to be more reliable, even though it is inconsistent between debian and devuan
2018-03-11 10:55:24 +01:00
7ae24cf677
__grafana_dashboard: cleanup
2018-03-11 10:52:25 +01:00
34aefbc0f6
__prometheus_{server,alertmanager}: new man pages
2018-03-11 01:35:16 +01:00
ee6d63325d
new __prometheus_alertmanager; fixes to __prometheus_server
2018-03-11 01:28:26 +01:00
8a488591bb
__prometheus_server: switch to packages; assume prometheus 2.x
2018-03-11 00:47:33 +01:00
Darko Poljak
fe870ba8ba
Loglevel arguments not parsed but accessed #646
2018-03-10 11:12:31 +01:00
Darko Poljak
b0c5bc793d
Fix "label empty or too long" error #645
2018-03-09 09:58:49 +01:00
Nico Schottelius
54ca7b40c7
Update consul agent init script so that it works again on Devuan
...
Error before:
---- BEGIN code-remote:stderr ----
insserv: warning: script 'consul' missing LSB tags and overrides
insserv: There is a loop between service monit and consul if stopped
insserv: loop involving service consul at depth 2
insserv: loop involving service monit at depth 1
insserv: Stopping consul depends on monit and therefore on system facility `$all' which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
2018-03-06 22:33:10 +01:00
Nico Schottelius
bfe8b8fa57
Support stretch + ascii in __grafana_dashboard
2018-03-06 20:52:55 +01:00
Darko Poljak
bc94c01c49
Amend __file man.
2018-03-06 07:39:50 +01:00
Darko Poljak
05084c6fc6
pep8
2018-03-06 07:35:27 +01:00
a9a359d542
Add pre-exists state to __file ( #641 )
...
This allows checking whether a file exists, but erroring out instead of
creating the file if it does not (or is not a regular file).
2018-03-06 07:33:22 +01:00
b8ed816af4
Add __apt_default_release type ( #643 )
2018-03-05 12:40:11 +01:00
Darko Poljak
378c7f6a89
Support in-distribution config file
2018-03-01 20:12:21 +01:00
Darko Poljak
2dfbd89c5e
Fix determining save_output_streams value through configuration
2018-03-01 20:00:54 +01:00
Darko Poljak
23292e5cad
Fix determining beta value through configuration
2018-03-01 19:33:22 +01:00
Darko Poljak
8eb0697b42
Merge pull request #640 from darko-poljak/bugfix/error_info_lost_with_jobs_#632
...
[BETA] bug: error info lost with parallel (option -j) #632
2018-02-28 23:40:26 +01:00
Darko Poljak
7ccc959ebd
Bugfix: --beta on the commandline does not seem to work #635
...
Fix argparse parsers.
2018-02-28 23:29:45 +01:00
Darko Poljak
3fb7e33305
Bugfix: non-existent manifest not handled gracefully #639
2018-02-28 23:26:04 +01:00
Darko Poljak
2b5f1a0148
Fix a case when HOME is set but empty
2018-02-27 23:07:52 +01:00
Darko Poljak
cf36aece7d
[BETA] bug: error info lost with parallel (option -j) #632
2018-02-25 23:48:53 +01:00
Darko Poljak
b870b6e43a
bugfix: __consul fails if consul is already running #633
2018-02-25 09:51:51 +01:00
Darko Poljak
ef7304499a
Merge pull request #629 from tom-ee/feature/improve__package_dpkg
...
add `--state`-parameter and messaging to __package_dpkg
2018-02-21 21:19:07 +01:00
a5dc6214e1
dpkg {-r|-P}
needs the package-, not the filename
2018-02-21 15:01:08 +01:00
3208ab614e
review notes (duplicate boolean section, comma separate "see also" items)
2018-02-21 11:16:23 +01:00
Darko Poljak
526e1c9a6d
Merge pull request #628 from tom-ee/bugfix/messaging__package_update_index
...
fix messaging for __package_update_index
2018-02-21 10:03:58 +01:00
Darko Poljak
1f93e7291e
Fix consul message and document messaging.
2018-02-21 10:00:25 +01:00
a545b10538
add --state
-parameter and messaging to __package_dpkg
...
- `--state` allows to remove a deb-package, if `--purge-if-absent` is
specified the package is purged instead of "only" removed
- messaging was added
- man-page updated accordingly
2018-02-20 16:46:26 +01:00
94c9d11cb8
fix messaging for __package_update_index
...
The message was printed unconditionally, even if no `apt-get update` had
been running.
2018-02-20 10:20:54 +01:00
Darko Poljak
c0dc26a577
Fix consul message.
2018-02-15 22:03:28 +01:00
Darko Poljak
48a0fb5bd0
Add message when adding consule directly on target.
2018-02-15 21:34:54 +01:00
Darko Poljak
4d39b6af51
Add -4 and -6 params to force IPv4, IPv6 addresses respectively.
2018-02-15 20:33:36 +01:00
Darko Poljak
9a832d88b5
Add option for directly downloading on target host.
2018-02-15 15:45:31 +01:00
Darko Poljak
0074bb0564
Fix minor docs formatting.
2018-02-14 20:07:44 +01:00
Darko Poljak
eb94d7a8bb
Remove update index type dep, call update index after adding new source. ( #623 )
2018-02-12 12:13:38 +01:00
Darko Poljak
a993e0f5a9
Support disabling saving output streams
2018-02-07 18:12:15 +01:00
Darko Poljak
47399bfa9f
Add --renew-hook param to letsencrypt_cert type.
2018-02-05 13:57:53 +01:00
Darko Poljak
fe7da4d8b3
Update man page.
2018-01-31 20:21:48 +01:00
Darko Poljak
d6ff077156
__package_apt ignores --version parameter #615
2018-01-31 20:18:11 +01:00
Darko Poljak
87558adbda
Merge pull request #620 from thriqon/130-issue-stdin
...
Allow reading contents of __motd and __issue from stdin
2018-01-31 20:12:10 +01:00
Darko Poljak
4d4d76bb38
Merge pull request #617 from tom-ee/maxage-for__package_update_index
...
Maxage for package update index
2018-01-31 13:57:09 +01:00
Jonas Weber
bfde7a6cfa
Allow __motd to read from stdin
2018-01-31 12:53:50 +00:00
Jonas Weber
2069650e74
Allow filling __issue from stdin
...
closes #130
2018-01-31 12:53:50 +00:00
fa91dbfcdb
(re-) copyright msg
2018-01-31 11:10:20 +01:00
6a6fdac25d
add error-message if OS is unsuppored; fix indentation
2018-01-31 10:37:30 +01:00
cb21b3679a
add missing legal boilerplate to explorer
2018-01-31 09:22:19 +01:00
2dc5550fa4
__package_update_index: update man-page w/ --magage
and MESSAGING
2018-01-30 16:05:30 +01:00
Thomas Eckert
27d38a28ab
__package_update_index: optional --maxage <seconds>
-parameter for apt
...
`--maxage 3600` ensures that `apt-get --quiet update` is only done if
the previous run was at least 1 hour ago.
This also adds messaging
2018-01-30 13:48:25 +01:00
Jonas Weber
3545d0157f
Provide --purge-if-absent
to __package_apt
...
Configuration files are not purged under Debian when the package
is deinstalled. If this parameter is given, they are deleted upon
package deinstallation.
2018-01-30 12:04:19 +01:00
Jonas Weber
dd188ca588
Handle stdin to __systemd_unit correctly
...
When directly piping in the source of a systemd unit file, cdist
errored out. This is due to not propagating the stdin file to the
underlying __config_file type (which already contains code for this
case, but this has to be duplicated in __systemd_unit).
The following example thus works:
__systemd_unit test.service --source - <<EOF
[Service]
ExecStart=/bin/sleep 3600
EOF
2018-01-21 09:12:45 +00:00
Darko Poljak
9703e0f08e
Save output streams.
...
Implementation is 99% based on Steven's initial implementation.
2018-01-09 09:31:40 +01:00
00f524773e
__daemontools fixes
...
make __daemontools more robust and clean up the --install-init-script confusion
2018-01-05 22:04:13 +01:00
Michal Hanula
c895be381f
When installing packages on freebsd, redirect stdout and stderr to /dev/null instead of closing them.
...
Some pre/post-install scripts rely on them being open.
(It would be bette to leave them open and show the output, but I didn't
want to change the behaviour)
2018-01-02 18:11:37 +01:00
a657af64a1
__letsencrypt_cert: add nonparallel and make admin-email required ( #609 )
2017-12-29 17:10:16 +01:00
uqam-fob
fc8dded8e9
__line: Support regex beginning with an hyphen ( fixes #607 ) ( #608 )
...
If `regex` begins with an hyphen, `grep` treats it as an option
and treats `file` as the regular expression. This leads to `grep`
trying to read from the standard input and making it wait infinitely.
This patch adds the missing argument breaker `--` and allows
`regex` to begin with an hyphen (provided it is called correctly).
2017-12-29 17:09:06 +01:00
3397bcbf9b
__systemd_unit improvements ( #606 )
...
* __systemd_unit: Move systemctl detection to manifest
* __systemd_unit: Restart the unit if inactive
Until now, the --restart parameter caused the unit to be restarted
only when the unit file has changed. This commit modifies --restart
behavior so that the unit is also restarted when the unit is inactive.
* __systemd_unit: Do not create unit file when source is empty
2017-12-29 17:06:48 +01:00
457233f968
__sysctl: Add support for CoreOS ( #605 )
2017-12-12 08:50:48 +01:00
Steven Armstrong
71b858e467
use parameter defaults for chroot; re-export cdist log level to nested cdist run
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-12-12 00:15:54 +01:00
Darko Poljak
eb8922ebcd
Remove redundant log.error line.
2017-11-20 08:02:25 +01:00
be7a99210b
add --minute to __cron ( #603 )
...
We don't want this to run _every_ minute (default for `--minute` is `*`).
2017-11-19 13:31:44 +01:00
uqam-fob
3b6a471119
explorer/memory: Support OpenBSD ( #602 )
...
Adds support to detect the amount of memory available on OpenBSD
systems.
2017-11-15 07:31:17 +01:00
Darko Poljak
0bf6af6d22
Skip empty parameter. Fixes #599 . ( #600 )
2017-11-15 07:30:35 +01:00
aec63d42f1
__config_file: Fix onchange command not being executed ( #596 )
...
When a config file state changes from present to absent, onchange
command was not being run.
Fixes #595 .
2017-11-10 12:22:38 +01:00
Darko Poljak
4f5dddd9d6
Fix for __line containing single quotes: #154 . ( #594 )
2017-11-09 08:20:33 +01:00
_moep_
4cdc4ea42c
update type for Debian Stretch ( #593 )
2017-11-07 13:26:44 +01:00
b18327c520
Add __systemd_unit type ( #589 )
2017-11-07 13:25:37 +01:00
Darko Poljak
a8c41bfe44
Change warning message for invalid type.
2017-11-02 19:56:27 +01:00
Darko Poljak
782e662a13
Remove invalid type link from runtime conf dir at proper time.
2017-11-02 17:54:14 +01:00
Darko Poljak
c14f3b68f4
Warn about invalid type and continue instead of error.
2017-11-02 17:44:47 +01:00
Darko Poljak
e6c5563a16
NoSuchTypeError -> InvalidTypeError
2017-11-02 13:57:36 +01:00
4799e43516
new type: __letsencrypt_cert ( #591 )
2017-11-01 08:56:12 +01:00
5eb478da95
Add messaging to __ssh_authorized_key. ( #590 )
2017-10-31 07:56:25 +01:00
Dominique Roux
2cd006de79
F/ccollect create destination ( #548 )
2017-10-29 17:23:35 +01:00
da8f6efafc
fix explorer/os for devuan ascii ( #588 )
2017-10-20 18:16:06 +02:00
36302f7541
Add support for CoreOS to __timezone type ( #587 )
2017-10-19 19:58:34 +02:00
5c4cda589c
Add support for CoreOS to __hostname type ( #586 )
2017-10-19 19:58:25 +02:00
d1c3e2420f
Add messaging to __process
2017-09-29 14:48:51 +02:00
Ander Punnar
8b78001c9e
fix running scripts with execute bit ( #583 )
2017-09-29 14:44:44 +02:00
7ee56d099f
resolved #444 add messaging to __line-type ( #580 )
...
#444 Add messaging to __line-type
2017-09-27 12:19:07 +02:00
Darko Poljak
966bf30bee
Fix \n thing.
2017-09-20 21:53:05 +02:00
Darko Poljak
ea58cbd171
Better format command error output.
2017-09-20 21:19:19 +02:00
Darko Poljak
764ea49904
Log more data.
2017-09-17 20:30:07 +02:00
Darko Poljak
8883196efb
Bugfix for: __ssh_authorized_keys overwrites existing keys #577 ( #579 )
...
* Fix a bug where invalid key removes all file entries.
* __ssh_authorized_key: add key validation.
2017-09-17 08:13:05 +02:00
Darko Poljak
ac04edc233
Change path removal suitable for integration and normal run.
2017-09-14 09:53:16 +02:00
Darko Poljak
47d72fb83a
Create control path only if needed.
2017-09-14 09:27:27 +02:00
Darko Poljak
08bc38dd0f
Log ERROR to stderr and rest to stdout. ( #576 )
2017-09-13 13:06:06 +02:00
Darko Poljak
f2614469c5
configuration: converter() -> get_converter()
2017-09-11 22:36:45 +02:00
Darko Poljak
f0dc21ec0c
__cdist_log_level=<log level int value>; __cdist_log_level_name=<log level name> ( #574 )
2017-09-11 09:06:47 +02:00
Darko Poljak
1ae5b1732e
Fix missing dirs cleanup.
2017-09-10 23:08:21 +02:00
Darko Poljak
519eb60664
Fix exec/{local,remote} tests. Add exec/local test to make test.
2017-09-10 22:05:05 +02:00
1f00a35795
fixes + go version bump in __prometheus_exporter ( #573 )
2017-09-09 21:21:15 +02:00
Darko Poljak
3454da076f
Add -l/--log-level option. Honor __cdist_loglevel env var. ( #572 )
...
Add -l/--log-level option, __cdist_loglevel -> __cdist_log_level; honor __cdist_log_level env var
2017-09-09 21:17:29 +02:00
Darko Poljak
f08ac264a0
pep8
2017-09-07 16:37:49 +02:00
Darko Poljak
57f15f9cce
Make __cdist_loglevel value more expressive. ( #571 )
2017-09-07 16:36:23 +02:00
Darko Poljak
2e4c0d3465
Improve dry run logging.
2017-09-07 16:33:22 +02:00
Darko Poljak
97f6517715
Configuration fixes.
2017-09-07 16:13:46 +02:00
Darko Poljak
28d3466e9d
Fix logging dry run line.
2017-09-07 12:32:04 +02:00
Darko Poljak
cb38354df3
Run cleanup commands in quiet mode for DEBUG, TRACE.
2017-09-07 12:10:17 +02:00
Darko Poljak
e0a4fc4ea7
verbose -> info
2017-09-07 11:58:19 +02:00
Darko Poljak
dd48c82656
Log 'Processing' line even if dry run.
2017-09-07 11:30:02 +02:00
Darko Poljak
7141e67d51
Merge pull request #570 from darko-poljak/debug-to-cdist_loglevel
...
__debug -> __cdist_loglevel
2017-09-07 10:09:57 +02:00
Darko Poljak
92488e83d6
__debug -> __cdist_loglevel
2017-09-06 21:59:57 +02:00
Philippe Grégoire
b2fb38d1f4
__package_pkg_openbsd: fix pkg_version explorer
...
The pkg_version explorer will fail to properly detect if a package
is installed when a package's name is present in the description of
a package (as returned by pkg_info).
Currently, trying to install libtool fails due to incorrect parsing:
$ pkg_info | grep libtool
libltdl-2.4.2p1 GNU libtool system independent dlopen wrapper
Additionally, trying to install nagios results in the following output:
$ pkg_info | grep nagios
nagios-4.0.8p3-chroot host and service monitor
nagios-web-4.0.8p2-chroot cgis and webpages for nagios
This commit fixes detection by properly parsing pkg_info's output.
Specifically, descriptions are ignored and package names are properly
extracted.
2017-09-04 13:07:49 -04:00
uqam-fob
0dd5411216
__package_pkg_openbsd: fix use of --name ( #568 )
...
Fixes the improper use of the file holding the value of the 'name'
option.
2017-09-03 23:27:27 +02:00
Darko Poljak
fb3cd98b54
Minor fixes to man page.
2017-09-02 21:38:13 +02:00
b8a1ad0ebd
Improve __daemontools on FreeBSD ( #567 )
...
Improve __daemontools on freebsd
2017-09-02 21:25:17 +02:00
a9f338b6a5
new type: __prometheus_exporter ( #566 )
2017-09-02 21:23:48 +02:00
7564038f04
fixes to __prometheus_{server,alertmanager} ( #565 )
2017-09-02 21:22:33 +02:00
Darko Poljak
99133219bc
Add another test case.
2017-09-02 08:40:23 +02:00
Sven Wick
ed55d01b35
Update machine_type ( #564 )
...
detect kvm on proxmox
2017-09-01 20:56:48 +02:00
Darko Poljak
5213f343c0
pep8
2017-09-01 14:11:58 +02:00
Darko Poljak
136f2ecd87
Add helpers for cdist config/install integration. ( #551 )
...
Implement simple integration API.
2017-09-01 14:08:50 +02:00
Darko Poljak
4af3c0c6d5
Fix empty conf_dir configuration value.
2017-08-30 23:57:47 +02:00
Darko Poljak
2f10353156
Fix configuration bugs.
2017-08-30 23:11:10 +02:00
Darko Poljak
bdee7273af
Configfile ( #559 )
...
Add cdist configuration/config file support.
2017-08-30 23:02:17 +02:00
Darko Poljak
eae399b025
Fix removing ssh key that is last one in the file.
2017-08-30 09:27:06 +02:00
Steven Armstrong
3c3b29f710
allow hostnamectl to fail silently
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-08-29 22:50:47 +02:00
Steven Armstrong
0114001627
remember default __remote_{copy,exec} so we can use it ourself in custom __remote_{copy,exec} scripts
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-08-29 22:31:30 +02:00
Steven Armstrong
04c8415060
use __remote_{exec,copy} instead of plain ssh/scp in remote exec scripts
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-08-29 21:49:47 +02:00
Philippe Grégoire
0e3c7545cc
__user_groups: Support OpenBSD
...
OpenBSD's usermod(8) interface is similary to NetBSD's.
This commit makes __user_groups support it explicitly.
https://man.openbsd.org/usermod.8
http://netbsd.gw.com/cgi-bin/man-cgi?usermod++NetBSD-current
2017-08-27 08:58:16 -04:00
Darko Poljak
6751349d21
Merge pull request #561 from uqam-fob/pkg-openbsd-installurl
...
__package_pkg_openbsd: support using /etc/installurl
2017-08-27 14:23:11 +02:00
Philippe Grégoire
d4f34a3f40
__package_pkg_openbsd: support the empty flavor
...
Adds support for specifying an empty flavor by passing --flavor "".
2017-08-26 10:59:04 -04:00
Philippe Grégoire
56adfd4dee
__package_pkg_openbsd: support using /etc/installurl
...
In 6.1, OpenBSD introduced installurl(5), which contains
the URL the sets where installed from during install or upgrade.
The content of this file is used by pkg_add(1) if PKG_PATH is
not defined.
This commit changes the behavior of __package_pkg_openbsd to omit
setting PKG_PATH to a hard-coded value if --pkg_path is not provided.
This, in turn, makes pkg_add(1) use installurl(5).
2017-08-26 09:42:36 -04:00
Mark Verboom
6f04c9bfce
Explorer pipes output of apt-key list, which always generates:
...
Warning: apt-key output should not be parsed (stdout is not a terminal)
on stderr. Redirect stderr of apt-key to /dev/null to prevent output in
cdist run.
2017-08-25 14:31:32 +02:00
Darko Poljak
c6d00019a8
Merge pull request #556 from uqam-fob/explorer-init-pgrep
...
explorer/init/Linux: use pgrep instead of ps
2017-08-25 11:31:42 +02:00
Darko Poljak
11a974aeff
Merge pull request #557 from uqam-fob/type-user-explorers
...
__user: explore with /etc files
2017-08-25 11:30:32 +02:00
Darko Poljak
d9cf1590b8
Fix spelling.
2017-08-25 10:50:11 +02:00
Steven Armstrong
4851c0517f
inherit log level from cdist install during nested cdist config
...
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-08-24 14:43:26 +02:00
Darko Poljak
f368539447
Some pylint cleaning.
2017-08-22 10:58:30 +02:00
Philippe Grégoire
31e5c97c55
use command(1) to get executable's path
2017-08-21 10:51:55 -04:00
Philippe Grégoire
997fdd8ac4
fix typo in group entry extraction
2017-08-20 15:13:01 -04:00
Philippe Grégoire
a915baa73b
__user: explore with /etc files
...
getent(1) is a utility available where Name Service Switch (NSS)
is available. Many modern operating systems support it, but that
may not be the case of all (e.g. embedded systems).
This commit modifies the __user type explorers to check the
traditional files instead of relying solely on the availability
of getent(1).
- Makes the group explorer use /etc/group
- Makes the passwd explorer use /etc/passwd
- Makes the shadow explorer use /etc/shadow
Implementation note
"getent shadow" does not support querying an entry using a uid
since it does not store that information. Since the shadow explorer
uses __object_id, the passwd explorer does not check if __object_id
matches an entry by uid. This behavior ensures consistent, transparent
behavior of the type. The group explorer, on the other hand, handles
group names and uids; like always.
2017-08-20 12:10:54 -04:00
Philippe Grégoire
ebe0c0d66d
make sure we continue on errors
2017-08-20 11:12:30 -04:00
Philippe Grégoire
5646a66f6c
explorer/init/Linux: replace ps by pgrep
...
BusyBox's version of ps does not support the -o option.
On Linux systems, use pgrep -P0 -l to get the name of
pid 1.
2017-08-20 11:06:07 -04:00
Philippe Grégoire
2b9bf3de24
replace grep+sed by awk
2017-08-19 18:19:17 -04:00
Philippe Grégoire
e88e9c357f
fix formatting
2017-08-19 16:49:19 -04:00
Philippe Grégoire
69c6de9f9c
explorer/os: get ID from /etc/os-release
...
/etc/os-release was introduced by systemd[1] and is now
more and more common; even on systems without systemd (e.g. lede).
In addition to detecting the OS based on specific attributes,
this file provides the ID marker to describe the OS.
This commit adds support for OS detection via /etc/os-release.
According to [2], it is already lowercase.
[1] http://0pointer.de/blog/projects/os-release
[2] https://www.freedesktop.org/software/systemd/man/os-release.html
2017-08-19 16:41:50 -04:00
Darko Poljak
ceb97fd0ee
Fix for mistake in 982bb286f4
.
2017-08-19 19:12:30 +02:00
Darko Poljak
982bb286f4
Cleanup options' help and cdist man page.
2017-08-17 08:24:58 +02:00
Philippe Gregoire
61b52ac806
Set default remote_cmds_cleanup_pattern
...
Fixes an exception when --remote-copy and --remote-exec are used.
2017-08-14 16:13:57 -04:00
Philippe Gregoire
7b0b3d9415
Fix remote cmds cleanup
...
When --remote-copy and --remote-exec are provided,
args.remote_cmds_cleanup_pattern is not set.
This patches fixes the evaluation of args.remote_cmds_cleanup_pattern
and prevents cdist from throwing an exception when --remote-copy
and --remote-exec are used.
2017-08-14 14:25:19 -04:00
Darko Poljak
b6467e716e
Merge remote-tracking branch 'ungleich/master' into jobs-locking
2017-08-13 12:27:57 +02:00
Darko Poljak
75fe3272b3
Add file locking for -j parallel execution.
2017-08-13 12:26:20 +02:00
Darko Poljak
87fe52ea61
Default logging level is WARNING.
2017-08-12 23:02:31 +02:00
Darko Poljak
314a931b84
Respect cdist log level in emulator.
2017-08-12 21:40:23 +02:00
Darko Poljak
59782ad64e
Fix unit test.
2017-08-11 01:20:45 +02:00
Darko Poljak
2b0e8160cf
Merge pull request #543 from darko-poljak/ssh-mux-sigpipe
...
Fix ssh connection multiplexing race condition #542
2017-08-10 23:42:16 +02:00
Darko Poljak
8bb70055f4
Merge branch 'master' into archiving
2017-08-10 19:11:35 +02:00
Darko Poljak
ca1cc0f64a
object_id = '/' is invalid
2017-08-10 19:08:44 +02:00
Darko Poljak
68cb13881f
Add archiving support.
2017-08-09 16:56:02 +02:00