Helper to unpack mini TAR on Ansible managed remote hosts.
authorOleksandr Gavenko <gavenkoa@gmail.com>
Sun, 12 Nov 2023 23:22:11 +0200
changeset 1028 20761b40404f
parent 1027 50902745d28c
child 1029 09f23ab46d03
Helper to unpack mini TAR on Ansible managed remote hosts.
skel-mini.ansible.yaml
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/skel-mini.ansible.yaml	Sun Nov 12 23:22:11 2023 +0200
@@ -0,0 +1,35 @@
+# Usage without the user (for current ssh user):
+#   ansible-playbook  skel-mini.ansible.yaml
+# Usage with the user name:
+#   ansible-playbook skel-mini.ansible.yaml -e user=...
+
+- hosts:
+    - all
+  strategy: free
+
+  tasks:
+    - when: user is undefined
+      become: no
+      block:
+        - setup:
+            gather_subset:
+              - '!all'
+              - '!min'
+              - user_dir
+        - unarchive:
+            src: skel-mini.tar.gz
+            dest: "{{ ansible_user_dir }}"
+            mode: u=rw,g=r,o=r
+
+    - when: user is defined
+      become: yes
+      block:
+        - getent:
+            database: passwd
+            key: "{{ user }}"
+        - unarchive:
+            src: skel-mini.tar.gz
+            dest: "{{ ansible_facts.getent_passwd[user][4] }}"
+            mode: u=rw,g=r,o=r
+            owner: "{{ user }}"
+