PhilippTheServer

ansible

Configuration management: roles, handlers, idempotence, and the discipline that makes it worth having.

  1. Testing Infrastructure Code by Executing Its Real Expressions

    Ansible Templar in pytest: render the shipped combine(recursive=True) expression from defaults/main.yml instead of a shallow Python paraphrase.

  2. Infrastructure as Code with Ansible: Making a Host Reproducible from the Repository

    ansible-playbook --check --diff and a changed=0 second run as proof a host matches its repository, with a container demo that corrects a hand edit.

  3. Docker Registry Credentials for Two Local Users on One Host

    "may require 'docker login'" for a deploy user after root logged in: credentials live in each user's ~/.docker/config.json. Per-user login with Ansible.

  4. Deploying Docker Compose from Ansible Without Shelling Out

    community.docker.docker_compose_v2 instead of a command task running docker compose up -d: real changed status and --check --diff support.

  5. Ansible Role Idempotence: Why a changed=0 Run Is the Only Proof You Have

    Molecule "Idempotence test failed because of the following tasks": why command, shell and timestamped templates report changed, and how to fix it.

  6. Migrating the SSH Port Mid-Playbook Without Locking Ansible Out

    Ansible meta: reset_connection after changing the sshd Port: validate with sshd -t, flush_handlers, and ping before closing the old port.

All topics · All writing