Security hardening role for Linux systems.
curl https://mise.run | shcurl -LsSf https://astral.sh/uv/install.sh | shmise run setupThis will:
- Install Python 3.14 and Ansible via mise
- Create a virtual environment
- Install all Python dependencies
Run tasks using mise run <task>:
mise run setup # Set up development environment
mise run install # Install Python dependencies
mise run lint # Run linters (ansible-lint, yamllint)
mise run test # Run full Molecule test suite
mise run test-converge # Run Molecule converge (faster for development)
mise run clean # Clean up generated files and cachesYou can also use mise tasks to see all available tasks.
-
Set up your environment:
mise run setup
-
Make changes to the role:
- Edit files in
tasks/,defaults/,handlers/, etc.
- Edit files in
-
Lint your changes:
mise run lint
-
Test with Molecule:
# Quick iteration mise run test-converge # Full test suite mise run test
-
Install pre-commit hooks (optional but recommended):
uv run pre-commit install
ansible-role-security/
├── defaults/ # Default variables
├── tasks/ # Task definitions
├── handlers/ # Handler definitions
├── templates/ # Jinja2 templates
├── files/ # Static files
├── vars/ # Other variables
├── meta/ # Role metadata
└── molecule/ # Molecule test scenarios
└── default/ # Default test scenario
Available variables are listed below, along with default values (see defaults/main.yml):
security_enabled: trueNone.
- hosts: servers
become: true
roles:
- role: ansible-role-securityThis role uses Molecule for testing.
mise run testmise run test-convergeuv run molecule create # Create test instance
uv run molecule converge # Run the role
uv run molecule verify # Run verification tests
uv run molecule destroy # Destroy test instanceGPL-3.0
This role was created by [your_name].