summaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2025-11-09 00:23:04 +0100
committerAhmed Abdelhalim <[email protected]>2025-11-09 01:47:00 +0100
commit399826fd634e47134feb919b0ee0805035475fc4 (patch)
tree4222cb37b1a60a56795155a0e8a7c82a140b8dd9 /roles
parent8dfbe7c57da01ed63fd059f57b8c02102ad80720 (diff)
Add password_store role
Diffstat (limited to 'roles')
-rw-r--r--roles/password_store/meta/argument_specs.yml10
-rw-r--r--roles/password_store/meta/main.yml19
-rw-r--r--roles/password_store/tasks/main.yml25
-rw-r--r--roles/password_store/vars/archlinux.yml4
-rw-r--r--roles/password_store/vars/debian.yml4
5 files changed, 62 insertions, 0 deletions
diff --git a/roles/password_store/meta/argument_specs.yml b/roles/password_store/meta/argument_specs.yml
new file mode 100644
index 00000000..4626f0d8
--- /dev/null
+++ b/roles/password_store/meta/argument_specs.yml
@@ -0,0 +1,10 @@
+---
+argument_specs:
+ main:
+ short_description: "Configure pass for unix (password store)"
+ description: "Configure pass for unix (password store)"
+ options:
+ password_store_repo_url:
+ type: "str"
+ description: "The password store git repo URL"
+ required: true
diff --git a/roles/password_store/meta/main.yml b/roles/password_store/meta/main.yml
new file mode 100644
index 00000000..7dc74b37
--- /dev/null
+++ b/roles/password_store/meta/main.yml
@@ -0,0 +1,19 @@
+---
+dependencies:
+ - role: "git"
+galaxy_info:
+ author: "a14m"
+ description: "Configure pass for unix (password store)"
+ company: "kartoffeln.work GmbH."
+ license: "MIT"
+ min_ansible_version: "2.18"
+ platforms:
+ - name: "ArchLinux"
+ versions:
+ - "all"
+ - name: "Ubuntu"
+ versions:
+ - "noble"
+ - name: "Debian"
+ versions:
+ - "bookworm"
diff --git a/roles/password_store/tasks/main.yml b/roles/password_store/tasks/main.yml
new file mode 100644
index 00000000..72df297a
--- /dev/null
+++ b/roles/password_store/tasks/main.yml
@@ -0,0 +1,25 @@
+---
+- name: "Include OS-specific variables"
+ ansible.builtin.include_vars: "{{ ansible_os_family | lower }}.yml"
+
+- name: "Ensure pass packages are installed"
+ become: true
+ ansible.builtin.package:
+ name: "{{ password_store_packages }}"
+ state: "present"
+
+- name: "Add GitHub to known_hosts"
+ ansible.builtin.known_hosts:
+ name: "github.com"
+ key: "github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl"
+ path: "{{ ansible_env.HOME }}/.ssh/known_hosts"
+ state: present
+
+- name: "Clone password store git repo"
+ ansible.builtin.git:
+ repo: "{{ password_store_repo_url }}"
+ dest: "{{ ansible_env.HOME }}/.password-store"
+ clone: true
+ update: false
+ single_branch: true
+ version: main
diff --git a/roles/password_store/vars/archlinux.yml b/roles/password_store/vars/archlinux.yml
new file mode 100644
index 00000000..ad2bce28
--- /dev/null
+++ b/roles/password_store/vars/archlinux.yml
@@ -0,0 +1,4 @@
+---
+password_store_packages:
+ - "pass"
+ - "pass-otp"
diff --git a/roles/password_store/vars/debian.yml b/roles/password_store/vars/debian.yml
new file mode 100644
index 00000000..6cb452fc
--- /dev/null
+++ b/roles/password_store/vars/debian.yml
@@ -0,0 +1,4 @@
+---
+password_store_packages:
+ - "pass"
+ - "pass-extension-otp"