π This repository is your go-to template for creating, organizing, and managing Ansible playbooks and roles. π―
- π Pre-organized structure for playbooks, roles, and inventory files.
- π§ Best practices included for scalable automation setups.
- π Ready-to-use examples for common automation tasks.
- Sysadmins and DevOps teams automating infrastructure π οΈ
- Beginners learning Ansible through practical examples π
- Building reusable and shareable automation frameworks π
Clone, customize, and automate with ease! π€
mise install pipx
pipx install --incude-deps ansible
pipx ensurepath
To use this repository template, simply fork the repo.
gh repo fork --fork-name <FORK_NAME> --org <ORG_NAME>
Update the repository settings:
gh repo edit --add-topic devops,reliability-engineering,axes \
--add-topic infrastructure-as-code,viking,mosher-labs \
--delete-branch-on-merge --enable-discussions=false \
--enable-issues=false --enable-merge-commit=false \
--enable-projects=false --enable-rebase-merge=false \
--enable-wiki=false
Create a ruleset for the default branch.
- Ruleset Name: Default branch
- Enforcement status: Active
- Target Branches: Default
- β Restrict deletions
- β Require linear history
- β Require signed commits
- β Require a pull request before merging
- β Dismiss stale pull request approvals when new commits are pushed
- β Require conversation resolution before merging
- β Request pull request review from Copilot
- Allowed merge methods: "Squash"
- β Require status checks to pass
- β Require branches to be up to date before merging
- β Do not require status checks on creation
- Status checks that are required:
pre-commit/pre-commit
- β Block force pushes
- β Require code scanning results
Enable Dependabot.
- In Github UI, navigate to the repositories Settings > Code security
- Enable Dependabot security updates
- Enable Grouped security updates
- Enable Dependabot version updates
- Enable Dependabot on Actions runners
- CodeQL analysis > Set up > Default
- Enable Secret scanning
- Enable Push protection
Update the templated information:
-
Replace
basic-ansible-template
with your<FORK_NAME>
find . -not -path '*/\.git/*' -type f -exec \ sed -i '' -e 's/basic-ansible-template/<FORK_NAME>/g' '{}' \;
-
Update the "Introduction" section
-
Update the "Usage" section
-
Update the "Contributing" section
Upon first clone, install the pre-commit hooks.
pre-commit install
To run pre-commit hooks locally, without a git commit.
pre-commit run -a --all-files
To update pre-commit hooks, this ideally should be ran before a pull request is merged.
pre-commit autoupdate
- Setup and configure molecule tests