jasonheecs.digitalocean
Rola Ansible: Tworzenie Dropletów w DigitalOcean
To jest rola Ansible, która tworzy droplet w DigitalOcean i dodaje adres IP dropletu do pliku inwentarza.
Wymagania
Brak.
Instalacja
ansible-galaxy install jasonheecs.digitalocean
Zmienne Roli
Zmienne roli są wymienione w pliku defaults/main.yml
, a wrażliwe zmienne (jak token API DigitalOcean) powinny być wymienione w vars/private.yml
.
Dostępne zmienne są podane poniżej, wraz z domyślnymi wartościami (zobacz defaults/main.yml
i vars/private.yml.example
):
# Identyfikator klucza SSH w Twoim koncie DigitalOcean
do_ssh_key_name: Ansible SSH Key
# Publiczny klucz SSH do dodania do Twojego konta
do_ssh_pub_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
# Prywatny klucz używany do połączenia SSH z Twoim dropletem
do_ssh_private_key: "~/.ssh/id_rsa"
# Nazwa dropletu
droplet_name: test-droplet
# To jest slug regionu, w którym chcesz utworzyć serwer.
droplet_region_id: sgp1
# To jest slug rozmiaru, z którym chcesz utworzyć droplet.
droplet_size_id: 512mb
# To jest slug obrazu, z którym chcesz utworzyć droplet.
droplet_image_id: ubuntu-18-04-x64
# Lokalizacja Twojego pliku inwentarza Ansible
ansible_inventory_file: hosts.ini
# Nazwa grupy używana do grupowania dropletów w pliku inwentarza
droplets_inventory_group: do_droplets
# Twój token dostępu osobistego DigitalOcean (https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-api-v2)
do_api_token: inserttokenhere
# Dodatkowe klucze SSH do dodania do dropletu w trakcie procesu tworzenia (https://developers.digitalocean.com/documentation/v2/#ssh-keys)
droplet_additional_ssh_key_ids: []
Zależności
Brak.
Przykładowe Playbooki
Playbook, który uruchamia tę rolę na zdalnej maszynie:
- hosts: all
become: no
roles:
- { role: jasonheecs.digitalocean }
Playbook, który uruchamia tę rolę na lokalnej maszynie:
- hosts: localhost
connection: local
become: no
roles:
- { role: jasonheecs.digitalocean }
Zobacz przykładowy playbook tutaj.
Testy
Automatyczne testowanie jest przeprowadzane za pomocą Test Kitchen, Kitchen Ansible i Kitchen Docker
Aby przeprowadzić testy, upewnij się, że Ruby i Docker są zainstalowane, a następnie uruchom:
gem install bundler && bundle exec kitchen test
Zobacz plik travis.yml oraz logi budowy Travis dla szczegółów dotyczących procesu budowy testów oraz oczekiwanych wyników.
Obsługiwane Platformy
Ta rola Ansible była testowana w stosunku do następujących platform:
- macOS Sierra
- macOS High Sierra
- Ubuntu 16.04
- Ubuntu 14.04
- CentOS 7
- Debian 9
Licencja
MIT
Informacje o Autorze
ansible-galaxy install jasonheecs.digitalocean