Compare commits
	
		
			5 Commits
		
	
	
		
			562fd42333
			...
			ab21a02be7
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | ab21a02be7 | |
|  | 1b3ac8039e | |
|  | ee82bafb47 | |
|  | 2d932565b6 | |
|  | 5f9b1b1edc | 
							
								
								
									
										96
									
								
								apache.cf
								
								
								
								
							
							
						
						
									
										96
									
								
								apache.cf
								
								
								
								
							|  | @ -56,6 +56,7 @@ vars: | |||
| 		"log_dir_group" string => "wheel"; | ||||
| 
 | ||||
| 		"service_name" string => "apache24"; | ||||
| 		"service_cfg_name" string => "apache24"; | ||||
| 		"www_user" string => "www"; | ||||
| 		"www_group" string => "www"; | ||||
| 		"mime_types" string => "/usr/local/etc/apache24/mime.types"; | ||||
|  | @ -78,6 +79,7 @@ vars: | |||
| 			{m:"proxy",f:"mod_proxy"}, | ||||
| 			{m:"proxy_http",f:"mod_proxy_http"}, | ||||
| 			{m:"proxy_http2",f:"mod_proxy_http2"}, | ||||
| 			{m:"remoteip",f:"mod_remoteip"} | ||||
| 		]'; | ||||
| 
 | ||||
| 
 | ||||
|  | @ -276,7 +278,7 @@ files: | |||
| 
 | ||||
| methods: | ||||
| 	 | ||||
| 
 | ||||
| 	"any" usebundle => wmde_enable_service("apache"); | ||||
| 	"any" usebundle => wmde_service("$(apache.service_name)","apache_kept","apache_repaired|php_repaired"), | ||||
| 		depends_on => @(apache.service_deps) ; | ||||
| 
 | ||||
|  | @ -436,3 +438,95 @@ methods: | |||
| reports: | ||||
| 	 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| bundle agent apache_matomo | ||||
| (site) | ||||
| { | ||||
| vars:  | ||||
| 	"pid" string => "/var/run/matomo-logger-$(site[domain]).pid"; | ||||
| 	"log" string => "$(apache.log_dir)/$(site[domain])-access.log"; | ||||
| 	"siteid" string => "$(site[matomoid])"; | ||||
| freebsd:: | ||||
| 	"analyt_cmd" string => "/usr/local/bin/python3.9 /var/www/matomo/misc/log-analytics/import_logs.py"; | ||||
| debian:: | ||||
| 	"analyt_cmd" string => "/usr/bin/python3 /var/www/matomo/misc/log-analytics/import_logs.py"; | ||||
| centos:: | ||||
| 	"analyt_cmd" string => "/usr/bin/python3 /var/www/matomo/misc/log-analytics/import_logs.py"; | ||||
| 	 | ||||
| matomo:: | ||||
| 	"cmd" string => "/usr/bin/pkill -P `cat $(pid)` ; exec /bin/sh -c 'echo $$ > $(pid); /usr/bin/tail -n+1 -f $(log) | $(analyt_cmd) --token-auth=$(site[matomotoken]) --disable-bulk-tracking --idsite=$(siteid) --url=$(site[matomosite]) --exclude-path=/wp-login.php --exclude-path=/wp-json/* --recorders=1 --recorder-max-payload-size=1 --log-format-name=ncsa_extended --exclude-path=*.php --exclude-path=/wp-admin/* - > /dev/null' "; | ||||
| !matomo:: | ||||
| 	"cmd" string => ""; | ||||
| any:: | ||||
| 	"cmd_esc" string => escape ($(cmd)); | ||||
| 	#	"cmd": "$(cmd_esc)", | ||||
| 
 | ||||
| 	"site_str" string => storejson(@(site)); | ||||
| #	"site_json" string => '{ | ||||
| #		"site" : "$(site_str)" | ||||
| #	}'; | ||||
| 	 | ||||
| 	"site_json" string => '{ | ||||
| 		"cmd": "$(cmd)", | ||||
| 		"service": "$(apache.service_name)",	 | ||||
| 		"site": $(site_str) | ||||
| 	}'; | ||||
| 
 | ||||
| 	"template_file"  | ||||
| 	string => "$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/weblogrot.mustache"; | ||||
| 
 | ||||
| methods: | ||||
| 	"any" usebundle => install_logrot; | ||||
| 
 | ||||
| files: | ||||
| 	"$(logrot.dir)/$(site[domain])" | ||||
| 	create => "true", | ||||
| 	edit_defaults => backup("false"), | ||||
| 	edit_template => "$(template_file)", | ||||
| 	template_method => "mustache"; | ||||
| #	template_data => parsejson("$(site_json)"); | ||||
| 
 | ||||
| 	matomo:: | ||||
| 	"$(pid)" | ||||
| 	create => "true"; | ||||
| 
 | ||||
| 	 | ||||
| 
 | ||||
| classes: | ||||
| 	"matomo" expression => isvariable("site[matomoid]"); | ||||
| 
 | ||||
| 
 | ||||
| commands: | ||||
| 	matomo:: | ||||
| 	"/bin/sh -c " | ||||
| 	args => "'kill -0 `cat $(pid)` &&  echo -start_matomo || echo +start_matomo'", | ||||
| 	inform => "false", | ||||
| 	module => "true"; | ||||
| 
 | ||||
| 
 | ||||
| methods: | ||||
| 	start_matomo:: | ||||
| 		"call" usebundle => daemonize( "$(cmd)" ); | ||||
| 
 | ||||
| reports: | ||||
| 	#start_matomo:: | ||||
| 	#	"MUST START - WHY"; | ||||
| 
 | ||||
| 	#"ESC ESC $(site_json)"; | ||||
| 
 | ||||
| matomo:: | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| body edit_defaults backup( edit_backup ) | ||||
| { | ||||
| 	edit_backup => "$(edit_backup)"; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										17
									
								
								lib.cf
								
								
								
								
							
							
						
						
									
										17
									
								
								lib.cf
								
								
								
								
							|  | @ -103,7 +103,22 @@ body service_method wmde | |||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| bundle agent wmde_enable_service(bundlename) | ||||
| { | ||||
| vars: | ||||
| 	freebsd:: | ||||
| #		"cha" string => "$(bundlename).service_cfg_name"; | ||||
| 		"filename" string => "/etc/rc.conf.d/$($(bundlename).service_cfg_name)"; | ||||
| files: | ||||
| 	freebsd:: | ||||
| 		"$(filename)" | ||||
| 			create => "true", | ||||
| 			perms => m("644"), | ||||
| 			content => "$($(bundlename).service_cfg_name)_enable=YES"; | ||||
| 			 | ||||
| reports: | ||||
| #	"FREEBSD: $(filename) $(cha)"; | ||||
| } | ||||
| 
 | ||||
| bundle agent wmde_service(service_name,start_cond, restart_cond) | ||||
| { | ||||
|  |  | |||
							
								
								
									
										46
									
								
								mysql.cf
								
								
								
								
							
							
						
						
									
										46
									
								
								mysql.cf
								
								
								
								
							|  | @ -9,7 +9,8 @@ vars: | |||
| 	"default_cfg" data => '{ | ||||
| 		"bind_address":"127.0.0.1", | ||||
| 		"user":"mysql", | ||||
| 		"port":"3306" | ||||
| 		"port":"3306", | ||||
| 		"backup_dir":"/var/backups" | ||||
| 	}'; | ||||
| 
 | ||||
| 	"cfg" data => mergedata(@(default_cfg),@(cfg_param)); | ||||
|  | @ -71,10 +72,11 @@ files: | |||
| 	 | ||||
| 
 | ||||
| 	"$(cfg_file)"  | ||||
| 	create => "true", | ||||
| 	#create => "true", | ||||
| 	perms => m("644"), | ||||
| 	edit_template => "$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/my.cnf.mustache", | ||||
| 	template_method => "mustache", | ||||
| 	copy_from => seed_cp("$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/my.cnf.mustache"), | ||||
| #	edit_template => "$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/my.cnf.mustache", | ||||
| #	template_method => "mustache", | ||||
| 	handle => "mysql_cfg_created", | ||||
| 	depends_on => {"mysql_cfg_dir_created"}, | ||||
| 	classes => if_repaired("mysql_repaired"); | ||||
|  | @ -123,6 +125,7 @@ vars: | |||
| 
 | ||||
| 	"j" string => storejson(@(cfg)); | ||||
| methods: | ||||
| 	"any" usebundle => mysql(@(cfg)); | ||||
| 	"any" usebundle => wmde_install_packages(@(mysql.server_pkgs),"mysql_server"); | ||||
| 
 | ||||
| files: | ||||
|  | @ -315,25 +318,38 @@ bundle agent create_mysql_db(cfg) | |||
| { | ||||
| classes: | ||||
| 	"type_$(mysql.type)" ; | ||||
| #	"do_restore" expression => isvariable("cfg[restore]"); | ||||
| 	"do_restore" expression => strcmp("$(cfg[restore])","true"); | ||||
| vars: | ||||
| 	"db_name" string => "$(cfg[db_name])"; | ||||
| 	"db_user" string => "$(cfg[db_user])"; | ||||
| 	"host" string => "$(cfg[db_user_host])"; | ||||
| 	"db_pass" string => "$(cfg[db_pass])"; | ||||
| 
 | ||||
| 
 | ||||
| 	type_mariadb:: | ||||
| 	"args" string => "-e \"CREATE DATABASE IF NOT EXISTS $(db_name); GRANT ALL PRIVILEGES ON $(db_name).* TO '$(db_user)'@'$(host)' IDENTIFIED BY '$(db_pass)'; \" "; | ||||
| 
 | ||||
| 	type_mysql8:: | ||||
| 	"args" string => "-e \"CREATE DATABASE IF NOT EXISTS $(db_name); CREATE USER IF NOT EXISTS '$(db_user)'@'$(host)'; ALTER USER '$(db_user)'@'$(host)' IDENTIFIED BY '$(db_pass)'; GRANT RELOAD ON *.* to '$(db_user)'@'$(host)'; GRANT ALL PRIVILEGES ON $(db_name).* TO '$(db_user)'@'$(host)';\" "; | ||||
| 
 | ||||
| methods: | ||||
| 	do_restore:: | ||||
| 		"any" usebundle => restore_mysql_db_conditional(@(cfg),"$(mysql.cfg[backup_dir])/$(cfg[db_name])-dmp.sql"), | ||||
| 			depends_on => {"mysql_$(cfg[db_name])_created"}; | ||||
| 
 | ||||
| commands: | ||||
| 
 | ||||
|        	"$(mysql.mysql_cmd)" | ||||
| 	args => "$(args)", | ||||
| 	handle => "mysql_$(cfg[db_name])_created", | ||||
| 	inform => "false"; | ||||
| 
 | ||||
| reports: | ||||
| 	do_restore:: | ||||
| 	"DO RESTORE"; | ||||
| 	!do_restore:: | ||||
| 	"DO_NOT_RESTORE"; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  | @ -346,3 +362,25 @@ commands: | |||
| 	contain => wmde_cmd_useshell;	 | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| bundle agent restore_mysql_db_conditional(cfg,file) | ||||
| { | ||||
| classes: | ||||
| 	"backup_exists" expression => fileexists("$(file)"); | ||||
| vars: | ||||
| 	"table_exists" string => "mysql_$(cfg[db_name])_$(cfg[check_table])_exists"; | ||||
| methods: | ||||
| 	"any" usebundle => mysql_table_exists(@(cfg),"$(cfg[check_table])"); | ||||
| 	"!$(table_exists)&backup_exists":: | ||||
| 		"any" usebundle => restore_mysql_db(@(cfg),"$(file)"); | ||||
| reports: | ||||
| 	"conditional $(cfg[check_table])_exists"; | ||||
| 	"FILE: $(file)"; | ||||
| 
 | ||||
| 	"$(table_exists)":: | ||||
| 		"$(table_exists) exists"; | ||||
| 	"!$(table_exists)&backup_exists":: | ||||
| 		"$(table_exists) does not existsi, can restore"; | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue