gileri / ansible-scripts

Ansible commands for servers handled by Openstreetmap-France

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ansible scripts to handle OSM-FR machines

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.

Configuring 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 ansible python-jmespath

To install VM through proxmox, python promoxer module is necessary, It can be installed with:

sudo pip install proxmoxer

Using ansible scripts

Installation and configuration of a new VM with proxmox

  1. launch ./tools/add-vm.py to update file hosts and create proxmox configuration. Command line options are available to change parameters like number of cpus or size of disk.
  2. set shell variables PROXMOX_PASSWORD and PROXMOX_SSHPUBKEY
  3. launch following command to create VM, configure network on host for ipv6 access, and update local /etc/hosts to access VM before DNS update:
    ansible-playbook -u root -l <hostname> common.yml

Configuration of a new machine with default configuration

  1. add the machine to file hosts, in section [vm] if it is a virtual machine, at the top otherwise.
  2. launch following command:
    ansible-playbook -l <hostname> common.yml

Adding a new user to a specific machine

  1. add the machine to file hosts, in the relevant section [user]
  2. if necessary, add the user to roles/common/tasks/main.yml, with the public ssh key in public\_keys/<user>
  3. launch following command:
    ansible-playbook -l <hostname> common.yml --tags user_creation

Adding a service to a specific machine

  1. add the machine to file hosts, in the relevant section [service]
  2. launch following command:
    ansible-playbook -l <hostname> <service>.yml

About

Ansible commands for servers handled by Openstreetmap-France

License:GNU General Public License v2.0


Languages

Language:Python 49.3%Language:Shell 43.6%Language:HTML 7.1%