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
@@ -0,0 +1,26 @@
1
+ # Install Node.js using packages crafted by NodeSource
2
+ ---
3
+ - name: Ensure the system can use the HTTPS transport for APT
4
+ stat: path=/usr/lib/apt/methods/https
5
+ register: apt_https_transport
6
+
7
+ - name: Install HTTPS transport for APT
8
+ apt: pkg=apt-transport-https state=installed
9
+ when: not apt_https_transport.stat.exists
10
+
11
+ - name: Import the NodeSource GPG key into apt
12
+ apt_key: url=https://deb.nodesource.com/gpgkey/nodesource.gpg.key state=present
13
+
14
+ - name: Add NodeSource deb repository
15
+ apt_repository: repo='deb https://deb.nodesource.com/node {{ ansible_distribution_release }} main' state=present
16
+
17
+ - name: Add NodeSource deb-src repository
18
+ apt_repository: repo='deb-src https://deb.nodesource.com/node {{ ansible_distribution_release }} main' state=present
19
+
20
+ - name: Add NodeSource repository preferences
21
+ template:
22
+ src: etc/apt/preferences.d/deb_nodesource_com_node.pref.2
23
+ dest: /etc/apt/preferences.d/deb_nodesource_com_node.pref
24
+
25
+ - name: Install Node.js
26
+ apt: pkg=nodejs state=installed update_cache=yes
@@ -0,0 +1,5 @@
1
+ # {{ ansible_managed }}
2
+
3
+ Package: *
4
+ Pin: release o=Node Source
5
+ Pin-Priority: {{ nodejs_nodesource_pin_priority }}
@@ -0,0 +1,2 @@
1
+ [local]
2
+ localhost
@@ -0,0 +1,2 @@
1
+ ---
2
+ # vars file for nodejs
@@ -0,0 +1,40 @@
1
+ ---
2
+ driver:
3
+ name: vagrant
4
+
5
+ provisioner:
6
+ # ansible_platform: ubuntu
7
+ name: ansible_playbook
8
+ # roles_path:
9
+ hosts: test-kitchen
10
+ require_ansible_repo: true
11
+ ansible_verbose: true
12
+ ansible_verbosity: 1
13
+ sudo: true
14
+ extra_vars:
15
+ rbenv:
16
+ env: system
17
+ version: v0.4.0
18
+ ruby_version: 2.1.2
19
+
20
+ platforms:
21
+ # - name: ubuntu-10.04 # lucid
22
+ - name: ubuntu-12.04 # precise
23
+ - name: ubuntu-13.10 # saucy
24
+ - name: ubuntu-14.04 # trusty
25
+ # - name: ubuntu-14.10 # utopic ## No bento box yet... Official Scheduled Release: October 23rd 2014
26
+ # - name: centos-5.10 # TODO: NOT TESTED YET... unsure if kitchen-ansible works yet...
27
+ - name: centos-6.4
28
+ - name: centos-6.5
29
+ # - name: centos-7.0 # TODO: Needs work to fix kitchen-ansible repo to use
30
+ # - name: nocm_centos-6.5
31
+ # driver_plugin: vagrant
32
+ # driver_config:
33
+ # box: nocm_centos-6.5
34
+ # box_url: http://puppet-vagrant-boxes.puppetlabs.com/centos-65-x64-virtualbox-nocm.box
35
+ # network:
36
+ # - ['forwarded_port', {guest: 8080, host: 8080}]
37
+ # - [ 'private_network', { ip: '192.168.33.11' } ]
38
+
39
+ suites:
40
+ - name: default
@@ -0,0 +1,12 @@
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
7
+ install:
8
+ - pip install ansible
9
+ script:
10
+ - echo localhost > inventory
11
+ - ansible-playbook --syntax-check -i inventory role.yml
12
+ - ansible-playbook -i inventory role.yml --connection=local --sudo -vvvv
@@ -0,0 +1,100 @@
1
+ rbenv
2
+ ========
3
+
4
+ Role for installing [rbenv](https://github.com/sstephenson/rbenv).
5
+
6
+ Role ready status
7
+ ------------
8
+
9
+ [![Build Status](https://travis-ci.org/zzet/ansible-rbenv-role.png?branch=master)](https://travis-ci.org/zzet/ansible-rbenv-role)
10
+
11
+ Requirements
12
+ ------------
13
+
14
+ none
15
+
16
+ Role Variables
17
+ --------------
18
+
19
+ Default variables are:
20
+
21
+ rbenv:
22
+ env: system
23
+ version: v0.4.0
24
+ ruby_version: 2.0.0-p247
25
+
26
+ rbenv_repo: "git://github.com/sstephenson/rbenv.git"
27
+
28
+ rbenv_plugins:
29
+ - { name: "rbenv-vars",
30
+ repo: "git://github.com/sstephenson/rbenv-vars.git",
31
+ version: "v1.2.0" }
32
+
33
+ - { name: "ruby-build",
34
+ repo: "git://github.com/sstephenson/ruby-build.git",
35
+ version: "v20131225.1" }
36
+
37
+ - { name: "rbenv-default-gems",
38
+ repo: "git://github.com/sstephenson/rbenv-default-gems.git",
39
+ version: "v1.0.0" }
40
+
41
+ - { name: "rbenv-installer",
42
+ repo: "git://github.com/fesplugas/rbenv-installer.git",
43
+ version: "8bb9d34d01f78bd22e461038e887d6171706e1ba" }
44
+
45
+ - { name: "rbenv-update",
46
+ repo: "git://github.com/rkh/rbenv-update.git",
47
+ version: "32218db487dca7084f0e1954d613927a74bc6f2d" }
48
+
49
+ - { name: "rbenv-whatis",
50
+ repo: "git://github.com/rkh/rbenv-whatis.git",
51
+ version: "v1.0.0" }
52
+
53
+ - { name: "rbenv-use",
54
+ repo: "git://github.com/rkh/rbenv-use.git",
55
+ version: "v1.0.0" }
56
+
57
+ rbenv_root: "{% if rbenv.env == 'system' %}/usr/local/rbenv{% else %}$HOME/.rbenv{% endif %}"
58
+
59
+ rbenv_users: []
60
+
61
+ Description:
62
+
63
+ - ` rbenv.env ` - Type of rbenv installation. Allows 'system' or 'user' values
64
+ - ` rbenv.version ` - Version of rbenv to install (tag from [rbenv releases page](https://github.com/sstephenson/rbenv/releases))
65
+ - ` rbenv.ruby_version ` - Version of ruby to install as global rbenv ruby
66
+ - ` rbenv_repo ` - Repository with source code of rbenv to install
67
+ - ` rbenv_plugins ` - Array of Hashes with information about plugins to install
68
+ - ` rbenv_root ` - Install path
69
+ - ` rbenv_users ` - Array of usernames for multiuser install. User must be present in the system
70
+ - ` default_gems_file ` - This is Rbenv's plugin _rbenv-default-gems_. Sets the path to a default-gems file of your choice (_don't set it_ if you want to use the default file `files/default-gems`)
71
+
72
+ Example:
73
+
74
+ - hosts: web
75
+ vars:
76
+ rbenv:
77
+ env: user
78
+ version: v0.4.0
79
+ ruby_version: 2.0.0-p353
80
+ roles:
81
+ - role: zzet.rbenv
82
+ rbenv_users:
83
+ - user
84
+
85
+ Dependencies
86
+ ------------
87
+
88
+ none
89
+
90
+ License
91
+ -------
92
+
93
+ MIT
94
+
95
+ Author Information
96
+ ------------------
97
+
98
+ [Andrew Kumanyaev](http://github.com/zzet)
99
+
100
+ [![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/zzet/ansible-rbenv-role/trend.png)](https://bitdeli.com/free "Bitdeli Badge")
@@ -0,0 +1,20 @@
1
+ ---
2
+ rbenv:
3
+ env: system
4
+ version: v0.4.0
5
+ ruby_version: 2.1.5
6
+
7
+ rbenv_repo: "git://github.com/sstephenson/rbenv.git"
8
+
9
+ rbenv_plugins:
10
+ - { name: "rbenv-vars", repo: "git://github.com/sstephenson/rbenv-vars.git", version: "v1.2.0" }
11
+ - { name: "ruby-build", repo: "git://github.com/sstephenson/ruby-build.git", version: "v20141225" }
12
+ - { name: "rbenv-default-gems", repo: "git://github.com/sstephenson/rbenv-default-gems.git", version: "v1.0.0" }
13
+ - { name: "rbenv-installer", repo: "git://github.com/fesplugas/rbenv-installer.git", version: "22cc96aa45d06faca5958b1aa1688596198407a3" }
14
+ - { name: "rbenv-update", repo: "git://github.com/rkh/rbenv-update.git", version: "f0ff6e3264c45fdf2a8064205db6c8b3a707894e" }
15
+ - { name: "rbenv-whatis", repo: "git://github.com/rkh/rbenv-whatis.git", version: "v1.0.0" }
16
+ - { name: "rbenv-use", repo: "git://github.com/rkh/rbenv-use.git", version: "v1.0.0" }
17
+
18
+ rbenv_root: "{% if rbenv.env == 'system' %}/usr/local/rbenv{% else %}~/.rbenv{% endif %}"
19
+
20
+ rbenv_users: []
@@ -0,0 +1 @@
1
+ bundler
@@ -0,0 +1,4 @@
1
+ ---
2
+ :sources:
3
+ - https://rubygems.org
4
+ gem: --no-ri --no-rdoc
@@ -0,0 +1 @@
1
+ GEM_PATH=$GEM_PATH:$HOME/.gems
@@ -0,0 +1,5 @@
1
+ ---
2
+ # handlers file for rbenv
3
+ - name: rehash rbenv
4
+ shell: RBENV_ROOT={{ rbenv_root }} rbenv rehash
5
+
@@ -0,0 +1 @@
1
+ {install_date: 'Fri Mar 20 18:33:15 2015', version: 2.0.0}
@@ -0,0 +1,27 @@
1
+ ---
2
+ galaxy_info:
3
+ author: "Andrew Kumanyaev"
4
+ description: rbenv
5
+ company: Undev
6
+ license: MIT
7
+ min_ansible_version: 1.7.1
8
+ version: 0.2
9
+
10
+ platforms:
11
+ - name: EL
12
+ versions:
13
+ # - 5
14
+ - 6
15
+ # - 7
16
+ - name: Ubuntu
17
+ versions:
18
+ # - lucid # 10.04 ## package is named git-core 10.04... also geerlingguy.git doesn't support 10.04 either
19
+ - precise # 12.04
20
+ - saucy # 13.10
21
+ - trusty # 14.04
22
+ # - utopic # 14.10
23
+ categories:
24
+ - development
25
+ - system
26
+
27
+ dependencies: []
@@ -0,0 +1,10 @@
1
+ ---
2
+ - hosts: localhost
3
+ remote_user: root
4
+ vars_files:
5
+ - 'vars/main.yml'
6
+ - 'defaults/main.yml'
7
+ tasks:
8
+ - include: 'tasks/main.yml'
9
+ handlers:
10
+ - include: 'handlers/main.yml'
@@ -0,0 +1,15 @@
1
+ - name: install build depends
2
+ apt: pkg={{ item }} state=present install_recommends=no
3
+ with_items:
4
+ - build-essential
5
+ - git
6
+ - libcurl4-openssl-dev
7
+ - libreadline-dev
8
+ - libssl-dev
9
+ - libxml2-dev
10
+ - libxslt1-dev
11
+ - zlib1g-dev
12
+ sudo: true
13
+ tags:
14
+ - rbenv
15
+
@@ -0,0 +1,10 @@
1
+ ---
2
+ - homebrew: name={{ item }} state=present
3
+ with_items:
4
+ - openssl
5
+ - libyaml
6
+ # required for building Ruby <= 1.9.3-p0
7
+ - homebrew_tap: tap=homebrew/dupes state=present
8
+ when: rbenv.ruby_version <= 1.9.3-p0
9
+ - homebrew: name=apple-gcc42 state=present
10
+ when: rbenv.ruby_version <= 1.9.3-p0
@@ -0,0 +1,192 @@
1
+ ---
2
+ - name: include env vars
3
+ include_vars: "{{ rbenv.env }}.yml"
4
+
5
+ - include: apt_build_depends.yml
6
+ when: ansible_pkg_mgr == 'apt'
7
+ - include: yum_build_depends.yml
8
+ when: ansible_pkg_mgr == 'yum'
9
+ # - include: pacman_build_depends.yml # Arch Linux
10
+ # when: ansible_pkg_mgr == 'pacman'
11
+ - include: homebrew_build_depends.yml
12
+ when: ansible_os_family == 'Darwin'
13
+
14
+
15
+ - name: checkout rbenv_repo for system
16
+ git: >
17
+ repo={{ rbenv_repo }}
18
+ dest={{ rbenv_root }}
19
+ version={{ rbenv.version }}
20
+ accept_hostkey=true
21
+ when: rbenv.env == "system"
22
+ tags:
23
+ - rbenv
24
+
25
+ - name: create plugins directory for system
26
+ file: state=directory path={{ rbenv_root }}/plugins
27
+ when: rbenv.env == "system"
28
+ tags:
29
+ - rbenv
30
+
31
+ - name: install plugins for system
32
+ git: >
33
+ repo={{ item.repo }}
34
+ dest={{ rbenv_root }}/plugins/{{ item.name }}
35
+ version={{ item.version }}
36
+ accept_hostkey=true
37
+ with_items: rbenv_plugins
38
+ when: rbenv.env == "system"
39
+ tags:
40
+ - rbenv
41
+
42
+ - name: checkout rbenv_repo for selected users
43
+ git: >
44
+ repo={{ rbenv_repo }}
45
+ dest={{ rbenv_root }}
46
+ version={{ rbenv.version }}
47
+ accept_hostkey=true
48
+ with_items: rbenv_users
49
+ sudo: true
50
+ sudo_user: "{{ item }}"
51
+ when: not "system" == "{{ rbenv.env }}"
52
+ ignore_errors: true
53
+ tags:
54
+ - rbenv
55
+
56
+ - name: create plugins directory for selected users
57
+ file: state=directory path={{ rbenv_root }}/plugins
58
+ with_items: rbenv_users
59
+ sudo: true
60
+ sudo_user: "{{ item }}"
61
+ when: not "system" == "{{ rbenv.env }}"
62
+ ignore_errors: true
63
+ tags:
64
+ - rbenv
65
+
66
+ - name: install plugins for selected users
67
+ git: >
68
+ repo={{ item[1].repo }}
69
+ dest={{ rbenv_root }}/plugins/{{ item[1].name }}
70
+ version={{ item[1].version }}
71
+ accept_hostkey=true
72
+ with_nested:
73
+ - rbenv_users
74
+ - rbenv_plugins
75
+ sudo: true
76
+ sudo_user: "{{ item[0] }}"
77
+ when: not "system" == "{{ rbenv.env }}"
78
+ ignore_errors: true
79
+ tags:
80
+ - rbenv
81
+
82
+ - name: add rbenv initialization to profile system-wide
83
+ template: src=rbenv.sh.j2 dest=/etc/profile.d/rbenv.sh owner=root group=root mode=0755
84
+ sudo: true
85
+ when:
86
+ - ansible_os_family != 'OpenBSD'
87
+ tags:
88
+ - rbenv
89
+
90
+ - name: set default-gems for select users
91
+ copy: src=default-gems dest={{ rbenv_root }}/default-gems
92
+ with_items: rbenv_users
93
+ sudo: true
94
+ sudo_user: "{{ item }}"
95
+ when:
96
+ - not "system" == "{{ rbenv.env }}"
97
+ - default_gems_file is not defined
98
+ ignore_errors: true
99
+ tags:
100
+ - rbenv
101
+
102
+ - name: set custom default-gems for select users
103
+ copy: src={{ default_gems_file }} dest={{ rbenv_root }}/default-gems
104
+ with_items: rbenv_users
105
+ sudo: true
106
+ sudo_user: "{{ item }}"
107
+ when:
108
+ - not "system" == "{{ rbenv.env }}"
109
+ - default_gems_file is defined
110
+ ignore_errors: true
111
+ tags:
112
+ - rbenv
113
+
114
+ - name: set gemrc for select users
115
+ copy: src=gemrc dest=~/.gemrc
116
+ with_items: rbenv_users
117
+ sudo: true
118
+ sudo_user: "{{ item }}"
119
+ when: not "system" == "{{ rbenv.env }}"
120
+ ignore_errors: true
121
+ tags:
122
+ - rbenv
123
+
124
+ - name: set vars for select users
125
+ copy: src=vars dest={{ rbenv_root }}/vars
126
+ with_items: rbenv_users
127
+ sudo: true
128
+ sudo_user: "{{ item }}"
129
+ when: not "system" == "{{ rbenv.env }}"
130
+ ignore_errors: true
131
+ tags:
132
+ - rbenv
133
+
134
+ - name: check ruby {{ rbenv.ruby_version }} installed for system
135
+ shell: $SHELL -lc "rbenv versions | grep {{ rbenv.ruby_version }}"
136
+ register: ruby_installed
137
+ changed_when: false
138
+ ignore_errors: yes
139
+ when: rbenv.env == "system"
140
+ tags:
141
+ - rbenv
142
+
143
+ - name: install ruby {{ rbenv.ruby_version }} for system
144
+ shell: bash -lc "rbenv install {{ rbenv.ruby_version }}"
145
+ when:
146
+ - rbenv.env == "system"
147
+ - ruby_installed.rc != 0
148
+ tags:
149
+ - rbenv
150
+
151
+ - name: install ruby {{ rbenv.ruby_version }} for system
152
+ shell: bash -lc "rbenv global {{ rbenv.ruby_version }} && rbenv rehash"
153
+ when:
154
+ - rbenv.env == "system"
155
+ - ruby_installed.rc != 0
156
+ tags:
157
+ - rbenv
158
+
159
+ - name: check ruby {{ rbenv.ruby_version }} installed for select users
160
+ shell: $SHELL -lc "rbenv versions | grep {{ rbenv.ruby_version }}"
161
+ sudo: true
162
+ sudo_user: "{{ item }}"
163
+ with_items: rbenv_users
164
+ when: not "system" == "{{ rbenv.env }}"
165
+ register: ruby_installed
166
+ ignore_errors: yes
167
+ tags:
168
+ - rbenv
169
+
170
+ - name: install ruby {{ rbenv.ruby_version }} for select users
171
+ shell: $SHELL -lc "rbenv install {{ rbenv.ruby_version }}"
172
+ sudo: true
173
+ sudo_user: "{{ item[1] }}"
174
+ with_together:
175
+ - ruby_installed.results
176
+ - rbenv_users
177
+ when: (not "system" == "{{ rbenv.env }}") and (item[0].rc != 0)
178
+ ignore_errors: true
179
+ tags:
180
+ - rbenv
181
+
182
+ - name: install ruby {{ rbenv.ruby_version }} for select users
183
+ shell: $SHELL -lc "rbenv global {{ rbenv.ruby_version }} && rbenv rehash"
184
+ sudo: true
185
+ sudo_user: "{{ item[1] }}"
186
+ with_together:
187
+ - ruby_installed.results
188
+ - rbenv_users
189
+ when: (not "system" == "{{ rbenv.env }}") and (item[0].rc != 0)
190
+ ignore_errors: true
191
+ tags:
192
+ - rbenv
@@ -0,0 +1,2 @@
1
+ ---
2
+ - pacman: name=base-devel state=present update_cache=yes
@@ -0,0 +1,15 @@
1
+ ---
2
+ - name: install build depends
3
+ yum: name={{ item }} state=present
4
+ with_items:
5
+ - gcc
6
+ - openssl-devel
7
+ - libyaml-devel
8
+ - readline-devel
9
+ - zlib-devel
10
+ - libffi-devel
11
+ - git
12
+ sudo: true
13
+ tags:
14
+ - rbenv
15
+
@@ -0,0 +1,11 @@
1
+ {% if rbenv.env == 'system' %}
2
+ export PATH={{ rbenv_root }}/bin:$PATH
3
+ export RBENV_ROOT="{{ rbenv_root }}"
4
+ eval "$(rbenv init -)"
5
+ {% else %}
6
+ if [ -d "$HOME/.rbenv" ]; then
7
+ export PATH=$HOME/.rbenv/bin:$PATH;
8
+ export RBENV_ROOT=$HOME/.rbenv;
9
+ eval "$(rbenv init -)";
10
+ fi
11
+ {% endif %}
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ ## We'll assume a system-level install for testing purposes
4
+ describe file('/usr/local/rbenv') do
5
+ it { should be_directory }
6
+ it { should be_owned_by 'root' }
7
+ it { should be_grouped_into 'root' }
8
+ end
9
+
10
+ describe file('/usr/local/rbenv/bin/rbenv') do
11
+ it { should be_file }
12
+ it { should be_executable }
13
+ it { should be_executable.by('others') }
14
+ it { should be_owned_by 'root' }
15
+ it { should be_grouped_into 'root' }
16
+ end
17
+
18
+ describe command('bash -l -c "which rbenv"') do
19
+ its(:stdout) { should match /\/usr\/local\/rbenv\/bin\/rbenv/ }
20
+ it { should return_exit_status 0 }
21
+ end
22
+
23
+ describe command('bash -l -c "rbenv --version"') do
24
+ its(:stdout) { should match /0\.4\.0/ }
25
+ it { should return_exit_status 0 }
26
+ end
@@ -0,0 +1,10 @@
1
+ require 'serverspec'
2
+
3
+ include Serverspec::Helper::DetectOS
4
+ include Serverspec::Helper::Exec
5
+
6
+ RSpec.configure do |c|
7
+ c.before :all do
8
+ c.os = backend(Serverspec::Commands::Base).check_os
9
+ end
10
+ end
@@ -0,0 +1,8 @@
1
+ ---
2
+ # This playbook deploys the wemux role for testing
3
+
4
+ - hosts: test-kitchen
5
+ user: root
6
+
7
+ roles:
8
+ - rbenv
@@ -0,0 +1 @@
1
+ ---
@@ -0,0 +1,2 @@
1
+ ---
2
+ rbenv_root: "/usr/local/rbenv"
@@ -0,0 +1,2 @@
1
+ ---
2
+ rbenv_root: "~/.rbenv"