mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 18:29:21 +00:00 
			
		
		
		
	- Added MODE_BACKUP to trigger backup before the rest of the deployment - sys-ctl-bkp-docker-2-loc: force linear sync and force flush when MODE_BACKUP is true - Unified name resolution via system_service_name across handlers and tasks - Introduced system_service_force_linear_sync and system_service_force_flush (rename from system_force_flush) - Drive async/poll via system_service_async/system_service_poll using omit when disabled - Propagated per-role overrides (cleanup, repair, cert tasks) for clarity and safety - Minor formatting and consistency cleanups Why: Ensure the backup runs before the deployment routine to safeguard data integrity. Refs: Conversation https://chatgpt.com/share/68de4c41-b6e4-800f-85cd-ce6949097b5e Signed-off-by: Kevin Veen-Birkenbach <kevin@veen.world>
		
			
				
	
	
		
			34 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| UNIT_SUFFIX_REMOVER_PACKAGE:          "unsure"
 | |
| system_service_name:                  "{{ system_service_id | get_service_name(SOFTWARE_NAME) }}"
 | |
| 
 | |
| ## Paths
 | |
| system_service_role_name:             "{{ system_service_id | regex_replace('@','') }}"
 | |
| system_service_role_dir:              "{{ [ playbook_dir, 'roles', system_service_role_name ] | path_join }}"
 | |
| system_service_script_dir:            "{{ [ PATH_SYSTEMCTL_SCRIPTS, system_service_id ] | path_join }}"
 | |
| 
 | |
| ## Settings
 | |
| system_service_force_linear_sync:     "{{ system_service_name in SYS_SERVICE_GROUP_MANIPULATION }}"    # Disables automatic async
 | |
| system_service_force_flush:           "{{ SYS_SERVICE_ALL_ENABLED | bool }}"                           # When set to true it activates the flushing of services. defaults to SYS_SERVICE_ALL_ENABLED
 | |
| system_service_suppress_flush:        "{{ (system_service_id in SYS_SERVICE_SUPPRESS_FLUSH) | bool }}" # When set to true it suppresses the flushing of services
 | |
| system_service_copy_files:            true                                                             # When set to false file copying will be skipped
 | |
| system_service_timer_enabled:         false                                                            # When set to true timer will be loaded
 | |
| system_service_state:                 "{{ SYS_SERVICE_DEFAULT_STATE }}"
 | |
| 
 | |
| ## ASYNC Settings
 | |
| system_service_async:                 "{{ omit if (system_service_force_linear_sync | bool or not ASYNC_ENABLED | bool) else ASYNC_TIME }}"
 | |
| system_service_poll:                  "{{ omit if (system_service_force_linear_sync | bool or not ASYNC_ENABLED | bool) else ASYNC_POLL }}"
 | |
| 
 | |
| # Dynamic Loaded ( Just available when dependencies are loaded )
 | |
| system_service_script_base:           "{{ system_service_script_src | basename | regex_replace('\\.j2$', '') }}"
 | |
| system_service_script_type:           "{{ system_service_script_base | filetype }}"
 | |
| system_service_script_inter:          "/bin/{{ 'bash' if system_service_script_type == 'sh' else 'python3'}}"
 | |
| system_service_script_exec:           "{{ system_service_script_inter }} {{ system_service_id | get_service_script_path( system_service_script_type ) }}"
 | |
| 
 | |
| # Service template
 | |
| system_service_tpl_on_failure:        "{{ SYS_SERVICE_ON_FAILURE_COMPOSE }}"
 | |
| system_service_tpl_type:              "oneshot"
 | |
| system_service_tpl_runtime:           "{{ '' if system_service_tpl_type == 'oneshot' else SYS_SERVICE_DEFAULT_RUNTIME }}"
 | |
| system_service_tpl_exec_start_pre:    ""
 | |
| system_service_tpl_exec_start:        "{{ system_service_script_exec }}"
 | |
| system_service_tpl_exec_start_post:   ""
 | |
| system_service_tpl_timeout_start_sec: "" # If not defined the default values from sys-daemon in manager will be used |