David 10 tahun lalu
induk
melakukan
ef1ca43597

+ 26 - 0
create-nginx.yml

@@ -0,0 +1,26 @@
+---
+- hosts: local
+  gather_facts: False
+  vars:
+    droplets:
+     - droplet-one
+     - droplet-two
+    dogroupname: nginx-launched
+    public_key: "{{ lookup('env','HOME') }}/.ssh/id_rsa.pub"
+  roles: 
+   - do-key
+   - create-droplet
+
+
+- hosts: nginx-launched
+  vars:
+    username: david
+    nginx_user: www-data
+    password: $6$9PumPdxR$kwIOv22qD8vHWFvBTrYxXsIjCvfVuM88lhCGosnf6DgtuKjkxU9m34nvkz0X/i/ooUgV1o3poIj7RijltWj5E.
+    public_key: "{{ lookup('env','HOME') }}/.ssh/id_rsa.pub"
+  user: root
+  roles:
+   - common
+     #   - user
+     #   - nginx
+     #   - ssh

+ 0 - 57
roles/create-droplet/create-droplet.yml

@@ -1,57 +0,0 @@
-- 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

+ 27 - 0
roles/create-droplet/tasks/main.yml

@@ -0,0 +1,27 @@
+- 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={{ dogroupname }}
+  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: Keyscan droplets
+  local_action: shell ssh-keyscan {{ item['droplet']['ip_address'] }} >> ~/.ssh/known_hosts
+  with_items: "{{ droplet_details.results }}"

+ 7 - 0
roles/do-key/tasks/main.yml

@@ -0,0 +1,7 @@
+- 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