Commit Graph

1116 Commits

Author SHA1 Message Date
Adam Dej c2f8c7abb3 Add explorer for info in /etc/os-release 2018-09-07 11:38:49 +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
ander d7a1645e4e __acl: fix os explorer 2018-06-11 11:21:07 +03:00
ander 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
lubo 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
lubo 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
lubo fdb5bbcf91 __docker_secret: Set executable flag on scripts 2018-05-04 16:47:09 +02:00
lubo 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
lubo 5a7d74b905 Add new type __docker_secret 2018-04-30 17:59:31 +02:00
lubo 4f61f6be9c Add new type __docker_config 2018-04-30 17:58:10 +02:00
lubo 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
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
kamila b695e82bec FreeBSD improvements (#651) 2018-03-26 08:53:31 +02:00
dmitrybogatov 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 fa32bd865b
Merge pull request #650 from devinsolutions/type-docker-stack
Add new type __docker_stack
2018-03-13 18:50:14 +01:00
lubo 7184228536 Add new type __docker_stack 2018-03-13 15:55:54 +01:00
lubo 8b86c6fc95 Add new type __docker_swarm 2018-03-13 15:54:47 +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
kamila f03a0e586e __prometheus_{server,alertmanager}: restart when cli parameters change 2018-03-11 20:47:01 +01:00
kamila f9443532a1 __key_value: --onchange parameter added (#648) 2018-03-11 18:01:38 +01:00
kamila e63c3429da __prometheus_{server,alertmanager}: update man pages 2018-03-11 11:07:59 +01:00
kamila 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
kamila 7ae24cf677 __grafana_dashboard: cleanup 2018-03-11 10:52:25 +01:00
kamila 34aefbc0f6 __prometheus_{server,alertmanager}: new man pages 2018-03-11 01:35:16 +01:00
kamila ee6d63325d new __prometheus_alertmanager; fixes to __prometheus_server 2018-03-11 01:28:26 +01:00
kamila 8a488591bb __prometheus_server: switch to packages; assume prometheus 2.x 2018-03-11 00:47:33 +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
matthijs 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
matthijs b8ed816af4 Add __apt_default_release type (#643) 2018-03-05 12:40:11 +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
tom a5dc6214e1 `dpkg {-r|-P}` needs the package-, not the filename 2018-02-21 15:01:08 +01:00
tom 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
tom 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
tom 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 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 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
tom fa91dbfcdb (re-) copyright msg 2018-01-31 11:10:20 +01:00
tom 6a6fdac25d add error-message if OS is unsuppored; fix indentation 2018-01-31 10:37:30 +01:00
tom cb21b3679a add missing legal boilerplate to explorer 2018-01-31 09:22:19 +01:00
tom 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
kamila 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
kamila 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
lubo 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
lubo 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
kamila 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
lubo 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
lubo b18327c520 Add __systemd_unit type (#589) 2017-11-07 13:25:37 +01:00
kamila 4799e43516 new type: __letsencrypt_cert (#591) 2017-11-01 08:56:12 +01:00
tom 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
kamila da8f6efafc fix explorer/os for devuan ascii (#588) 2017-10-20 18:16:06 +02:00
lubo 36302f7541 Add support for CoreOS to __timezone type (#587) 2017-10-19 19:58:34 +02:00
lubo 5c4cda589c Add support for CoreOS to __hostname type (#586) 2017-10-19 19:58:25 +02:00
tom d1c3e2420f Add messaging to __process 2017-09-29 14:48:51 +02:00
tom 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 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 f0dc21ec0c __cdist_log_level=<log level int value>; __cdist_log_level_name=<log level name> (#574) 2017-09-11 09:06:47 +02:00
kamila 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 57f15f9cce Make __cdist_loglevel value more expressive. (#571) 2017-09-07 16:36:23 +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
kamila b8a1ad0ebd Improve __daemontools on FreeBSD (#567)
Improve __daemontools on freebsd
2017-09-02 21:25:17 +02:00
kamila a9f338b6a5 new type: __prometheus_exporter (#566) 2017-09-02 21:23:48 +02:00
kamila 7564038f04 fixes to __prometheus_{server,alertmanager} (#565) 2017-09-02 21:22:33 +02:00
Sven Wick ed55d01b35 Update machine_type (#564)
detect kvm on proxmox
2017-09-01 20:56:48 +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
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
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
Nico Schottelius 260303dd14 Fix gpasswd call in __user_groups: order incorrect
From the manpage:

       -a, --add user
           Add the user to the named group.

       -d, --delete user
           Remove the user from the named group.
2017-08-03 15:11:35 +02:00
Darko Poljak 3db987b913 Merge pull request #549 from 4nd3r/__timezone
__timezone: always exit 0
2017-07-27 09:01:15 +02:00
Ander Punnar b7b1101f11 always exit 0 2017-07-27 01:28:26 +03:00
Darko Poljak 9b5220a29c Merge pull request #546 from greendeath/master
Updated to docker-compose version 1.14
2017-07-21 21:49:02 +02:00
Dominique Roux 5ccfec9c18 Updated to docker-compose version 1.14 2017-07-21 21:18:16 +02:00
ander 6bfe02094d year is 2017 2017-07-21 10:23:05 +03:00
ander 2c56622eeb check file first 2017-07-21 10:22:54 +03:00
ander c706b9eefb check current timezone before doing anything 2017-07-21 10:19:02 +03:00
Darko Poljak e2a1519332 Merge inventory from beta branch. 2017-07-20 22:04:44 +02:00
Darko Poljak 126a1812a5 Fix parallel object prepare and run steps. Add nonparallel type marker. 2017-07-15 22:18:20 +02:00
Darko Poljak 31899b2263 Add missing shebangs. 2017-07-15 22:16:25 +02:00
Steven Armstrong 1fe12f81a9 Merge branch 'feature/install' 2017-07-07 02:12:38 +02:00
Steven Armstrong d9a358bdf3 add forgotten symlink
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-07-07 02:10:06 +02:00
ander 6a6716035b one space too much 2017-07-04 19:25:08 +03:00
ander 0e8302c204 if no --source, then create only if there's no file 2017-07-04 19:23:51 +03:00
ander 49f9760eac +x 2017-07-03 15:18:27 +03:00
ander df437851f0 add -e 2017-07-02 12:19:40 +03:00
ander e4d9f78349 grep fixed string 2017-07-02 12:17:07 +03:00
ander c052e507eb shellcheck __apt_mark 2017-07-02 12:17:07 +03:00
Darko Poljak 62378dc8b9 Change shebang to #!/bin/sh -e 2017-06-28 13:19:32 +02:00
Darko Poljak fc97381c6e Add missing shebang. 2017-06-28 12:54:10 +02:00
Darko Poljak 9312bcb6b0 chmod +x *manifest *gencode-* 2017-06-28 12:52:10 +02:00
Steven Armstrong 574f36f593 fix order of arguments
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:33:34 +02:00
Steven Armstrong b8fcd30a37 support for bind mounts
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:33:34 +02:00
Steven Armstrong c740c96890 set log level for cdist config based on env vars
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:33:34 +02:00
Steven Armstrong 1627b58cfc for bind mount also have to prefix device
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:33:34 +02:00
Steven Armstrong e74d2be2d4 add support for bind mounting
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:33:34 +02:00
Steven Armstrong efd9351500 document new parameters: device, minor
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:33:34 +02:00
Steven Armstrong 86a61bbcff need to pass a known suffix from outside
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:33:34 +02:00
Steven Armstrong 058e4d757b disabel debug log
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:33:34 +02:00
Steven Armstrong a495a20d95 uefi support
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:33:34 +02:00
Steven Armstrong d34843347a add __install_directory type
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:33:34 +02:00
Steven Armstrong f9d371c6e3 use sysrq to reboot
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:33:34 +02:00
Steven Armstrong 42e197a5ba use the force when creating swap
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:33:34 +02:00
Steven Armstrong 9ee0de7c8b make uefi boot work
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:32:25 +02:00
Steven Armstrong 2ce00f3357 fix syntax error
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong 8305477e01 fix typo
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong ce82e32c59 handle resolv.conf
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong 4547d2efa1 properly escape single quotes
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong aea9747918 mount/umounting a chroot should not mess with resolv.conf at all
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong 73cad9dee2 backcompat
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong 1d42e4afcb bind mount /etc/resolv.conf instead of overwriting/removing
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong c6e4888c84 support for centos7
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong fd6258c90e unsure apt index is up2date
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong d05f11b0b8 deal with that stinkin cdist marker thinggy
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong 9ad203c744 deal with that stinkin cdist marker thinggy
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong bb62787c7c deal with that stinkin cdist marker thinggy
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong f97e6c42c7 no point generating grub.conf at this time, there is no kernel installed yet
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong 5417471dff add support for centos
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong 2bd48f1c8d make nuking mdadm/lvm actually work
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong 49dfcf4885 first remove lvm, then mdadm
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Steven Armstrong c1141453fe fix quoting
Signed-off-by: Steven Armstrong <steven@icarus.ethz.ch>
2017-06-27 10:27:40 +02:00
Darko Poljak ad51d4e0f6 Merge pull request #532 from ungleich/prometheus-fixes
fix missing dependencies in __prometheus_*, __go_get
2017-06-16 10:04:58 +02:00
Nico Schottelius e7fa238b2a Fix mkfs.vfat support (no -q) 2017-06-16 05:30:40 +02:00
kamila 5d148a58d2 fix missing dependencies in __prometheus_*, __go_get 2017-06-15 11:13:39 +02:00
Darko Poljak 9aeea937c4 Fix spelling. 2017-06-13 18:04:41 +02:00
Darko Poljak b821391f7a Merge pull request #530 from ungleich/grafana_dashboard
new type: __grafana_dashboard
2017-06-11 13:59:17 +02:00
kamila 4c7327e814 consider de(bi|vu)an version 2017-06-09 18:40:47 +02:00
Nico Schottelius 3a7013d7a1 Merge branch 'master' of github.com:telmich/cdist 2017-06-03 18:16:25 +02:00
Nico Schottelius 91ff80fa6a Add devuan support for __start_on_boot 2017-06-03 18:15:44 +02:00
kamila ba933f1470 Merge branch 'master' into grafana_dashboard 2017-06-02 22:32:08 +02:00
kamila f87cce28d1 new type: __grafana_dashboard 2017-06-02 15:28:52 +02:00
kamila 2272539c16 is it Christmas today? So many new awesome types! 2017-06-01 23:52:23 +02:00
Darko Poljak 3a25fc74b9 Merge pull request #525 from ungleich/daemontools
new type: __daemontools_service
2017-06-01 23:06:12 +02:00
kamila 42bc5e28b9 WHY can't I write a man page? 2017-06-01 23:01:03 +02:00
kamila c16277bb8f manpage dæmons won't stop 2017-06-01 22:55:58 +02:00
kamila 5ac324cd91 sacrifice to the evil manpage demons 2017-06-01 22:26:18 +02:00
kamila d30103e9d2 __daemontools*: add/improve; + add man pages 2017-06-01 17:43:43 +02:00
kamila 06e1ddcf47 __consul_agent: mention http-check in man page 2017-05-31 18:57:21 +02:00
kamila 5ec8ac90d9 consul: add http check; add new version 2017-05-31 18:21:24 +02:00
kamila cf0ab2a5bd new type: __daemontools_service 2017-05-29 16:23:24 +02:00
Nico Schottelius fc9d7af18c Add Devuan support for __sysctl 2017-05-16 12:09:38 +02:00
kamila abd5f11b98 man.rst: fix underline 2017-05-05 15:29:48 +02:00
kamila 8d4fd9e7d8 add __go_get, __golang_from_vendor manpages 2017-05-04 17:46:37 +02:00
kamila 21a29ab5aa add __go_get, __golang_from_vendor 2017-05-04 17:46:20 +02:00
Dominique Roux d3aafc4523 changed docker-compose version to 1.12.0 2017-04-19 11:51:04 +02:00
kamila 46bbafa509 __start_on_boot: add support for devuan 2017-03-22 12:33:16 +01:00
Darko Poljak 517493ea92 reStructuredText fixes. 2017-03-08 19:36:34 +01:00
Darko Poljak 57032af356 Fix code-block argument missing. 2017-03-08 19:16:23 +01:00
dmitrybogatov 6d277ef1f1 New type: __dot_file 2017-03-07 21:50:59 +01:00
dmitrybogatov c4c2d45e59 New type: __hosts 2017-02-02 19:47:11 +01:00
Darko Poljak 574688c6e1 Rm due to new patch from Dmitry. 2017-02-02 19:47:02 +01:00
Darko Poljak d3b3fef63b Merge remote-tracking branch 'ungleich/master' into cdist-type__hosts 2017-02-02 19:45:48 +01:00
Darko Poljak 8e5e8c040d Merge pull request #482 from andres-erbsen/user-groups-freebsd
__user_groups: refactor, support FreeBSD
2017-01-14 10:53:01 +01:00
Darko Poljak 86678b5beb Cleanup __user_groups oldusermod explorer. 2017-01-11 21:32:52 +01:00
Daniel Heule 0ad767fa29 fix filter for new cron on sles12 sp2 2017-01-11 16:44:17 +01:00
Dominique Roux 4742913244 fixed type 2017-01-02 11:48:07 +01:00
Dominique Roux 07906451b2 updated man.rst 2016-12-31 11:06:06 +01:00
Dominique Roux 0dbe9e1428 updated man.rst 2016-12-31 11:03:28 +01:00
Dominique Roux 54a58abcaa Changed man.rst of __docker and __docker_compose
- Added state parameter for both types in the man.rst
- Changed --state absent behavior of __docker_compose
-- only remove docker-compose binary not whole docker
2016-12-29 14:47:29 +01:00
Dominique Roux 95b92627aa Added --state absent functionality to docker types
Changed types:
__docker
__docker_compose
2016-12-29 14:36:46 +01:00
Dominique Roux 6fa7bfbfb5 Better bugfix:
- Download the docker-compose binary first to /tmp then move it to
its target location
2016-12-27 13:20:57 +01:00
Dominique Roux 7a5244bf7c Bugfixed __docker_compose:
If docker-compose is already running, curl won't override the binary
I add an if the file does not exist before download
2016-12-21 23:03:24 +01:00
Darko Poljak 2b45405898 Update docs for types that used man.rst as symbolic links. 2016-12-16 08:19:41 +01:00
Darko Poljak 0462b4afc9 Merge pull request #348 from dheule/bugfix_type__cron
bugfix of raw_command
2016-12-14 09:04:54 +01:00
Darko Poljak d07f262eb6 Merge pull request #508 from greendeath/feature/__docker_compose
Created __docker_compose type for cdist
2016-12-13 11:38:01 +01:00
Dominique Roux d6f972057e updated documentation 2016-12-13 08:16:24 +01:00
Dominique Roux f180cbcb09 documented --version parameter 2016-12-13 08:09:14 +01:00
Dominique Roux db50e2e9e2 Added parameter --version to define the docker-compose version 2016-12-12 19:43:15 +01:00
Dominique Roux afd0d8c8c8 Added / Changed license to GPLv3+ 2016-12-12 09:09:48 +01:00
Dominique Roux 7abb96b48d Created __docker_compose type for cdist
Features:
- Install __docker_compose
2016-12-11 22:12:44 +01:00
Darko Poljak b0911ab87d Improve __apt_mark (Ander Punnar from beta) 2016-12-08 20:04:17 +01:00
Darko Poljak eb56c6ef59 experimentel -> experimental 2016-12-05 08:53:48 +01:00
Darko Poljak b0c9e097f9 Merge pull request #354 from tpo/__package_dpkg2
Please merge __package_dpkg type
2016-12-05 08:47:35 +01:00
testing_rouxdo 1ee6c2e7b1 added line after 33, changed experimentel to experimental 2016-12-05 07:57:30 +01:00
testing_rouxdo fc18e0f99c migrated man.text -> man.rst 2016-12-03 18:14:58 +01:00
testing_rouxdo 3054bae8c2 Added __docker type from asteven, implemented debian support 2016-12-02 14:34:01 +01:00
Tomáš Pospíšek 4370efdbb8 Update man.rst
fix title as requested here https://github.com/ungleich/cdist/pull/354#issuecomment-264117501
2016-12-02 09:39:53 +01:00
Darko Poljak f1cd824a7d Merge pull request #360 from tpo/__postgres_extension
postgres extension
2016-12-01 10:01:55 +01:00
tpo 6bcfdec154 remove reference to cdist_type, use GPL3+
as requested by darko-poljak here:
https://github.com/ungleich/cdist/pull/360#issuecomment-264110087
2016-12-01 09:54:27 +01:00
tpo 267d8239c1 remove reference to cdist_type, use GPL3+
as requested by darko-poljak here:
https://github.com/ungleich/cdist/pull/360#issuecomment-264110087
2016-12-01 09:50:05 +01:00
tpo 60906c0228 rewrite man page in rst
Only minimal changes needed.

This was done to satisfy darko-poljak's request here:
https://github.com/ungleich/cdist/pull/360#issuecomment-263491151
2016-12-01 09:27:56 +01:00
tpo 8e3281aa7c rewrite man page in rst
Only minimal changes needed.

This was done to satisfy darko-poljak's request here:
https://github.com/ungleich/cdist/pull/354#issuecomment-263492801
2016-12-01 09:09:57 +01:00