jasonheecs.digitalocean

Rola Ansible: Tworzenie Dropletów w DigitalOcean

Status budowy Rola Galaxy

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

Jason Hee

O projekcie

Create DigitalOcean droplet via Ansible

Zainstaluj
ansible-galaxy install jasonheecs.digitalocean
Licencja
mit
Pobrania
1.4k
Właściciel