-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Proxmox role pre sub tasks management variables
- Loading branch information
Showing
15 changed files
with
282 additions
and
67 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- | ||
- name: Manage DEB repository keys via APT | ||
become: true | ||
ansible.builtin.apt_key: | ||
state: "{{ item.state | default(omit) }}" | ||
data: "{{ item.data | default(omit) }}" | ||
file: "{{ item.file | default(omit) }}" | ||
keyring: "{{ item.keyring | default(omit) }}" | ||
url: "{{ item.url | default(omit) }}" | ||
validate_certs: "{{ item.validate_certs | default(omit) | bool }}" | ||
loop: "{{ package_manager__repo_keys_all }}" | ||
register: package_manager__repo_keys_deb_apply | ||
when: | ||
- package_manager__repo_keys_all | type_debug == 'list' | ||
- package_manager__repo_keys_all | length > 0 |
15 changes: 0 additions & 15 deletions
15
roles/package_manager/tasks/deb_repo.yml → roles/package_manager/tasks/deb_repos.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
package_manager__repo_keys_all: "{{ package_manager__all | | ||
selectattr('type', 'defined') | selectattr('type', 'equalto', 'repo_key') | | ||
default([]) }}" | ||
|
||
package_manager__repos_all: "{{ package_manager__all | | ||
selectattr('type', 'defined') | selectattr('type', 'equalto', 'repo') | | ||
default([]) }}" | ||
|
||
package_manager__repo_lists_all: "{{ package_manager__all | | ||
selectattr('type', 'defined') | selectattr('type', 'equalto', 'repo_list') | | ||
selectattr('dest', 'defined') | selectattr('src', 'defined') | | ||
selectattr('source_module', 'defined') | selectattr('source_module', 'in', ['copy', 'template']) | | ||
unique(attribute='dest') | default([]) }}" | ||
|
||
package_manager__packages_all: "{{ package_manager__all | | ||
selectattr('type', 'defined') | selectattr('type', 'equalto', 'package') | | ||
default([]) }}" | ||
|
||
__package_manager__clean_upgrade_modes: "{{ ['clean_'] | product(__package_manager__upgrade_modes) | map('join') }}" | ||
|
||
__package_manager__repo_list_defaults: "{{ package_manager__repo_lists_all | selectattr('category', 'defined') | selectattr('category', 'equalto', 'default') | default([]) }}" | ||
__package_manager__repo_list_defaults_copy: "{{ __package_manager__repo_list_defaults | selectattr('source_module', 'equalto', 'copy') | default([]) }}" | ||
__package_manager__repo_list_defaults_template: "{{ __package_manager__repo_list_defaults | selectattr('source_module', 'equalto', 'template') | default([]) }}" | ||
|
||
__package_manager__upgrade_clean: "{{ package_manager__upgrade_mode in __package_manager__clean_upgrade_modes }}" | ||
__package_manager__upgrade_mode: "{{ package_manager__upgrade_mode | regex_replace('clean_', '') }}" | ||
__package_manager__upgrade_clean_eligible: "{{ __package_manager__upgrade_clean and __package_manager__repo_list_defaults | length > 0 }}" | ||
|
||
__package_manager__upgrade_once: "{{ package_manager__upgrade_strategy == 'once' }}" | ||
__package_manager__upgrade_always: "{{ package_manager__upgrade_strategy == 'always' }}" | ||
__package_manager__upgrade_never: "{{ package_manager__upgrade_strategy == 'never' }}" | ||
__package_manager__upgrade_execute: >- | ||
{%- set exec_upgrade = {'decision': true, 'reason': ''} -%} | ||
{%- if not package_manager__role_enabled -%} | ||
{%- set exec_upgrade = {'decision': false, 'reason': 'Upgrade requires aybarsm.linux.package_manager role enabled. (package_manager__role_enabled: true)'} -%} | ||
{%- elif __package_manager__upgrade_never -%} | ||
{%- set exec_upgrade = {'decision': false, 'reason': 'Upgrade strategy is set to never.'} -%} | ||
{%- elif __package_manager__upgrade_clean and not __package_manager__upgrade_clean_eligible -%} | ||
{%- set exec_upgrade = {'decision': false, 'reason': 'Upgrade strategy is set to clean, but no default repo list configuration found.'} -%} | ||
{%- elif __package_manager__upgrade_once -%} | ||
{%- if ansible__local_fact_name is undefined -%} | ||
{%- set exec_upgrade = {'decision': false, 'reason': 'Upgrade strategy once requires aybarsm.linux.ansible role imported.'} -%} | ||
{%- elif ansible__role_enabled is undefined or not ansible__role_enabled -%} | ||
{%- set exec_upgrade = {'decision': false, 'reason': 'Upgrade strategy once requires aybarsm.linux.ansible role enabled. (ansible__role_enabled: true)'} -%} | ||
{%- elif not ansible__manage_local_facts -%} | ||
{%- set exec_upgrade = {'decision': false, 'reason': 'Upgrade strategy once requires aybarsm.linux.ansible role local fact management enabled. (ansible__manage_local_facts: true)'} -%} | ||
{%- elif ansible_local[ansible__local_fact_name].package_manager.upgrade is defined -%} | ||
{%- set exec_upgrade = {'decision': false, 'reason': 'Host already upgraded.'} -%} | ||
{%- endif -%} | ||
{%- endif -%} | ||
{{ exec_upgrade }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- | ||
- name: Import aybarsm package_manager role | ||
ansible.builtin.include_role: | ||
name: aybarsm.linux.package_manager | ||
vars: | ||
package_manager__role_enabled: true | ||
package_manager__manage_repo_keys: "{{ proxmox__manage_repo_keys }}" | ||
package_manager__manage_repos: "{{ proxmox__manage_repos }}" | ||
package_manager__manage_packages: "{{ proxmox__manage_packages }}" | ||
node_repo_keys: "{{ __proxmox__purpose_packages | selectattr('type', 'eq', 'repo_key') if proxmox__manage_repo_keys else [] }}" | ||
node_repos: "{{ __proxmox__purpose_packages | selectattr('type', 'eq', 'repo') if proxmox__manage_repos else [] }}" | ||
node_packages: "{{ __proxmox__purpose_packages | selectattr('type', 'eq', 'package') if proxmox__manage_packages else [] }}" | ||
package_manager__host: "{{ node_repo_keys + node_repos + node_packages + (package_manager__host | default([])) }}" | ||
|
||
when: proxmox__role_enabled |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- | ||
- name: Include aybarsm package_manager role | ||
ansible.builtin.include_role: | ||
name: aybarsm.linux.package_manager | ||
vars: | ||
package_manager__role_enabled: true | ||
package_manager__package_strategy: specific | ||
package_manager__manage_repo_keys: "{{ proxmox__manage_repo_keys }}" | ||
package_manager__manage_repos: "{{ proxmox__manage_repos }}" | ||
package_manager__manage_packages: "{{ proxmox__manage_packages }}" | ||
node_repo_keys: "{{ __proxmox__purpose_packages | selectattr('type', 'eq', 'repo_key') if proxmox__manage_repo_keys else [] }}" | ||
node_repos: "{{ __proxmox__purpose_packages | selectattr('type', 'eq', 'repo') if proxmox__manage_repos else [] }}" | ||
node_packages: "{{ __proxmox__purpose_packages | selectattr('type', 'eq', 'package') if proxmox__manage_packages else [] }}" | ||
package_manager__host: "{{ node_repo_keys + node_repos + node_packages + (package_manager__host | default([])) }}" |
Oops, something went wrong.