From 679e8086d5bcee28bca5428769612589b5833e75 Mon Sep 17 00:00:00 2001
From: jurgenhaas <juergen@paragon-es.de>
Date: Sat, 21 Nov 2015 12:19:27 +0100
Subject: [PATCH] Optimize initial setup by using submodules

---
 .gitignore            |  4 ---
 .gitmodules           | 81 +++++++++++++++++++++++++++++++++++++++++++
 plugins/jiffybox      |  1 +
 plugins/serverdensity |  1 +
 roles/apache          |  1 +
 roles/aptproxy        |  1 +
 roles/common          |  1 +
 roles/commonauth      |  1 +
 roles/compass         |  1 +
 roles/composer        |  1 +
 roles/drupal          |  1 +
 roles/drush           |  1 +
 roles/gitlab          |  1 +
 roles/haproxy         |  1 +
 roles/mysql           |  1 +
 roles/mysql-client    |  1 +
 roles/nodejs          |  1 +
 roles/openphoto       |  1 +
 roles/oracle          |  1 +
 roles/owncloud        |  1 +
 roles/php             |  1 +
 roles/piwik           |  1 +
 roles/redis           |  1 +
 roles/serverdensity   |  1 +
 roles/sftp            |  1 +
 roles/svnserver       |  1 +
 roles/user-management |  1 +
 roles/youtrack        |  1 +
 setup_local.yml       | 60 ++++----------------------------
 wiki                  |  1 +
 30 files changed, 115 insertions(+), 57 deletions(-)
 create mode 100644 .gitmodules
 create mode 160000 plugins/jiffybox
 create mode 160000 plugins/serverdensity
 create mode 160000 roles/apache
 create mode 160000 roles/aptproxy
 create mode 160000 roles/common
 create mode 160000 roles/commonauth
 create mode 160000 roles/compass
 create mode 160000 roles/composer
 create mode 160000 roles/drupal
 create mode 160000 roles/drush
 create mode 160000 roles/gitlab
 create mode 160000 roles/haproxy
 create mode 160000 roles/mysql
 create mode 160000 roles/mysql-client
 create mode 160000 roles/nodejs
 create mode 160000 roles/openphoto
 create mode 160000 roles/oracle
 create mode 160000 roles/owncloud
 create mode 160000 roles/php
 create mode 160000 roles/piwik
 create mode 160000 roles/redis
 create mode 160000 roles/serverdensity
 create mode 160000 roles/sftp
 create mode 160000 roles/svnserver
 create mode 160000 roles/user-management
 create mode 160000 roles/youtrack
 create mode 160000 wiki

diff --git a/.gitignore b/.gitignore
index a571867f..75890963 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,7 +2,3 @@
 
 archive
 inventory
-plugins
-roles
-todo
-wiki
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 00000000..bc6dc870
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,81 @@
+[submodule "wiki"]
+	path = wiki
+	url = git@gitlab.paragon-es.de:ansible-playbooks/general.wiki.git
+[submodule "plugins/jiffybox"]
+	path = plugins/jiffybox
+	url = git@gitlab.paragon-es.de:ansible-plugins/jiffybox.git
+[submodule "plugins/serverdensity"]
+	path = plugins/serverdensity
+	url = git@gitlab.paragon-es.de:ansible-plugins/serverdensity.git
+[submodule "roles/commonauth"]
+	path = roles/commonauth
+	url = git@gitlab.paragon-es.de:ansible-roles/commonauth.git
+[submodule "roles/common"]
+	path = roles/common
+	url = git@gitlab.paragon-es.de:ansible-roles/common.git
+[submodule "roles/mysql"]
+	path = roles/mysql
+	url = git@gitlab.paragon-es.de:ansible-roles/mysql.git
+[submodule "roles/drupal"]
+	path = roles/drupal
+	url = git@gitlab.paragon-es.de:ansible-roles/drupal.git
+[submodule "roles/drush"]
+	path = roles/drush
+	url = git@gitlab.paragon-es.de:ansible-roles/drush.git
+[submodule "roles/serverdensity"]
+	path = roles/serverdensity
+	url = git@gitlab.paragon-es.de:ansible-roles/serverdensity.git
+[submodule "roles/apache"]
+	path = roles/apache
+	url = git@gitlab.paragon-es.de:ansible-roles/apache.git
+[submodule "roles/gitlab"]
+	path = roles/gitlab
+	url = git@gitlab.paragon-es.de:ansible-roles/gitlab.git
+[submodule "roles/nodejs"]
+	path = roles/nodejs
+	url = git@gitlab.paragon-es.de:ansible-roles/nodejs.git
+[submodule "roles/youtrack"]
+	path = roles/youtrack
+	url = git@gitlab.paragon-es.de:ansible-roles/youtrack.git
+[submodule "roles/haproxy"]
+	path = roles/haproxy
+	url = git@gitlab.paragon-es.de:ansible-roles/haproxy.git
+[submodule "roles/sftp"]
+	path = roles/sftp
+	url = git@gitlab.paragon-es.de:ansible-roles/sftp.git
+[submodule "roles/php"]
+	path = roles/php
+	url = git@gitlab.paragon-es.de:ansible-roles/php.git
+[submodule "roles/mysql-client"]
+	path = roles/mysql-client
+	url = git@gitlab.paragon-es.de:ansible-roles/mysql-client.git
+[submodule "roles/oracle"]
+	path = roles/oracle
+	url = git@gitlab.paragon-es.de:ansible-roles/oracle.git
+[submodule "roles/svnserver"]
+	path = roles/svnserver
+	url = git@gitlab.paragon-es.de:ansible-roles/svnserver.git
+[submodule "roles/redis"]
+	path = roles/redis
+	url = git@gitlab.paragon-es.de:ansible-roles/redis.git
+[submodule "roles/piwik"]
+	path = roles/piwik
+	url = git@gitlab.paragon-es.de:ansible-roles/piwik.git
+[submodule "roles/aptproxy"]
+	path = roles/aptproxy
+	url = git@gitlab.paragon-es.de:ansible-roles/aptproxy.git
+[submodule "roles/compass"]
+	path = roles/compass
+	url = git@gitlab.paragon-es.de:ansible-roles/compass.git
+[submodule "roles/openphoto"]
+	path = roles/openphoto
+	url = git@gitlab.paragon-es.de:ansible-roles/openphoto.git
+[submodule "roles/owncloud"]
+	path = roles/owncloud
+	url = git@gitlab.paragon-es.de:ansible-roles/owncloud.git
+[submodule "roles/user-management"]
+	path = roles/user-management
+	url = git@gitlab.paragon-es.de:ansible-roles/user-management.git
+[submodule "roles/composer"]
+	path = roles/composer
+	url = https://github.com/kosssi/ansible-role-composer.git
diff --git a/plugins/jiffybox b/plugins/jiffybox
new file mode 160000
index 00000000..a6cf58d6
--- /dev/null
+++ b/plugins/jiffybox
@@ -0,0 +1 @@
+Subproject commit a6cf58d6e379a1ea7c97c9c7fcca335af9159bd6
diff --git a/plugins/serverdensity b/plugins/serverdensity
new file mode 160000
index 00000000..d10c6313
--- /dev/null
+++ b/plugins/serverdensity
@@ -0,0 +1 @@
+Subproject commit d10c6313000133c48bca4b289b6cd258ceacca98
diff --git a/roles/apache b/roles/apache
new file mode 160000
index 00000000..eb21cfe2
--- /dev/null
+++ b/roles/apache
@@ -0,0 +1 @@
+Subproject commit eb21cfe226cf0de520ecacd220140f2bf2c02560
diff --git a/roles/aptproxy b/roles/aptproxy
new file mode 160000
index 00000000..3b8ce40c
--- /dev/null
+++ b/roles/aptproxy
@@ -0,0 +1 @@
+Subproject commit 3b8ce40c3e9a0f93dfbe7973c34dcd72cf4e9faf
diff --git a/roles/common b/roles/common
new file mode 160000
index 00000000..05bf8f0f
--- /dev/null
+++ b/roles/common
@@ -0,0 +1 @@
+Subproject commit 05bf8f0fd6fbfdfe68a5c8d9eddba2e85da6d891
diff --git a/roles/commonauth b/roles/commonauth
new file mode 160000
index 00000000..0c6c027e
--- /dev/null
+++ b/roles/commonauth
@@ -0,0 +1 @@
+Subproject commit 0c6c027e2b303950da7e26e93b8be975e2b07319
diff --git a/roles/compass b/roles/compass
new file mode 160000
index 00000000..57d5591e
--- /dev/null
+++ b/roles/compass
@@ -0,0 +1 @@
+Subproject commit 57d5591ee0348b5351d6d44544f65f7843494f88
diff --git a/roles/composer b/roles/composer
new file mode 160000
index 00000000..1bc89a03
--- /dev/null
+++ b/roles/composer
@@ -0,0 +1 @@
+Subproject commit 1bc89a0325dfabbf421d2811566a95c80721d5d8
diff --git a/roles/drupal b/roles/drupal
new file mode 160000
index 00000000..b70e5391
--- /dev/null
+++ b/roles/drupal
@@ -0,0 +1 @@
+Subproject commit b70e5391b5f9ff442929533de6db895440519c47
diff --git a/roles/drush b/roles/drush
new file mode 160000
index 00000000..10677f03
--- /dev/null
+++ b/roles/drush
@@ -0,0 +1 @@
+Subproject commit 10677f03dc2311c821ac74bd12be16171f518d4e
diff --git a/roles/gitlab b/roles/gitlab
new file mode 160000
index 00000000..88375878
--- /dev/null
+++ b/roles/gitlab
@@ -0,0 +1 @@
+Subproject commit 88375878fab5f15c3f8604c6791a8fa2ba640291
diff --git a/roles/haproxy b/roles/haproxy
new file mode 160000
index 00000000..1a3288d2
--- /dev/null
+++ b/roles/haproxy
@@ -0,0 +1 @@
+Subproject commit 1a3288d27e6a289d24c3f00b32a31c0709acfea9
diff --git a/roles/mysql b/roles/mysql
new file mode 160000
index 00000000..7d1f77ca
--- /dev/null
+++ b/roles/mysql
@@ -0,0 +1 @@
+Subproject commit 7d1f77ca7ac88381f29d1fb7bdfc43eb7fcaff3e
diff --git a/roles/mysql-client b/roles/mysql-client
new file mode 160000
index 00000000..eb4c0dce
--- /dev/null
+++ b/roles/mysql-client
@@ -0,0 +1 @@
+Subproject commit eb4c0dce29757eb4185bfa763f62c9c69ab60d1d
diff --git a/roles/nodejs b/roles/nodejs
new file mode 160000
index 00000000..b32c1dc6
--- /dev/null
+++ b/roles/nodejs
@@ -0,0 +1 @@
+Subproject commit b32c1dc61ac41515a12cf9e7cd54582abd362075
diff --git a/roles/openphoto b/roles/openphoto
new file mode 160000
index 00000000..b5ac65e6
--- /dev/null
+++ b/roles/openphoto
@@ -0,0 +1 @@
+Subproject commit b5ac65e6397f20690837ef8cc9d0b71ac60aaa43
diff --git a/roles/oracle b/roles/oracle
new file mode 160000
index 00000000..d49a82e5
--- /dev/null
+++ b/roles/oracle
@@ -0,0 +1 @@
+Subproject commit d49a82e57b6782b14c198856be32d76fc877ff53
diff --git a/roles/owncloud b/roles/owncloud
new file mode 160000
index 00000000..edb85ac7
--- /dev/null
+++ b/roles/owncloud
@@ -0,0 +1 @@
+Subproject commit edb85ac71f98e6bb1a4f7b68780750a3b5a7563a
diff --git a/roles/php b/roles/php
new file mode 160000
index 00000000..9a9898f8
--- /dev/null
+++ b/roles/php
@@ -0,0 +1 @@
+Subproject commit 9a9898f82958f2948a3a21145e3cffcd94f622ea
diff --git a/roles/piwik b/roles/piwik
new file mode 160000
index 00000000..50ae2f40
--- /dev/null
+++ b/roles/piwik
@@ -0,0 +1 @@
+Subproject commit 50ae2f407b7e3f6b0dc8588ef7aaa313986a8cef
diff --git a/roles/redis b/roles/redis
new file mode 160000
index 00000000..3b4ebeb3
--- /dev/null
+++ b/roles/redis
@@ -0,0 +1 @@
+Subproject commit 3b4ebeb3c3ec4792dda7e6b81a21a7c12cd98175
diff --git a/roles/serverdensity b/roles/serverdensity
new file mode 160000
index 00000000..07e37b17
--- /dev/null
+++ b/roles/serverdensity
@@ -0,0 +1 @@
+Subproject commit 07e37b170cb43b6a768f53f20e5ea4fe49fabd31
diff --git a/roles/sftp b/roles/sftp
new file mode 160000
index 00000000..1d925cf3
--- /dev/null
+++ b/roles/sftp
@@ -0,0 +1 @@
+Subproject commit 1d925cf36ed13eb4f81965fa3f7b166b756e1af5
diff --git a/roles/svnserver b/roles/svnserver
new file mode 160000
index 00000000..89171b69
--- /dev/null
+++ b/roles/svnserver
@@ -0,0 +1 @@
+Subproject commit 89171b6999b403e0cbe51e06c59fa12733542418
diff --git a/roles/user-management b/roles/user-management
new file mode 160000
index 00000000..d7032d97
--- /dev/null
+++ b/roles/user-management
@@ -0,0 +1 @@
+Subproject commit d7032d976fe64aa9d53c31395eeac3f84c9c49b7
diff --git a/roles/youtrack b/roles/youtrack
new file mode 160000
index 00000000..15f9c0ff
--- /dev/null
+++ b/roles/youtrack
@@ -0,0 +1 @@
+Subproject commit 15f9c0ffa19d43a1a5c999b9ad2aea825dc7c89d
diff --git a/setup_local.yml b/setup_local.yml
index 075c6100..4f31d172 100644
--- a/setup_local.yml
+++ b/setup_local.yml
@@ -14,10 +14,8 @@
   vars:
     repo: "git@gitlab.paragon-es.de"
     plugins:
-      - name: "jiffybox"
-        repo: "{{ repo }}:ansible-plugins/jiffybox.git"
-      - name: "serverdensity"
-        repo: "{{ repo }}:ansible-plugins/serverdensity.git"
+      - "jiffybox"
+      - "serverdensity"
   tasks:
     - name: "Get other repositories"
       git:
@@ -26,56 +24,9 @@
         dest: "{{ item.dest }}"
         force: "{{ item.force|default('yes') }}"
       with_items:
-        - repo: "{{ repo }}:ansible-playbooks/general.git"
-          dest: "."
         - repo: "{{ repo }}:ansible-inventories/{{ company }}.git"
           dest: "./inventory"
           force: no
-    - name: "Get roles"
-      git:
-        accept_hostkey: yes
-        repo: "{{ repo }}:ansible-roles/{{ item }}.git"
-        dest: "./roles/{{ item }}"
-        force: "yes"
-      with_items:
-        - "apache"
-        - "aptproxy"
-        - "common"
-        - "commonauth"
-        - "compass"
-        - "drupal"
-        - "drush"
-        - "gitlab"
-        - "haproxy"
-        - "mysql"
-        - "mysql-client"
-        - "nodejs"
-        - "openphoto"
-        - "oracle"
-        - "owncloud"
-        - "php"
-        - "piwik"
-        - "redis"
-        - "serverdensity"
-        - "sftp"
-        - "svnserver"
-        - "user-management"
-        - "youtrack"
-    - name: "Get 3rd party roles"
-      git:
-        accept_hostkey: yes
-        repo: "{{ item.repo }}"
-        dest: "./roles/{{ item.name }}"
-      with_items:
-        - name: "composer"
-          repo: "https://github.com/kosssi/ansible-role-composer.git"
-    - name: "Get plugins"
-      git:
-        accept_hostkey: yes
-        repo: "{{ item.repo }}"
-        dest: "./plugins/{{ item.name }}"
-        force: "{{ item.force|default('yes') }}"
-      with_items: "{{ plugins }}"
     - name: "Ensure plugins directory"
       file:
         dest="/usr/share/ansible_plugins/action_plugins"
@@ -83,8 +34,8 @@
       sudo: yes
     - name: "Install plugins"
       file:
-        src="{{ lookup('env','PWD') }}/plugins/{{ item.name }}/action_plugins/{{ item.name }}.py"
-        dest="/usr/share/ansible_plugins/action_plugins/{{ item.name }}.py"
+        src="{{ lookup('env','PWD') }}/plugins/{{ item }}/action_plugins/{{ item }}.py"
+        dest="/usr/share/ansible_plugins/action_plugins/{{ item }}.py"
         state="link"
       sudo: yes
       with_items: "{{ plugins }}"
@@ -115,3 +66,6 @@
         - option: "ssh_args"
           value: "-o IdentitiesOnly=yes"
           section: "ssh_connection"
+        - option: "pipelining"
+          value: "False"
+          section: "ssh_connection"
diff --git a/wiki b/wiki
new file mode 160000
index 00000000..930c1fe2
--- /dev/null
+++ b/wiki
@@ -0,0 +1 @@
+Subproject commit 930c1fe2aa9ab3f47d226cda2a7ecd5deb6d159f
-- 
GitLab