From 52f0255bf2a4a016584a34e40326f0735ed79a5c Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Tue, 10 Oct 2017 13:40:39 +0200 Subject: Initialized alpine linux support --- failsafe.cf | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'failsafe.cf') 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:: -- cgit v1.2.3