Ansible playbook for configuring a fresh install of Raspbian
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Glenn K. Lockwood edfd0993eb disable pi user's password 7 years ago
roles/common disable pi user's password 7 years ago
.gitignore add gitignore 7 years ago
README.md updated documentation 7 years ago
hosts added clovermine config 7 years ago
site.yml added clovermine config 7 years ago

README.md

Raspberry Pi Ansible

Glenn K. Lockwood, August 2017

Introduction

This is an Ansible configuration that configures a fresh Raspbian installation on Raspberry Pi. This is very much a work in progress and not intended to be used by anyone but me.

Bootstrapping on Raspbian

If you want to use these playbooks to make a Raspberry Pi self-configure, install Ansible by doing the following:

# pip install --user ansible
# ssh-keygen
# ssh-copy-id localhost

Note that apt-get install ansible is not a great idea because it's almost certainly out of date, and the documentation online will talk about mainline features that don't exist in the distro-provided version.

You can ensure that Ansible is able to configure using the following:

$ ansible -i hosts all -m ping

You can also ensure that authentication also works.

$ ansible -i hosts -u pi --sudo-user root all -a "/usr/bin/id -u"

Running the Playbook

Authentication will be an issue since the configuration disables the default user (pi) and adds new privileged users. This means that you will probably have to specify different --sudo-user options depending on how far into the configuration you got. For example, assuming the pi user still exists,

$ ansible-playbook --inventory-file hosts --limit clovermine --ask-sudo-pass --user pi --sudo site.yml

You will be asked for the sudo password, which is the same as pi's password (which defaults to raspberry). Once the users are set up and pi is no longer a valid user.

$ ansible-playbook -i hosts -l clovermine -K -s -U glock site.yml