Minimal shell setup for colo server.

This commit is contained in:
Tom Alexander 2023-05-27 23:10:44 -04:00
parent d5a9ba5a84
commit 6691cca055
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE
9 changed files with 23 additions and 41 deletions

View File

@ -0,0 +1,4 @@
os_flavor: "freebsd"
zfs_snapshot_datasets:
- zroot/freebsd/main/be
sshd_enabled: true

View File

@ -0,0 +1,2 @@
[server]
mrmanager ansible_user=root ansible_host=74.80.180.138

View File

@ -1,4 +1,4 @@
- hosts: all:!jail:!vm
- hosts: all:!jail:!vm:!server
vars:
ansible_become: True
roles:
@ -61,3 +61,17 @@
roles:
- portshaker
- poudriere
- hosts: mrmanager
vars:
ansible_become: True
roles:
- sudo
- doas
- users
- package_manager
- zfs
- zrepl
- zsh
- network
- sshd

View File

@ -9,13 +9,3 @@
- import_tasks: tasks/linux.yaml
when: 'os_flavor == "linux"'
- include_tasks:
file: tasks/peruser.yaml
apply:
become: yes
become_user: "{{ initialize_user }}"
when: users is defined
loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}"
loop_control:
loop_var: initialize_user

View File

@ -1,29 +0,0 @@
- include_role:
name: per_user
# - name: Create directories
# file:
# name: "{{ account_homedir.stdout }}/{{ item }}"
# state: directory
# mode: 0700
# owner: "{{ account_name.stdout }}"
# group: "{{ group_name.stdout }}"
# loop:
# - ".config/foo"
# - name: Copy files
# copy:
# src: "files/{{ item.src }}"
# dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
# mode: 0600
# owner: "{{ account_name.stdout }}"
# group: "{{ group_name.stdout }}"
# loop:
# - src: foo.conf
# dest: .config/foo/foo.conf
- import_tasks: tasks/peruser_freebsd.yaml
when: 'os_flavor == "freebsd"'
- import_tasks: tasks/peruser_linux.yaml
when: 'os_flavor == "linux"'

View File

@ -9,4 +9,3 @@ users:
- yubikey
- main_fido
- backup_fido
- homeassistant

View File

@ -28,6 +28,8 @@ elif [ "$target" = "jail_homeserver_nat_dhcp" ]; then
ansible-playbook -v -i environments/jail playbook.yaml --diff --limit homeserver_nat_dhcp "${@}"
elif [ "$target" = "vm_poudriereodo" ]; then
ansible-playbook -v -i environments/vm playbook.yaml --diff --limit poudriereodo "${@}"
elif [ "$target" = "mrmanager" ]; then
ansible-playbook -v -i environments/colo playbook.yaml --diff --limit mrmanager "${@}"
else
die 1 "Unrecognized target"
fi