stancel.create-digitalocean-droplet
create-digitalocean-droplet
Eine Rolle, um einen DigitalOcean-Droplet zu erstellen und einen DNS-Eintrag hinzuzufügen, damit dieser unter einer bestimmten URL (create_digitalocean_droplet_server_fqdn
Variable) erreichbar ist. Die Rolle fügt den neu erstellten Server zu einer Ansible-Gruppe mit dem Titel "new_server" hinzu, die der Host-Wert ist, den Sie für die Anwendung zusätzlicher Konfigurationen in späteren Rollen derselben Playbook verwenden sollten.
Anforderungen
Sie benötigen die folgenden Elemente, um diese Rolle zu verwenden.
- DigitalOcean-Konto
- API-Schlüssel für Ihr DO-Konto, der in einer Umgebungsvariable namens "DO_API_TOKEN" gespeichert ist
- Die Nameserver für die Root-Domain, die Sie hinzufügen (server_fqdn), müssen auf die Nameserver von DigitalOcean verweist
- Ihre SSH-Schlüssel, die in Ihrem DO-Konto hochgeladen sind, und die Fingerabdrücke (MD5-Hashwert), die in der Variablenliste (ssh_keys) gespeichert werden
Rollenvariablen
Der Hostname Ihres DigitalOcean-Droplet. Dies wird als Hostname auf der Linux-VPS sowie in Ihrer Liste der Droplets angezeigt.
create_digitalocean_droplet_host_name: "mein-hostname-hier"
Der Domainname, für den Sie einen DNS-Eintrag erstellen möchten, damit er auf diesen neu erstellten DigitalOcean-Droplet verweist.
create_digitalocean_droplet_server_fqdn: "meinsubdomain.meinedomain.com"
Eine Umgebungsvariable namens DO_API_TOKEN, die den Wert Ihres DigitalOcean-API-Schlüssels enthält.
create_digitalocean_droplet_do_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
Eine Liste von SSH-Schlüsselfingerabdrücken, die den SSH-Schlüsseln entsprechen, die Sie in Ihr DO-Konto hochgeladen haben und die Sie diesem Droplet hinzufügen möchten, um den Zugriff zu ermöglichen. Sie finden diese Fingerabdrücke in den Einstellungen Ihres DO-Kontos, dann im Tab Sicherheit, und können entweder einen SSH-Schlüssel hinzufügen und den Fingerabdruck kopieren oder einen Fingerabdruck eines bereits hochgeladenen SSH-Schlüssels kopieren.
create_digitalocean_droplet_ssh_key_ids:
- "72:aa:ae:3a:62:4d:b4:3d:6a:c5:0f:17:f8:1f:ad:d2"
- "e4:1d:b2:d1:e1:42:c7:5c:b6:71:75:2b:f4:8d:bf:c7"
Die Größe des Droplets, das Sie erstellen möchten. Die Standardgröße ist 1GB.
create_digitalocean_droplet_droplet_size: "1gb"
Das Droplet-Image, das Sie als Basisbild für Ihren neu erstellten DigitalOcean-Droplet verwenden möchten. Das Standardbild ist Ubuntu 16.04 LTS (ubuntu-16-04-x64)
create_digitalocean_droplet_droplet_image: "ubuntu-16-04-x64"
Die DigitalOcean-Region (Rechenzentrum), in der Sie Ihr Droplet erstellen möchten. Die Standardregion ist "nyc1"
create_digitalocean_droplet_region: "nyc1"
Abhängigkeiten
Keine
Beispiel-Playbook
Eine Anleitung, wie Sie Ihre Rolle verwenden können (zum Beispiel mit Variablen, die als Parameter übergeben werden), ist für Benutzer ebenfalls hilfreich:
- hosts: localhost ansible_connection=local ansible_python_interpreter=python
vars_files:
- vars/main.yml
roles:
- { role: stancel.create-digitalocean-droplet }
oder
- hosts: localhost ansible_connection=local ansible_python_interpreter=python
vars:
create_digitalocean_droplet_host_name: "mein-hostname-hier"
create_digitalocean_droplet_server_fqdn: "meinsubdomain.meinedomain.com"
create_digitalocean_droplet_do_token: "{{ lookup('env', 'DO_API_TOKEN') }}"
create_digitalocean_droplet_ssh_key_ids:
- "72:aa:ae:3a:62:4d:b4:3d:6a:c5:0f:17:f8:1f:ad:d2"
create_digitalocean_droplet_droplet_size: "1gb"
create_digitalocean_droplet_droplet_image: "ubuntu-16-04-x64"
region: "nyc1"
roles:
- { role: stancel.create-digitalocean-droplet }
Lizenz
BSD
Autoreninformationen
Role for creating a DigitalOcean droplet that can then be provisioned accordingly.
ansible-galaxy install stancel.create-digitalocean-droplet