This repository contains various scripts to setup and configure machines handled by OSM-FR association (a french association for OpenStreetMap). These scripts are used with ansible.
A version of ansible >= 2.3 is sufficient, and is available in Debian, or from git repository. To install all dependency on Debian, use:
apt-get install ansibleTo install VM through proxmox, python promoxer module is necessary, It can be installed with:
apt-get install python3-proxmoxervenv module creates isolated Python environments.
First of all, install the required packages. On Debian, use:
apt-get install python3 python3-venvYou can jump into a new isolated environments using:
python3 -m venv <folder> # Create the environment, only needs to be done once
source <folder>/bin/activate # Run a subshell using the environment Then, install the required packages:
pip install -r requirements.txtNote: The created environment folder should be placed outside this project folder to prevent ansible-lint from looking at it.
- launch
./tools/add-vm.pyto update filehostsand create proxmox configuration. Command line options are available to change parameters like number of cpus or size of disk. - set shell variables
PROXMOX_PASSWORDandPROXMOX_SSHPUBKEY - launch following command to create VM, configure network on host for ipv6 access, and update local
/etc/hoststo access VM before DNS update:ansible-playbook -u root -l <hostname> common.yml
- add the machine to file
hosts, in section[vm]if it is a virtual machine, at the top otherwise. - launch following command:
ansible-playbook -l <hostname> common.yml
- add the machine to file
hosts, in the relevant section[user] - if necessary, add the user to
group_vars/all/accounts.yml, with the public ssh key inpublic\_keys/<user> - launch following command:
ansible-playbook -l <hostname> accounts.yml
- add the machine to file
hosts, in the relevant section[service] - launch following command:
ansible-playbook -l <hostname> <service>.yml