diff options
author | Emil Renner Berthing <esmil@labitat.dk> | 2018-10-03 15:34:01 +0200 |
---|---|---|
committer | Emil Renner Berthing <esmil@labitat.dk> | 2018-10-03 21:08:21 +0200 |
commit | b478f515c9f893c6e7b70ac142ab91d7d3837e33 (patch) | |
tree | 837443b16eab179bbed1b341c95f9896045e2f96 /roles/raspbian-template | |
parent | 2013899ce249fd316d7b3df9a4d79b8936bf0b1c (diff) | |
download | labitat-ansible-b478f515c9f893c6e7b70ac142ab91d7d3837e33.tar.gz labitat-ansible-b478f515c9f893c6e7b70ac142ab91d7d3837e33.tar.xz labitat-ansible-b478f515c9f893c6e7b70ac142ab91d7d3837e33.zip |
raspbian-template: add rpi example role
Diffstat (limited to 'roles/raspbian-template')
-rw-r--r-- | roles/raspbian-template/README.md | 55 | ||||
-rw-r--r-- | roles/raspbian-template/files/eth0.network | 6 | ||||
-rw-r--r-- | roles/raspbian-template/meta/main.yml | 6 | ||||
-rw-r--r-- | roles/raspbian-template/tasks/main.yml | 12 | ||||
-rw-r--r-- | roles/raspbian-template/vars/main.yml | 12 |
5 files changed, 91 insertions, 0 deletions
diff --git a/roles/raspbian-template/README.md b/roles/raspbian-template/README.md new file mode 100644 index 0000000..7a91651 --- /dev/null +++ b/roles/raspbian-template/README.md @@ -0,0 +1,55 @@ +raspbian-template +================= + +About +----- + +This is a template for an ansible role setting up a +[Raspberry Pi][rpi] running [Raspbian][raspbian]. + +[rpi]: https://www.raspberrypi.org +[raspbian]: https://www.raspbian.org + +Bootstrap a new Raspberry Pi +---------------------------- + +Download a "Lite" image from the Raspberry Pi [homepage][downloads], +and write it to your sd-card as described on that page. + +Before removing the sd-card from your computer make sure to mount +the vfat filesystem on the first partition and create an (empty) +file called "ssh". This enables an [SSH][ssh] daemon on boot so +you and Ansible can log into it on boot. + +Now move your sd-card to the Raspberry Pi, connect an ethernet cable +and lastly the power. +Once you figure out the ip address of the Raspberry Pi you can run +the following command to bootstrap it: + +```sh +ansible-playbook -D \ + -i raspbian-template, \ + -e ansible_host=<ip address> \ + -e ansible_ssh_user=pi \ + -e ansible_ssh_pass=raspberry \ + raspbian-template.yml +``` + +Now go buy a Mate or something. This will take a long time.. + +Once it finishes you should have a fully upgraded Raspbian +with all the Labitat users and their ssh keys in place. +Hence you should now be able run ansible with your own +ssh user. Eg. just + +```sh +ansible-playbook -D \ + -i raspbian-template, \ + -e ansible_host=<ip address> \ + raspbian-template.yml +``` + +Now is a good time to ssh into it and reboot it, +so it uses the new network setup after boot. + +[ssh]: https://en.wikipedia.org/wiki/Secure_Shell diff --git a/roles/raspbian-template/files/eth0.network b/roles/raspbian-template/files/eth0.network new file mode 100644 index 0000000..3e351ea --- /dev/null +++ b/roles/raspbian-template/files/eth0.network @@ -0,0 +1,6 @@ +[Match] +Name=eth0 + +[Network] +DHCP=yes +IPv6AcceptRA=yes diff --git a/roles/raspbian-template/meta/main.yml b/roles/raspbian-template/meta/main.yml new file mode 100644 index 0000000..731a8f2 --- /dev/null +++ b/roles/raspbian-template/meta/main.yml @@ -0,0 +1,6 @@ +--- +dependencies: +- role: raspbian +- role: users + +# vim: set ts=2 sw=2 et: diff --git a/roles/raspbian-template/tasks/main.yml b/roles/raspbian-template/tasks/main.yml new file mode 100644 index 0000000..31f91f5 --- /dev/null +++ b/roles/raspbian-template/tasks/main.yml @@ -0,0 +1,12 @@ +--- +- name: Install network configuration + copy: + dest: '/etc/systemd/network/10-eth0.network' + src: eth0.network + owner: root + group: root + mode: 0644 + tags: + - networkd-config + +# vim: set ts=2 sw=2 et: diff --git a/roles/raspbian-template/vars/main.yml b/roles/raspbian-template/vars/main.yml new file mode 100644 index 0000000..21e034c --- /dev/null +++ b/roles/raspbian-template/vars/main.yml @@ -0,0 +1,12 @@ +--- +hostname: 'raspbian-template' + +apt_sources: + raspbian: + components: + - main + - contrib + - no-free + - rpi + +# vim: set ts=2 sw=2 et: |