|
@@ -0,0 +1,64 @@
|
|
|
|
|
+# http://www.ansibleworks.com/docs/modules.html#digital-ocean
|
|
|
|
|
+
|
|
|
|
|
+# Create a new Droplet
|
|
|
|
|
+# Will return the droplet details including the droplet id (used for idempotence)
|
|
|
|
|
+
|
|
|
|
|
+#- name: ensure ssh key present
|
|
|
|
|
+#module: digital_ocean
|
|
|
|
|
+- hosts: digitalocean
|
|
|
|
|
+ vars:
|
|
|
|
|
+ droplets:
|
|
|
|
|
+ - droplet-one
|
|
|
|
|
+ - droplet-two
|
|
|
|
|
+
|
|
|
|
|
+ tasks:
|
|
|
|
|
+ - name: Ensure DO ssh key present
|
|
|
|
|
+ digital_ocean: >
|
|
|
|
|
+ state=present
|
|
|
|
|
+ command=ssh
|
|
|
|
|
+ name=desktap
|
|
|
|
|
+ ssh_pub_key={{ lookup('file', '~/.ssh/id_rsa.pub') }}
|
|
|
|
|
+ register: desktap
|
|
|
|
|
+
|
|
|
|
|
+ - name: ensure droplets exist
|
|
|
|
|
+ digital_ocean: >
|
|
|
|
|
+ state=present
|
|
|
|
|
+ command=droplet
|
|
|
|
|
+ unique_name=yes
|
|
|
|
|
+ name={{ item }}
|
|
|
|
|
+ size_id=512mb
|
|
|
|
|
+ region_id=nyc1
|
|
|
|
|
+ image_id=debian-8-x64
|
|
|
|
|
+ ssh_key_ids={{ desktap.ssh_key.id }}
|
|
|
|
|
+ with_items: "{{ droplets }}"
|
|
|
|
|
+ register: droplet_details
|
|
|
|
|
+
|
|
|
|
|
+ - debug: msg="IP is {{ item['droplet']['ip_address'] }}, ID is {{ item['droplet']['id']}}."
|
|
|
|
|
+ with_items: "{{ droplet_details.results }}"
|
|
|
|
|
+
|
|
|
|
|
+ - name: Add new droplet to host group
|
|
|
|
|
+ local_action: add_host hostname={{ item['droplet']['ip_address'] }} groupname=launched
|
|
|
|
|
+ with_items: "{{ droplet_details.results }}"
|
|
|
|
|
+
|
|
|
|
|
+ - name: Wait for SSH to come up
|
|
|
|
|
+ local_action: wait_for host={{ item['droplet']['ip_address'] }} port=22 delay=10 timeout=320 state=started
|
|
|
|
|
+ with_items: "{{ droplet_details.results }}"
|
|
|
|
|
+
|
|
|
|
|
+#- name: Configure droplet
|
|
|
|
|
+# hosts: launched
|
|
|
|
|
+# gather_facts: True
|
|
|
|
|
+# tasks:
|
|
|
|
|
+# - name: apply apt-get update --fix-missing
|
|
|
|
|
+# command: apt-get update --fix-missing
|
|
|
|
|
+# sudo: yes
|
|
|
|
|
+# - name: install screen
|
|
|
|
|
+# apt: pkg=screen
|
|
|
|
|
+# sudo: yes
|
|
|
|
|
+# - name: make the minecraft directory
|
|
|
|
|
+# file: state=directory path=/root/minecraft
|
|
|
|
|
+# - name: download minecraft (1.6.4)
|
|
|
|
|
+# command: wget https://s3.amazonaws.com/Minecraft.Download/versions/1.6.4/minecraft_server.1.6.4.jar chdir=/root/minecraft creates=/root/minecraft/minecraft_server.1.6.4.jar
|
|
|
|
|
+# sudo: yes
|
|
|
|
|
+# - name: run minecraft
|
|
|
|
|
+# command: screen -S minecraft -d -m java -Xmx512M -Xms512M -jar /root/minecraft/minecraft_server.1.6.4.jar
|
|
|
|
|
+# sudo: yes
|