Commit graph

1460 commits

Author SHA1 Message Date
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
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