fine tuned storage creation and attachment

This commit is contained in:
Thomas von Dein 2024-11-16 18:55:47 +01:00
parent 5a0e645bed
commit c0f1f9051e
6 changed files with 54 additions and 22 deletions

View File

@ -2,17 +2,8 @@
hosts: localhost
connection: local
# FIXME: create volume role
tasks:
- name: Create the home volume
hetzner.hcloud.volume:
# FIXME: put to vars
# FIXME: add mount to server
# FIXME: gpart create -s GPT da1 && gpart add -t freebsd-zfs -l storage -a 1M da1 && zpool create -f home da1
name: home
location: fsn1
format: ext4
size: 100
state: present
roles:
- storage
- name: Create BSDNIX Servers
hosts: vps

View File

@ -22,3 +22,10 @@ ssh_keys:
jails:
pubnix:
octet: 2
storage:
home:
size: 10
name: zhcloud # zfs pool name
mount: /home
device: da1

View File

@ -1,6 +1,6 @@
---
- name: Create server
hcloud_server:
hetzner.hcloud.server:
name: "{{ hostname }}"
server_type: "{{ type }}"
image: "{{ image }}"
@ -8,12 +8,12 @@
enable_ipv4: false
state: present
ssh_keys: "{{ ssh_keys }}"
# FIXME: https://github.com/ansible-collections/hetzner.hcloud/issues/585
#volumes: "{{ storage.home.name }}"
register: server
# - command: which python
# register: result
# - name: Install Packages
# community.general.pkgng:
# state: present
# name: "{{ packages }}"
- name: Attach the home volume
hetzner.hcloud.volume:
name: "{{ storage.home.name }}"
server: "{{ hostname }}"
state: present

View File

@ -1,7 +1,7 @@
---
- name: Remove volume
hetzner.hcloud.volume:
name: home
name: "{{ storage.home.name }}"
state: absent
- name: Remove server

View File

@ -4,6 +4,33 @@
state: present
name: "{{ packages }}"
- command: which cpdup
register: result
# FIXME: remove the symlink in the release snapshot
- name: Remove old home sym link
shell: |
rm /home
touch /tmp/.ansible.home
args:
creates: "/tmp/.ansible.home"
- name: Setup home volume partition
shell: |
gpart create -s GPT da1
touch /tmp/.ansible.gpt
args:
creates: "/tmp/.ansible.gpt"
- name: Setup home fs type
shell: "gpart add -t freebsd-zfs -l {{ storage.home.name }} -a 1M {{ storage.home.device }}"
args:
creates: "/dev/da1p1"
- name: Create zpool using home volume
shell: "zpool create -f {{ storage.home.name }} {{ storage.home.device }}"
args:
creates: "/{{ storage.home.name }}"
- name: Create zfs home dataset
shell: "zfs create -o mountpoint={{ storage.home.mount }} {{ storage.home.name }}/home"
args:
creates: "/home"

View File

@ -0,0 +1,7 @@
---
- name: Create the home volume
hetzner.hcloud.volume:
name: "{{ storage.home.name }}"
location: "{{ location }}"
size: "{{ storage.home.size }}"
state: present