git clone https://github.com/opskern/ops-kernel-stack && cd ops-kernel-stack
cp ansible.cfg.example ansible.cfg
cp inventory.yml.example inventory.yml # use test hosts
cp group_vars/all/vault.yml.example group_vars/all/vault.yml
ansible-vault encrypt group_vars/all/vault.ymlAlways run --check before applying:
ansible-playbook playbooks/<playbook>.yml --check --limit <one-host>
ansible-playbook playbooks/<playbook>.yml --limit <one-host>- Task names follow
"SECTION | What this does"pattern - All playbooks must be idempotent (safe to re-run)
- Every playbook ends with a VALIDATE task
- Use
--checkguards for destructive operations:when: not ansible_check_mode - Tags:
deploy,configure,validate
- Add to
playbooks/(general) orremediation/(targeted incident response) - Replace all hardcoded IPs/usernames with variables from
group_vars/all/vars.yml - Add the playbook to the README table
- Verify zero leaks:
grep -r "your-ip\|your-username" .
- Never commit secrets. All sensitive values belong in
vault.yml. - Add new vault vars with
vault_prefix and document them invault.yml.example.
- One feature/fix per PR
- Include
--checkoutput in PR description if modifying existing playbooks - All task names must follow the naming convention