feat(roles/salt): added salt role

This commit is contained in:
ITQ
2026-07-21 00:13:42 +03:00
parent 4acc08983e
commit 8b4bc3c736
8 changed files with 122 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
---
- name: Validate salt_role
ansible.builtin.assert:
that:
- salt_role in ["master", "minion"]
fail_msg: "salt_role must be either 'master' or 'minion'"
- import_tasks: repo.yaml
- import_tasks: master.yaml
when: salt_role == "master"
- import_tasks: minion.yaml
when: salt_role == "minion"
+20
View File
@@ -0,0 +1,20 @@
---
- name: Install Salt Master
ansible.builtin.package:
name: salt-master
state: present
- name: Configure Salt Master
ansible.builtin.template:
src: master.j2
dest: /etc/salt/master
owner: root
group: root
mode: "0644"
notify: Restart salt-master
- name: Ensure salt-master service is enabled
ansible.builtin.service:
name: salt-master
state: started
enabled: true
+20
View File
@@ -0,0 +1,20 @@
---
- name: Install Salt Minion
ansible.builtin.package:
name: salt-minion
state: present
- name: Configure Salt Minion
ansible.builtin.template:
src: minion.j2
dest: /etc/salt/minion
owner: root
group: root
mode: "0644"
notify: Restart salt-minion
- name: Ensure salt-minion service is enabled
ansible.builtin.service:
name: salt-minion
state: started
enabled: true
+36
View File
@@ -0,0 +1,36 @@
---
- name: Ensure APT keyrings directory exists
ansible.builtin.file:
path: /etc/apt/keyrings
state: directory
mode: "0755"
- name: Download Salt public key
ansible.builtin.get_url:
url: https://packages.broadcom.com/artifactory/api/security/keypair/SaltProjectKey/public
dest: /tmp/salt-public.key
mode: "0644"
- name: Convert Salt key to keyring
ansible.builtin.command:
cmd: >
gpg --dearmor
--output /etc/apt/keyrings/salt-archive-keyring.pgp
/tmp/salt-public.key
args:
creates: /etc/apt/keyrings/salt-archive-keyring.pgp
- name: Remove temporary Salt public key
ansible.builtin.file:
path: /tmp/salt-public.key
state: absent
- name: Install Salt repository
ansible.builtin.get_url:
url: https://github.com/saltstack/salt-install-guide/releases/latest/download/salt.sources
dest: /etc/apt/sources.list.d/salt.sources
mode: "0644"
- name: Update apt cache
ansible.builtin.apt:
update_cache: true