taperole 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/README.md +2 -14
  4. data/lib/tape/installer.rb +0 -15
  5. data/roles/nginx/tasks/main.yml +1 -1
  6. data/roles/unicorn_activate/tasks/main.yml +9 -14
  7. data/taperole.gemspec +1 -1
  8. data/templates/base/omnibox.example.yml +1 -1
  9. data/templates/static_html/omnibox.example.yml +1 -1
  10. data/vendor/ANXS.postgresql/.gitignore +9 -0
  11. data/vendor/ANXS.postgresql/.travis.yml +18 -0
  12. data/vendor/ANXS.postgresql/LICENSE +21 -0
  13. data/vendor/ANXS.postgresql/README.md +64 -0
  14. data/vendor/ANXS.postgresql/Vagrantfile +16 -0
  15. data/vendor/ANXS.postgresql/defaults/main.yml +616 -0
  16. data/vendor/ANXS.postgresql/handlers/main.yml +6 -0
  17. data/vendor/ANXS.postgresql/meta/.galaxy_install_info +1 -0
  18. data/vendor/ANXS.postgresql/meta/main.yml +17 -0
  19. data/vendor/ANXS.postgresql/tasks/configure.yml +58 -0
  20. data/vendor/ANXS.postgresql/tasks/databases.yml +67 -0
  21. data/vendor/ANXS.postgresql/tasks/extensions/contrib.yml +11 -0
  22. data/vendor/ANXS.postgresql/tasks/extensions/dev_headers.yml +10 -0
  23. data/vendor/ANXS.postgresql/tasks/extensions/postgis.yml +14 -0
  24. data/vendor/ANXS.postgresql/tasks/extensions.yml +8 -0
  25. data/vendor/ANXS.postgresql/tasks/install.yml +34 -0
  26. data/vendor/ANXS.postgresql/tasks/main.yml +23 -0
  27. data/vendor/ANXS.postgresql/tasks/monit.yml +6 -0
  28. data/vendor/ANXS.postgresql/tasks/users.yml +18 -0
  29. data/vendor/ANXS.postgresql/tasks/users_privileges.yml +16 -0
  30. data/vendor/ANXS.postgresql/templates/etc_monit_conf.d_postgresql.j2 +6 -0
  31. data/vendor/ANXS.postgresql/templates/pg_hba.conf.j2 +39 -0
  32. data/vendor/ANXS.postgresql/templates/postgresql.conf.j2 +446 -0
  33. data/vendor/ANXS.postgresql/test.yml +8 -0
  34. data/vendor/ANXS.postgresql/vagrant-inventory +2 -0
  35. data/vendor/ANXS.postgresql/vars/test.yml +10 -0
  36. data/vendor/bennojoy.memcached/README.md +49 -0
  37. data/vendor/bennojoy.memcached/defaults/main.yml +8 -0
  38. data/vendor/bennojoy.memcached/handlers/main.yml +3 -0
  39. data/vendor/bennojoy.memcached/meta/.galaxy_install_info +1 -0
  40. data/vendor/bennojoy.memcached/meta/main.yml +26 -0
  41. data/vendor/bennojoy.memcached/tasks/main.yml +30 -0
  42. data/vendor/bennojoy.memcached/templates/memcached_debian.j2 +49 -0
  43. data/vendor/bennojoy.memcached/templates/memcached_redhat.j2 +5 -0
  44. data/vendor/bennojoy.memcached/vars/main.yml +14 -0
  45. data/vendor/jnv.unattended-upgrades/.gitignore +1 -0
  46. data/vendor/jnv.unattended-upgrades/.travis.yml +20 -0
  47. data/vendor/jnv.unattended-upgrades/LICENSE +339 -0
  48. data/vendor/jnv.unattended-upgrades/README.md +105 -0
  49. data/vendor/jnv.unattended-upgrades/Vagrantfile +22 -0
  50. data/vendor/jnv.unattended-upgrades/ansible.cfg +3 -0
  51. data/vendor/jnv.unattended-upgrades/defaults/main.yml +55 -0
  52. data/vendor/jnv.unattended-upgrades/files/auto-upgrades +4 -0
  53. data/vendor/jnv.unattended-upgrades/handlers/main.yml +2 -0
  54. data/vendor/jnv.unattended-upgrades/meta/.galaxy_install_info +1 -0
  55. data/vendor/jnv.unattended-upgrades/meta/main.yml +38 -0
  56. data/vendor/jnv.unattended-upgrades/role.yml +4 -0
  57. data/vendor/jnv.unattended-upgrades/tasks/main.yml +19 -0
  58. data/vendor/jnv.unattended-upgrades/templates/unattended-upgrades.j2 +78 -0
  59. data/vendor/jnv.unattended-upgrades/vars/Debian.yml +3 -0
  60. data/vendor/jnv.unattended-upgrades/vars/Ubuntu.yml +3 -0
  61. data/vendor/leonelgalan.node/.gitignore +2 -0
  62. data/vendor/leonelgalan.node/.travis.yml +13 -0
  63. data/vendor/leonelgalan.node/LICENSE +21 -0
  64. data/vendor/leonelgalan.node/README.md +50 -0
  65. data/vendor/leonelgalan.node/Vagrantfile +16 -0
  66. data/vendor/leonelgalan.node/defaults/main.yml +2 -0
  67. data/vendor/leonelgalan.node/handlers/main.yml +2 -0
  68. data/vendor/leonelgalan.node/meta/.galaxy_install_info +1 -0
  69. data/vendor/leonelgalan.node/meta/main.yml +21 -0
  70. data/vendor/leonelgalan.node/requirements.yml +3 -0
  71. data/vendor/leonelgalan.node/site.yml +8 -0
  72. data/vendor/leonelgalan.node/tasks/main.yml +35 -0
  73. data/vendor/leonelgalan.node/vars/main.yml +2 -0
  74. data/vendor/lxhunter.apt/.gitignore +41 -0
  75. data/vendor/lxhunter.apt/.travis.yml +12 -0
  76. data/vendor/lxhunter.apt/README.md +105 -0
  77. data/vendor/lxhunter.apt/Vagrantfile +16 -0
  78. data/vendor/lxhunter.apt/defaults/main.yml +7 -0
  79. data/vendor/lxhunter.apt/meta/.galaxy_install_info +1 -0
  80. data/vendor/lxhunter.apt/meta/main.yml +13 -0
  81. data/vendor/lxhunter.apt/tasks/main.yml +38 -0
  82. data/vendor/lxhunter.apt/templates/apt_10general.j2 +4 -0
  83. data/vendor/lxhunter.apt/test.yml +5 -0
  84. data/vendor/nodesource.node/Dockerfile +16 -0
  85. data/vendor/nodesource.node/LICENSE.md +11 -0
  86. data/vendor/nodesource.node/README.md +46 -0
  87. data/vendor/nodesource.node/defaults/main.yml +3 -0
  88. data/vendor/nodesource.node/handlers/main.yml +2 -0
  89. data/vendor/nodesource.node/meta/.galaxy_install_info +1 -0
  90. data/vendor/nodesource.node/meta/main.yml +18 -0
  91. data/vendor/nodesource.node/role.yml +6 -0
  92. data/vendor/nodesource.node/tasks/main.yml +26 -0
  93. data/vendor/nodesource.node/templates/etc/apt/preferences.d/deb_nodesource_com_node.pref.2 +5 -0
  94. data/vendor/nodesource.node/tests/localhosts +2 -0
  95. data/vendor/nodesource.node/vars/main.yml +2 -0
  96. data/vendor/zzet.rbenv/.kitchen.yml +40 -0
  97. data/vendor/zzet.rbenv/.travis.yml +12 -0
  98. data/vendor/zzet.rbenv/README.md +100 -0
  99. data/vendor/zzet.rbenv/defaults/main.yml +20 -0
  100. data/vendor/zzet.rbenv/files/default-gems +1 -0
  101. data/vendor/zzet.rbenv/files/gemrc +4 -0
  102. data/vendor/zzet.rbenv/files/vars +1 -0
  103. data/vendor/zzet.rbenv/handlers/main.yml +5 -0
  104. data/vendor/zzet.rbenv/meta/.galaxy_install_info +1 -0
  105. data/vendor/zzet.rbenv/meta/main.yml +27 -0
  106. data/vendor/zzet.rbenv/role.yml +10 -0
  107. data/vendor/zzet.rbenv/tasks/apt_build_depends.yml +15 -0
  108. data/vendor/zzet.rbenv/tasks/homebrew_build_depends.yml +10 -0
  109. data/vendor/zzet.rbenv/tasks/main.yml +192 -0
  110. data/vendor/zzet.rbenv/tasks/pacman_build_depends.yml +2 -0
  111. data/vendor/zzet.rbenv/tasks/yum_build_depends.yml +15 -0
  112. data/vendor/zzet.rbenv/templates/rbenv.sh.j2 +11 -0
  113. data/vendor/zzet.rbenv/test/integration/default/serverspec/rbenv_spec.rb +26 -0
  114. data/vendor/zzet.rbenv/test/integration/helpers/serverspec/spec_helper.rb +10 -0
  115. data/vendor/zzet.rbenv/test/integration/site.yml +8 -0
  116. data/vendor/zzet.rbenv/vars/main.yml +1 -0
  117. data/vendor/zzet.rbenv/vars/system.yml +2 -0
  118. data/vendor/zzet.rbenv/vars/user.yml +2 -0
  119. metadata +111 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 62490a5daeb6150d42dc9e9739557f820e0ae934
4
- data.tar.gz: a93676ee597a4c57cb5cc3fe4097fb0023cb0a37
3
+ metadata.gz: 5016d666bbe3fbbbc52aec031ee02ea2ae60433e
4
+ data.tar.gz: b388a0c99b4f8f13e7ba4611d2624c03358bb460
5
5
  SHA512:
6
- metadata.gz: 097f949627f97b9e2a6e6fd33c0526f7157db46717f46e92fba432f53c920ee2ac9e1de67699fba2b55ef6515b1c6c752b282bf8a0e95e575d710ccd5b8c7aef
7
- data.tar.gz: 1c90655f1b208db25fdfcd3fbdb6c695e4e0e61967be845d94b527db959c738739872b8e7117cc07541f012273dc7b6d06df3c6ad1ab39dbe23f1c36ec5b1de1
6
+ metadata.gz: e2a631378f974d3a66310aed8ed344dfd273eb720b1dd85c815099ba649f6b7125803e70a119197ca46bef21c322ad2b72adedaf6c9073401b0e139476c022d9
7
+ data.tar.gz: 48dc9509d3ea930189935328a01f0ad573e840ce5aa7014dcc26d61657e1802dab9d93ed53a7da141aab8fbb19a329bad6647d6d8d1837c7fa49f0478572ab08
data/.gitignore CHANGED
@@ -2,4 +2,4 @@
2
2
  .vagrant/
3
3
  site_vars.yml
4
4
  hosts
5
- vendor
5
+ *.gem
data/README.md CHANGED
@@ -10,21 +10,9 @@
10
10
 
11
11
  **Install**
12
12
 
13
- * Add the following to your gemfile.
14
-
15
- ```ruby
16
- gem 'tape', github: 'smashingboxes/tape', group: :development, tag: <DESIRED_VERSION>
17
- ```
18
-
19
- * `bundle install`
20
- * `tape installer install`
13
+ * `gem install taperole` or `gem 'taperole'`
14
+ * run `tape installer install` in project repo
21
15
  * Updated the hosts file with the IP address of your server
22
-
23
- ```
24
- [omnibox]
25
- 0.0.0.0
26
- ```
27
-
28
16
  * Fill in missing values in `tape_vars.yml`
29
17
  * Copy all developers public keys into some dir and specify that dir inside `tape_vars.yml` (dev_key_files)
30
18
  * `tape ansible everything`
@@ -2,9 +2,6 @@ module TapeBoxer
2
2
  class Installer < ExecutionModule
3
3
  TapeBoxer.register_module :installer, self
4
4
 
5
- action :dependencies,
6
- proc { dependencies },
7
- 'Install dependencies'
8
5
  action :install,
9
6
  proc {install},
10
7
  'Creates all nessisary hosts and config files'
@@ -18,19 +15,7 @@ module TapeBoxer
18
15
 
19
16
  protected
20
17
 
21
- def dependencies
22
- puts 'Dependencies:'
23
-
24
- if system "ansible-galaxy install -r #{tape_dir}/requirements.yml -p #{tape_dir}/vendor --force"
25
- print 'Installing/updating dependencies: '
26
- puts '✔'.green
27
- else
28
- puts '✘'.red
29
- end
30
- end
31
-
32
18
  def install
33
- dependencies
34
19
  File.open('.gitignore', 'r+') { |f| f.puts '.tape' unless f.read =~/^\.tape$/ }
35
20
  mkdir 'roles'
36
21
  if fe_app? && !rails_app?
@@ -12,7 +12,6 @@
12
12
 
13
13
  - name: Configure App nginx
14
14
  template: src=nginx_unicorn.j2 dest=/etc/nginx/sites-enabled/{{ app_name }}
15
- notify: restart nginx
16
15
  tags: [nginx]
17
16
 
18
17
  - name: Install monit nginx config
@@ -26,5 +25,6 @@
26
25
  when: nginx_monit_config.changed
27
26
 
28
27
  - name: Restart nginx
28
+ remote_user: "{{ deployer_user.name }}"
29
29
  command: bash -lc "sudo monit restart nginx"
30
30
  tags: [restart_nginx]
@@ -1,17 +1,3 @@
1
- - name: Ensure tmp dir present for unicorn pids
2
- file: state=directory path={{be_app_path}}/tmp/unicorn owner={{ deployer_user.name }}
3
- tags: [be_deploy]
4
-
5
- - name: Ensure unicorn is running
6
- remote_user: "{{ deployer_user.name }}"
7
- command: bash -lc "sudo monit start unicorn"
8
- tags: [be_deploy,unicorn_start]
9
-
10
- - name: Restart Unicorn
11
- remote_user: "{{ deployer_user.name }}"
12
- command: bash -lc "sudo monit restart unicorn"
13
- tags: [unicorn_restart,be_deploy]
14
-
15
1
  - name: Ensure unicorn is stopped
16
2
  remote_user: "{{ deployer_user.name }}"
17
3
  command: bash -lc "sudo monit restart unicorn"
@@ -23,3 +9,12 @@
23
9
  command: bash -lc "service unicorn_{{ app_name }} stop"
24
10
  when: kill_unicorn
25
11
  tags: [unicorn_force_stop]
12
+
13
+ - name: Ensure tmp dir present for unicorn pids
14
+ file: state=directory path={{be_app_path}}/tmp/unicorn owner={{ deployer_user.name }}
15
+ tags: [be_deploy]
16
+
17
+ - name: Restart Unicorn
18
+ remote_user: "{{ deployer_user.name }}"
19
+ command: bash -lc "sudo monit restart unicorn"
20
+ tags: [unicorn_restart,be_deploy]
data/taperole.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "taperole"
3
- spec.version = '1.0.0'
3
+ spec.version = '1.0.1'
4
4
  spec.authors = ['Jack Forrest', 'Smashing Boxes', 'Brandon Mathis']
5
5
  spec.email = ['jack@smashingboxes.com', 'brandon@sbox.es']
6
6
  spec.summary = 'A tool for provisioning and deploying boxes for hosting Rails apps'
@@ -8,11 +8,11 @@
8
8
 
9
9
  roles:
10
10
  - general
11
+ - deployer_user
11
12
  - monit_install
12
13
  - postgres
13
14
  - nginx
14
15
  - backend_install_essentials
15
- - deployer_user
16
16
  - backend_checkout
17
17
  - unicorn_install
18
18
  - backend_config
@@ -8,8 +8,8 @@
8
8
 
9
9
  roles:
10
10
  - general
11
+ - deployer_user
11
12
  - monit_install
12
13
  - nginx
13
- - deployer_user
14
14
  - frontend_deploy
15
15
  - monit_activate # Run Last
@@ -0,0 +1,9 @@
1
+ .DS_Store
2
+ .AppleDouble
3
+ .LSOverride
4
+ Icon
5
+ ._*
6
+ .Spotlight-V100
7
+ .Trashes
8
+ .vagrant
9
+ test
@@ -0,0 +1,18 @@
1
+ ---
2
+ language: python
3
+ python: "2.7"
4
+ before_install:
5
+ - sudo apt-get update -qq
6
+ - sudo apt-get install -qq python-apt python-pycurl locales
7
+ - echo 'en_US.UTF-8 UTF-8' | sudo tee /var/lib/locales/supported.d/local
8
+ install:
9
+ - pip install ansible==1.6.2
10
+ script:
11
+ - echo localhost > inventory
12
+ - ansible-playbook -i inventory test.yml --syntax-check
13
+ - ansible-playbook -i inventory test.yml --connection=local --sudo
14
+ - >
15
+ ansible-playbook -i inventory test.yml --connection=local --sudo
16
+ | grep -q 'changed=0.*failed=0'
17
+ && (echo 'Idempotence test: pass' && exit 0)
18
+ || (echo 'Idempotence test: fail' && exit 1)
@@ -0,0 +1,21 @@
1
+ The MIT License
2
+
3
+ Copyright (c) 2014 Pieterjan Vandaele
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,64 @@
1
+ ## ANXS - PostgreSQL [![Build Status](https://travis-ci.org/ANXS/postgresql.png)](https://travis-ci.org/ANXS/postgresql)
2
+
3
+ Ansible role which installs and configures PostgreSQL, extensions, databases and users.
4
+
5
+
6
+ #### Requirements & Dependencies
7
+ - Tested on Ansible 1.6 or higher.
8
+ - ANXS.monit ([Galaxy](https://galaxy.ansible.com/list#/roles/502)/[GH](https://github.com/ANXS/monit)) if you want monit protection (in that case, you should set `monit_protection: true`)
9
+
10
+
11
+ #### Variables
12
+
13
+ ```yaml
14
+ # Basic settings
15
+ postgresql_version: 9.3
16
+ postgresql_encoding: 'UTF-8'
17
+ postgresql_locale: 'en_US.UTF-8'
18
+
19
+ postgresql_admin_user: "postgres"
20
+ postgresql_default_auth_method: "trust"
21
+
22
+ postgresql_cluster_name: "main"
23
+ postgresql_cluster_reset: false
24
+
25
+ # List of databases to be created (optional)
26
+ postgresql_databases:
27
+ - name: foobar
28
+ hstore: yes # flag to install the hstore extension on this database (yes/no)
29
+ uuid_ossp: yes # flag to install the uuid-ossp extension on this database (yes/no)
30
+
31
+ # List of users to be created (optional)
32
+ postgresql_users:
33
+ - name: baz
34
+ pass: pass
35
+ encrypted: no # denotes if the password is already encrypted.
36
+
37
+ # List of user privileges to be applied (optional)
38
+ postgresql_user_privileges:
39
+ - name: baz # user name
40
+ db: foobar # database
41
+ priv: "ALL" # privilege string format: example: INSERT,UPDATE/table:SELECT/anothertable:ALL
42
+ role_attr_flags: "CREATEDB" # role attribute flags
43
+ ```
44
+
45
+ There's a lot more knobs and bolts to set, which you can find in the defaults/main.yml
46
+
47
+ #### Testing
48
+ This project comes with a VagrantFile, this is a fast and easy way to test changes to the role, fire it up with `vagrant up`
49
+
50
+ See [vagrant docs](https://docs.vagrantup.com/v2/) for getting setup with vagrant
51
+
52
+ #### License
53
+
54
+ Licensed under the MIT License. See the LICENSE file for details.
55
+
56
+ #### Thanks
57
+
58
+ To the contributors:
59
+ - [Ralph von der Heyden](https://github.com/ralph)
60
+
61
+
62
+ #### Feedback, bug-reports, requests, ...
63
+
64
+ Are [welcome](https://github.com/ANXS/postgresql/issues)!
@@ -0,0 +1,16 @@
1
+ # -*- mode: ruby -*-
2
+ # vi: set ft=ruby :
3
+
4
+ Vagrant.configure('2') do |config|
5
+ config.vm.define 'anxs' do |c|
6
+ c.vm.box = 'ubuntu/trusty64'
7
+ c.vm.network :private_network, ip: '192.168.88.3'
8
+ c.vm.hostname = 'anxs.local'
9
+ c.vm.provision 'ansible' do |ansible|
10
+ ansible.playbook = 'test.yml'
11
+ ansible.sudo = true
12
+ ansible.inventory_path = 'vagrant-inventory'
13
+ ansible.host_key_checking = false
14
+ end
15
+ end
16
+ end