jasonheecs.digitalocean

Ansible-Rolle: Erstellung von DigitalOcean Droplets

Build-Status Galaxy-Rolle

Eine Ansible-Rolle, die einen DigitalOcean-Droplet erstellt und die IP-Adresse des Droplets zur Inventardatei hinzufügt.

Voraussetzungen

Keine.

Installation

ansible-galaxy install jasonheecs.digitalocean

Rollenvariablen

Rollenspezifische Variablen sind in defaults/main.yml aufgeführt, und sensible Variablen (wie dein DigitalOcean API-Token) sollten in vars/private.yml aufgeführt werden.

Verfügbare Variablen sind unten aufgelistet, zusammen mit Standardwerten (siehe defaults/main.yml und vars/private.yml.example):

# SSH-Schlüsselidentifikator in deinem DigitalOcean-Konto
do_ssh_key_name: Ansible SSH Schlüssel
# Öffentlicher SSH-Schlüssel, der zu deinem Konto hinzugefügt wird
do_ssh_pub_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
# Privater Schlüssel zum SSH-Zugriff auf deinen Droplet
do_ssh_private_key: "~/.ssh/id_rsa"

# Name des Droplets
droplet_name: test-droplet
# Dies ist der Slug der Region, in der du deinen Server erstellen möchtest.
droplet_region_id: sgp1
# Dies ist der Slug der Größe, mit der der Droplet erstellt werden soll.
droplet_size_id: 512mb
# Dies ist der Slug des Images, mit dem der Droplet erstellt werden soll.
droplet_image_id: ubuntu-18-04-x64

# Speicherort deiner Ansible-Inventardatei
ansible_inventory_file: hosts.ini
# Der Gruppenname, der für die Gruppierung deiner Droplets in deiner Inventardatei verwendet wird
droplets_inventory_group: do_droplets

# Dein persönlicher DigitalOcean-Zugangstoken (https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-api-v2)
do_api_token: inserttokenhere
# Zusätzliche SSH-Schlüssel, die während des Erstellungsprozesses zum Droplet hinzugefügt werden (https://developers.digitalocean.com/documentation/v2/#ssh-keys)
droplet_additional_ssh_key_ids: []

Abhängigkeiten

Keine.

Beispiel-Playbooks

Ein Playbook, das diese Rolle auf einem Remote-Computer ausführt:

- hosts: all
  become: no
  roles:
    - { role: jasonheecs.digitalocean }

Ein Playbook, das diese Rolle auf deinem lokalen Computer ausführt:

- hosts: localhost
  connection: local
  become: no
  roles:
    - { role: jasonheecs.digitalocean }

Siehe ein Beispiel-Playbook hier.

Tests

Automatisierte Tests werden über Test Kitchen, Kitchen Ansible und Kitchen Docker durchgeführt.

Um die Tests auszuführen, stelle sicher, dass Ruby und Docker installiert sind, und führe Folgendes aus:

gem install bundler && bundle exec kitchen test

Siehe die travis.yml-Datei und Travis-Baulinien für Details zum Testprozess und den erwarteten Ausgaben.

Unterstützte Plattformen

Diese Ansible-Rolle wurde auf folgenden Plattformen getestet:

  • macOS Sierra
  • macOS High Sierra
  • Ubuntu 16.04
  • Ubuntu 14.04
  • CentOS 7
  • Debian 9

Lizenz

MIT

Autor Informationen

Jason Hee

Über das Projekt

Create DigitalOcean droplet via Ansible

Installieren
ansible-galaxy install jasonheecs.digitalocean
Lizenz
mit
Downloads
1.4k
Besitzer