Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/yoshz/ansible-digitalocean
DIgital Ocean Ansible playbooks
https://github.com/yoshz/ansible-digitalocean
ansible digital-ocean digital-ocean-bootstrap playbook
Last synced: 3 months ago
JSON representation
DIgital Ocean Ansible playbooks
- Host: GitHub
- URL: https://github.com/yoshz/ansible-digitalocean
- Owner: yoshz
- Archived: true
- Created: 2014-11-21T19:29:55.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2017-02-11T18:41:07.000Z (over 7 years ago)
- Last Synced: 2024-07-30T10:33:37.098Z (3 months ago)
- Topics: ansible, digital-ocean, digital-ocean-bootstrap, playbook
- Language: JavaScript
- Size: 12.7 KB
- Stars: 83
- Watchers: 7
- Forks: 31
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-list-ansible - ansible-digitalocean
README
Digital Ocean Bootstrap
=======================Bootstrap Digital Ocean droplets using Ansible to:
* Configure SSH key
* Launch a droplet
* Configure DNS domain
* Destroy dropletInspired by [hostmaster/ansible-digitalocean-bootstrap](https://github.com/hostmaster/ansible-digitalocean-bootstrap).
Installation
------------* Install [Ansible 2.0](http://docs.ansible.com/ansible/intro_installation.html)
* Make sure your python path is configured correctly. For example:
```
# On Ubuntu
export PYTHONPATH=/usr/local/lib/python2.7/site-packages
# On OS X
export PYTHONPATH=/Library/Python/2.7/site-packages
```* Copy vars.yml.dist to vars.yml and change the variables to your need.
Digital Ocean configuration
---------------------------Create a new API key on the [API access page](https://cloud.digitalocean.com/api_access).
Add the api_token to `vars.yml`.Playbooks
=========launch.yml
----------Launch and provision a new server on Digital Ocean.
```
ansible-playbook -i hosts launch.yml
```What this Playbook do for you?
- configure swap file
- install ufw, fail2ban
- configure ufw allow ports for SSH
- make sshd more secure:
- PermitRootLogin=no
- PasswordAuthentication=no
- AllowGroups=sudo
- config sudoersdestroy.yml
-----------Destroys a server on Digital Ocean.
```
ansible-playbook -i hosts destroy.yml
```Known issues
------------* dopy 0.3.7 is broken (error "name 'DoError' is not defined").
Downgrade use version 0.3.5 using `pip install dopy==0.3.5`.* digital_ocean_domain is broken (error "'Domain' object has no attribute 'id'") when you run the plabook the second time.
Keep the "DNS name" empty to avoid this error.