# Ansible ## Setup Rename `inventory/inventory.example.yml` to `inventory/inventory.yml` and adjust the host IPs and usernames as needed. To install and use Ansible on Windows, follow the [WSL Setup Instructions](#wsl-setup-instructions) below. ## Usage run a playbook: ```bash ansible-playbook playbooks/.yml ``` run a playbook with sudo: ```bash ansible-playbook playbooks/.yml --ask-become-pass ``` ## WSL Setup Instructions To use Ansible on Windows, you need to set up Windows Subsystem for Linux (WSL). You then have the option to open a local Folder in VSCode and open a WSL terminal that points to the same folder under WSL. ---- To enable proper file permissions for Ansible on WSL, you need to configure the WSL automount settings. ```bash sudo nano /etc/wsl.conf ``` Add the following lines: ```ini [automount] enabled = true options = "metadata,umask=022,fmask=0111" ``` If you use a Network Drive, you have to mount it manually: ```bash sudo mkdir /mnt/ sudo mount -t drvfs : /mnt/ -o metadata,umask=022,fmask=0111 ``` To mount it automatically on WSL start, add the following lines to `/etc/fstab`: ```fstab : /mnt/ drvfs metadata,umask=022,fmask=0111 0 0 ``` Reload fstab: ```bash sudo mount -a ``` Remove others write permissions in your project folder: ```bash sudo chmod -R o-w . ``` ---- Install Ansible on WSL: ```bash sudo apt update sudo apt install ansible ssh-askpass ``` Add SSH Keys from Windows to WSL: ```bash cp -r /mnt/c/Users//.ssh ~/.ssh chmod 700 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub ``` Lastly, restart WSL to apply the changes: ```bash sudo shutdown -r now ```