Automation scripts for turning up system configuration.
+Install
+-------
+
+```
+ansible-galaxy collection install ansible.posix
+```
+
Instructions
------------
```
ansible-playbook turnup.yaml --extra-vars @<credentials_file>.yaml \
+ --extra-vars ssh_key=<path_to_ssh_public_key> \
--extra-vars key_file=<path_to_fernet_key> --ask-vault-password
```
# Copyright (c) 2023 Jakub Czajka <jakub@ekhem.eu.org>
# License: GPL-3.0 or later.
+- name: Ensure necessary users exist
+ import_playbook: users.yaml
+
- hosts: servers
vars_files:
- sources.yaml
--- /dev/null
+# Copyright (c) 2023 Jakub Czajka <jakub@ekhem.eu.org>
+# License: GPL-3.0 or later.
+
+- hosts: servers
+ tasks:
+ - name: Install git
+ package:
+ name:
+ - git
+ state: latest
+ become: yes
+ - name: Ensure user git exists
+ user:
+ name: "git"
+ become: yes
+ - name: Copy the SSH key for user git
+ authorized_key:
+ user: "git"
+ state: present
+ key: "{{ lookup('file', '{{ ssh_key }}') }}"
+ key_options: >
+ "no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty"
+ become: true
+ - name: Ensure git uses the git-web shell
+ user:
+ name: "git"
+ shell: "/usr/bin/git-shell"
+ become: yes
+ - name: Ensure user opendkim exists
+ user:
+ name: "opendkim"
+ become: yes