mirror of
https://github.com/DO1JLR/ansible_linux_desktop_setup.git
synced 2024-09-14 19:54:51 +02:00
Uptimize for gopass usage
This commit is contained in:
parent
5bdfbe274b
commit
8f48aa768d
6 changed files with 61 additions and 21 deletions
38
.gitmodules
vendored
38
.gitmodules
vendored
|
@ -1,72 +1,100 @@
|
||||||
[submodule "roles/workstation_packages"]
|
[submodule "roles/workstation_packages"]
|
||||||
path = roles/workstation_packages
|
path = roles/workstation_packages
|
||||||
url = https://github.com/chaos-bodensee/role_install_workstaton_packages.git
|
url = https://github.com/chaos-bodensee/role_install_workstaton_packages.git
|
||||||
|
branch = master
|
||||||
[submodule "roles/dotfiles"]
|
[submodule "roles/dotfiles"]
|
||||||
path = roles/dotfiles
|
path = roles/dotfiles
|
||||||
url = https://github.com/chaos-bodensee/role_dotfiles.git
|
url = https://github.com/roles-ansible/ansible_role_dotfiles.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/pulseaudio"]
|
[submodule "roles/pulseaudio"]
|
||||||
path = roles/pulseaudio
|
path = roles/pulseaudio
|
||||||
url = https://github.com/chaos-bodensee/role_pulseaudio_archlinux.git
|
url = https://github.com/chaos-bodensee/role_pulseaudio_archlinux.git
|
||||||
|
branch = master
|
||||||
[submodule "roles/authorized_keys"]
|
[submodule "roles/authorized_keys"]
|
||||||
path = roles/do1jlr.auth
|
path = roles/do1jlr.auth
|
||||||
url = https://github.com/ffbsee/role-ssh_authorized_keys.git
|
url = https://github.com/roles-ansible/ansible_role_auth.git
|
||||||
|
branch = main
|
||||||
[submodule "files/admin_ssh_keys"]
|
[submodule "files/admin_ssh_keys"]
|
||||||
path = files/admin_ssh_keys
|
path = files/admin_ssh_keys
|
||||||
url = https://backwesen.de/ansible/ssh_public_keys.git
|
url = https://backwesen.de/ansible/ssh_public_keys.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/sshd"]
|
[submodule "roles/sshd"]
|
||||||
path = roles/do1jlr.sshd
|
path = roles/do1jlr.sshd
|
||||||
url = https://github.com/roles-ansible/ansible_role_sshd.git
|
url = https://github.com/roles-ansible/ansible_role_sshd.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/nextcloud"]
|
[submodule "roles/nextcloud"]
|
||||||
path = roles/nextcloud
|
path = roles/nextcloud
|
||||||
url = https://github.com/DO1JLR/role_nextcloud_client.git
|
url = https://github.com/DO1JLR/role_nextcloud_client.git
|
||||||
|
branch = master
|
||||||
[submodule "roles/ntp"]
|
[submodule "roles/ntp"]
|
||||||
path = roles/ntp
|
path = roles/ntp
|
||||||
url = https://github.com/chaos-bodensee/role-ntp.git
|
url = https://github.com/roles-ansible/ansible_role_ntp.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/arch-fonts"]
|
[submodule "roles/arch-fonts"]
|
||||||
path = roles/arch-fonts
|
path = roles/arch-fonts
|
||||||
url = https://github.com/chaos-bodensee/role-arch-fonts.git
|
url = https://github.com/chaos-bodensee/role-arch-fonts.git
|
||||||
|
branch = master
|
||||||
[submodule "roles/akku-warning"]
|
[submodule "roles/akku-warning"]
|
||||||
path = roles/akku-warning
|
path = roles/akku-warning
|
||||||
url = https://github.com/roles-ansible/role_akku_warning.git
|
url = https://github.com/roles-ansible/role_akku_warning.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/install-firefox"]
|
[submodule "roles/install-firefox"]
|
||||||
path = roles/install-firefox
|
path = roles/install-firefox
|
||||||
url = https://github.com/roles-ansible/ansible_role_install_firefox.git
|
url = https://github.com/roles-ansible/ansible_role_install_firefox.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/xrandr"]
|
[submodule "roles/xrandr"]
|
||||||
path = roles/xrandr
|
path = roles/xrandr
|
||||||
url = https://github.com/chaos-bodensee/role-xrandr.git
|
url = https://github.com/roles-ansible/ansible_role_xrandr_help.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/winehq"]
|
[submodule "roles/winehq"]
|
||||||
path = roles/winehq
|
path = roles/winehq
|
||||||
url = https://github.com/ekultails/ansible_role_wine.git
|
url = https://github.com/ekultails/ansible_role_wine.git
|
||||||
|
branch = master
|
||||||
[submodule "roles/no-sleep"]
|
[submodule "roles/no-sleep"]
|
||||||
path = roles/no-sleep
|
path = roles/no-sleep
|
||||||
url = https://github.com/chaos-bodensee/role_disable_sleep.git
|
url = https://github.com/chaos-bodensee/role_disable_sleep.git
|
||||||
|
branch = master
|
||||||
[submodule "roles/manage_users"]
|
[submodule "roles/manage_users"]
|
||||||
path = roles/do1jlr.users
|
path = roles/do1jlr.users
|
||||||
url = https://github.com/chaos-bodensee/role-manage_users.git
|
url = https://github.com/roles-ansible/ansible_role_users.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/polybar"]
|
[submodule "roles/polybar"]
|
||||||
path = roles/polybar
|
path = roles/polybar
|
||||||
url = https://github.com/chaos-bodensee/role_install-polybar.git
|
url = https://github.com/chaos-bodensee/role_install-polybar.git
|
||||||
|
branch = master
|
||||||
[submodule "roles/ansible_version"]
|
[submodule "roles/ansible_version"]
|
||||||
path = roles/ansible_version
|
path = roles/ansible_version
|
||||||
url = https://github.com/chaos-bodensee/role-ansible_version.git
|
url = https://github.com/chaos-bodensee/role-ansible_version.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/base"]
|
[submodule "roles/base"]
|
||||||
path = roles/do1jlr.base
|
path = roles/do1jlr.base
|
||||||
url = https://github.com/roles-ansible/ansible_role_base.git
|
url = https://github.com/roles-ansible/ansible_role_base.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/bat"]
|
[submodule "roles/bat"]
|
||||||
path = roles/bat
|
path = roles/bat
|
||||||
url = https://github.com/gantsign/ansible_role_bat.git
|
url = https://github.com/gantsign/ansible_role_bat.git
|
||||||
|
branch = master
|
||||||
[submodule "roles/amdgpu_firmware"]
|
[submodule "roles/amdgpu_firmware"]
|
||||||
path = roles/amdgpu_firmware
|
path = roles/amdgpu_firmware
|
||||||
url = https://github.com/DO1JLR/ansible_role_amdgpu_firmware.git
|
url = https://github.com/DO1JLR/ansible_role_amdgpu_firmware.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/do1jlr.avahi"]
|
[submodule "roles/do1jlr.avahi"]
|
||||||
path = roles/do1jlr.avahi_daemon
|
path = roles/do1jlr.avahi_daemon
|
||||||
url = https://github.com/roles-ansible/ansible_role_avahi_daemon.git
|
url = https://github.com/roles-ansible/ansible_role_avahi_daemon.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/do1jlr.avahi_client"]
|
[submodule "roles/do1jlr.avahi_client"]
|
||||||
path = roles/do1jlr.avahi_client
|
path = roles/do1jlr.avahi_client
|
||||||
url = https://github.com/roles-ansible/ansible_role_avahi_client.git
|
url = https://github.com/roles-ansible/ansible_role_avahi_client.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/do1jlr.i3wm"]
|
[submodule "roles/do1jlr.i3wm"]
|
||||||
path = roles/do1jlr.i3wm
|
path = roles/do1jlr.i3wm
|
||||||
url = https://github.com/roles-ansible/ansible_role_i3wm.git
|
url = https://github.com/roles-ansible/ansible_role_i3wm.git
|
||||||
|
branch = main
|
||||||
[submodule "roles/do1jlr.htop"]
|
[submodule "roles/do1jlr.htop"]
|
||||||
path = roles/do1jlr.htop
|
path = roles/do1jlr.htop
|
||||||
url = https://github.com/roles-ansible/ansible_role_htop.git
|
url = https://github.com/roles-ansible/ansible_role_htop.git
|
||||||
|
branch = main
|
||||||
|
[submodule "collections/ansible_collections/community/general"]
|
||||||
|
path = collections/ansible_collections/community/general
|
||||||
|
url = https://github.com/ansible-collections/community.general.git
|
||||||
|
branch = main
|
||||||
|
|
|
@ -54,3 +54,7 @@ Or create a new git repo and be inspired by the roles L3D uses.
|
||||||
If you find this usefull please take a few secounds and say thankyou to L3D.
|
If you find this usefull please take a few secounds and say thankyou to L3D.
|
||||||
|
|
||||||
He is at the most [chaos events](https://events.ccc.de), simple give him a Tschunk or Club Mate there!
|
He is at the most [chaos events](https://events.ccc.de), simple give him a Tschunk or Club Mate there!
|
||||||
|
|
||||||
|
Additional Infos
|
||||||
|
------------------
|
||||||
|
By the way, to store sensible passwords, I am using the [community.general.passwordstore](https://docs.ansible.com/ansible/latest/collections/community/general/passwordstore_lookup.html) Lookup to access my passwords, stored in [gopass](https://gopass.pw/) Password Manager.
|
||||||
|
|
|
@ -8,3 +8,6 @@ interpreter_python = /usr/bin/python3
|
||||||
[privilege_escalation]
|
[privilege_escalation]
|
||||||
become_method = sudo
|
become_method = sudo
|
||||||
become_user = root
|
become_user = root
|
||||||
|
|
||||||
|
[passwordstore_lookup]
|
||||||
|
backend = "gopass"
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 42bc2cb4d8a61b9f4f501cd45017101f743c858c
|
21
inventory.py
21
inventory.py
|
@ -24,6 +24,13 @@ def fqdn():
|
||||||
hostname = f"{hostname}.local"
|
hostname = f"{hostname}.local"
|
||||||
return str(hostname)
|
return str(hostname)
|
||||||
|
|
||||||
|
def become_pass(host):
|
||||||
|
"""
|
||||||
|
return variable for become password using gopass lookup
|
||||||
|
"""
|
||||||
|
passstring = str("\"ansible_become_pass\": \"{{ lookup('community.general.passwordstore', 'ansible/hosts/" + host + "/users/root') }}\"")
|
||||||
|
return passstring
|
||||||
|
|
||||||
def env(domain):
|
def env(domain):
|
||||||
"""
|
"""
|
||||||
map a hostname to a space
|
map a hostname to a space
|
||||||
|
@ -47,7 +54,7 @@ def hostvars(host):
|
||||||
"""
|
"""
|
||||||
set variables to local connection
|
set variables to local connection
|
||||||
"""
|
"""
|
||||||
local = str('"' + host + '": {"ansible_connection": "local"}')
|
local = str('"' + host + '": {"ansible_connection": "local", ' + str(become_pass(host)) + '}')
|
||||||
return local
|
return local
|
||||||
|
|
||||||
def formated_host_group_list(host, group):
|
def formated_host_group_list(host, group):
|
||||||
|
@ -68,16 +75,4 @@ def main():
|
||||||
group = env(host)
|
group = env(host)
|
||||||
print(json.dumps(formated_host_group_list(host, group), sort_keys=True, indent=2))
|
print(json.dumps(formated_host_group_list(host, group), sort_keys=True, indent=2))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#{
|
|
||||||
# "_meta": {
|
|
||||||
# "hostvars": { }
|
|
||||||
# },
|
|
||||||
#
|
|
||||||
# "instances": {
|
|
||||||
# "hosts": ["10.66.70.33"]
|
|
||||||
# }
|
|
||||||
# }
|
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
|
15
site.yml
15
site.yml
|
@ -1,11 +1,20 @@
|
||||||
---
|
---
|
||||||
- name: check if ansible is not to old
|
- name: check if ansible is not to old
|
||||||
hosts: localhost
|
hosts: all
|
||||||
roles:
|
roles:
|
||||||
- {role: ansible_version, tags: always, gather_facts: false}
|
- {role: ansible_version, tags: always, gather_facts: false}
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
hosts: all
|
||||||
|
tasks:
|
||||||
|
- name: TEST1
|
||||||
|
ansible.builtin.debug:
|
||||||
|
msg: "{{ ansible_become_pass }}"
|
||||||
|
- name: T2
|
||||||
|
ansible.builtin.debug:
|
||||||
|
msg: "{{ lookup('community.general.passwordstore', 'ansible/hosts/rarity.local/users/root') }}"
|
||||||
- name: run do1jlr.base setup roles
|
- name: run do1jlr.base setup roles
|
||||||
hosts: localhost
|
hosts: all
|
||||||
roles:
|
roles:
|
||||||
#- {role: do1jlr.base, tags: [default, packages, base]}
|
#- {role: do1jlr.base, tags: [default, packages, base]}
|
||||||
#- {role: workstation_packages, tags: [default, workstation_packages, packages, setup]}
|
#- {role: workstation_packages, tags: [default, workstation_packages, packages, setup]}
|
||||||
|
@ -15,7 +24,7 @@
|
||||||
#- {role: arch-fonts, tags: [font, fonts, arch-fonts]}
|
#- {role: arch-fonts, tags: [font, fonts, arch-fonts]}
|
||||||
|
|
||||||
#- name: user specific setup
|
#- name: user specific setup
|
||||||
# hosts: localhost
|
# hosts: private
|
||||||
# roles:
|
# roles:
|
||||||
#- {role: dotfiles, tags: [default, dotfiles, fancy]}
|
#- {role: dotfiles, tags: [default, dotfiles, fancy]}
|
||||||
#- {role: manage_users, tags: [ssh, manage, manage_users]}
|
#- {role: manage_users, tags: [ssh, manage, manage_users]}
|
||||||
|
|
Loading…
Reference in a new issue