summaryrefslogtreecommitdiff
path: root/failsafe.cf
diff options
context:
space:
mode:
authorJulien Dessaux2017-10-10 13:40:39 +0200
committerJulien Dessaux2017-10-12 15:35:16 +0200
commit52f0255bf2a4a016584a34e40326f0735ed79a5c (patch)
treebac011519d470dd97cc4ba53f4ef5488240746ef /failsafe.cf
parentUpdated nagios configs with ubuntu servers and docker services (diff)
downloadmasterfiles-52f0255bf2a4a016584a34e40326f0735ed79a5c.tar.gz
masterfiles-52f0255bf2a4a016584a34e40326f0735ed79a5c.tar.bz2
masterfiles-52f0255bf2a4a016584a34e40326f0735ed79a5c.zip
Initialized alpine linux support
Diffstat (limited to 'failsafe.cf')
-rw-r--r--failsafe.cf25
1 files changed, 20 insertions, 5 deletions
diff --git a/failsafe.cf b/failsafe.cf
index daba0fc..a7cacc1 100644
--- a/failsafe.cf
+++ b/failsafe.cf
@@ -2,13 +2,15 @@
# - Always ensured to run the update bundle. Do not modify. Ever.
# Failsafe imports and promises
-body agent control {
+body agent control
+{
any::
abortclasses => { "no_ppkeys_ABORT_kept" }; # Bootstrapping can't continue without keys
ifelapsed => "0"; # Make sure that running failsafe many times in a row does not change functionality
}
-bundle agent main {
+bundle agent main
+{
methods:
any::
"Check Keys"
@@ -37,8 +39,11 @@ bundle agent failsafe_checkkeys
bundle agent failsafe_copy_binaries
{
+ classes:
+ any::
+ "alpinelinux" expression => fileexists("/etc/alpine-release");
vars:
- freebsd::
+ alpinelinux|freebsd::
"binaries" slist => {
"cf-agent",
"cf-execd",
@@ -50,6 +55,11 @@ bundle agent failsafe_copy_binaries
"cf-upgrade",
};
files:
+ alpinelinux::
+ "$(sys.bindir)/$(binaries)"
+ copy_from => failsafe_cp("/usr/sbin/$(binaries)"),
+ action => failsafe_u_immediate,
+ classes => failsafe_results("namespace", "copy_binaries");
freebsd::
"$(sys.bindir)/$(binaries)"
copy_from => failsafe_cp("/usr/local/sbin/$(binaries)"),
@@ -73,6 +83,11 @@ bundle agent failsafe_update {
# produced binaries vs packages from the debian repository).
"masterfiles_dir_remote" string => ifelse( "policy_server", $(sys.masterdir), "masterfiles" );
classes:
+ any::
+ "alpinelinux" expression => fileexists("/etc/alpine-release");
+ alpinelinux::
+ "cf_execd_not_running" expression => returnszero("/usr/bin/pgrep cf-execd", "noshell");
+ "cf_serverd_not_running" expression => returnszero("/usr/bin/pgrep cf-serverd", "noshell");
systemd::
"cfengine3_service_running" expression => returnszero("/bin/systemctl status cfengine3", "noshell");
files:
@@ -100,9 +115,9 @@ bundle agent failsafe_update {
file_select => failsafe_exclude_vcs_files,
classes => failsafe_results("namespace", "modulesdir_update");
processes:
- !(windows|systemd)::
+ !(alpinelinux|systemd|windows)::
"cf-serverd" restart_class => "cf_serverd_not_running";
- !systemd.inputdir_update_repaired::
+ !(alpinelinux|systemd|windows).inputdir_update_repaired::
"cf-execd" restart_class => "cf_execd_not_running";
commands:
cf_execd_not_running::