The half-disk LV pattern affects ~90% of mk-labs VMs. Treating the
fix-up as application-specific (as it was in day1_deploy_honcho.yml)
means future deploys would each carry the same boilerplate, and any
day1 author could forget it.
This commit:
* Adds playbooks/day0_expand_root_lv.yml — standalone day0 step,
targets {{ target | default("all") }}, honors a per-host
expand_root_lv_skip opt-out for multi-LV layouts.
* Adds playbooks/day0_provision.yml — umbrella playbook chaining
day0_linux_baseline + day0_expand_root_lv, so the operator runs
ONE command per new VM.
* Removes expand_root_lv from day1_deploy_honcho.yml — day0 is
assumed complete before day1 begins (cleaner separation of
concerns, matches the convention day1_deploy_semaphore already
follows).
* Updates the role README to document the lifecycle position and
the opt-out flag for hosts with multi-LV plans.
31 lines
1.3 KiB
YAML
31 lines
1.3 KiB
YAML
---
|
|
# ============================================================================
|
|
# day0_provision.yml
|
|
# ----------------------------------------------------------------------------
|
|
# Umbrella day0 playbook. Runs the full host-provisioning lifecycle in
|
|
# the correct order against newly-built VMs, so the operator runs ONE
|
|
# command per new host rather than chaining day0 steps manually.
|
|
#
|
|
# Order matters:
|
|
# 1. linux-baseline — timezone, NTP, packages, SSH hardening, jarvis user
|
|
# 2. expand_root_lv — reclaim PE left unallocated by the Ubuntu
|
|
# autoinstall template default
|
|
#
|
|
# Idempotent: every step is safe to re-run. Suitable to apply periodically
|
|
# from Semaphore as a baseline-drift check.
|
|
#
|
|
# Usage:
|
|
# ansible-playbook playbooks/day0_provision.yml -e target=lincoln
|
|
# ansible-playbook playbooks/day0_provision.yml -e target=honcho_server
|
|
#
|
|
# For finer control over a single phase, the constituent playbooks are:
|
|
# playbooks/day0_linux_baseline.yml
|
|
# playbooks/day0_expand_root_lv.yml
|
|
# ============================================================================
|
|
|
|
- name: Import day0 linux baseline
|
|
ansible.builtin.import_playbook: day0_linux_baseline.yml
|
|
|
|
- name: Import day0 expand root LV
|
|
ansible.builtin.import_playbook: day0_expand_root_lv.yml
|