taperole 1.2.8 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/.hound.yml +7 -0
  3. data/CHANGELOG.md +12 -0
  4. data/README.md +7 -16
  5. data/config/style_guides/ruby.yml +238 -0
  6. data/lib/tape/ansible_runner.rb +41 -33
  7. data/lib/tape/installer.rb +56 -28
  8. data/lib/tape.rb +8 -0
  9. data/requirements.yml +5 -2
  10. data/roles/backend_install_essentials/meta/main.yml +1 -1
  11. data/roles/database_load/tasks/db_reset.yml +3 -3
  12. data/roles/deployer_user/tasks/keys.yml +3 -2
  13. data/roles/frontend_deploy/tasks/main.yml +5 -1
  14. data/roles/frontend_install_essentials/meta/main.yml +3 -0
  15. data/roles/general/meta/main.yml +2 -0
  16. data/roles/general/tasks/basic_packages.yml +3 -0
  17. data/roles/general/tasks/main.yml +11 -1
  18. data/roles/nginx/tasks/main.yml +6 -2
  19. data/taperole.gemspec +1 -1
  20. data/templates/base/hosts.example +1 -1
  21. data/templates/base/tape_vars.example.yml +0 -3
  22. data/templates/static_html/tape_vars.example.yml +0 -3
  23. data/vars/defaults.yml +5 -0
  24. data/vendor/ANXS.postgresql/.travis.yml +11 -6
  25. data/vendor/ANXS.postgresql/README.md +5 -1
  26. data/vendor/ANXS.postgresql/Vagrantfile +1 -1
  27. data/vendor/ANXS.postgresql/defaults/main.yml +35 -1
  28. data/vendor/ANXS.postgresql/meta/.galaxy_install_info +1 -1
  29. data/vendor/ANXS.postgresql/tasks/configure.yml +34 -3
  30. data/vendor/ANXS.postgresql/tasks/databases.yml +13 -0
  31. data/vendor/ANXS.postgresql/tasks/install.yml +22 -0
  32. data/vendor/ANXS.postgresql/tasks/users_privileges.yml +4 -4
  33. data/vendor/ANXS.postgresql/templates/etc_apt_preferences.d_apt_postgresql_org_pub_repos_apt.pref.j2 +5 -0
  34. data/vendor/ANXS.postgresql/templates/postgresql.conf-9.3.j2 +596 -0
  35. data/vendor/ANXS.postgresql/templates/postgresql.conf-9.4.j2 +614 -0
  36. data/vendor/ANXS.postgresql/vagrant-inventory +1 -1
  37. data/vendor/bennojoy.memcached/meta/.galaxy_install_info +1 -1
  38. data/vendor/jnv.mosh/LICENSE +24 -0
  39. data/vendor/jnv.mosh/README.md +56 -0
  40. data/vendor/jnv.mosh/meta/.galaxy_install_info +1 -0
  41. data/vendor/jnv.mosh/meta/main.yml +96 -0
  42. data/vendor/jnv.mosh/tasks/main.yml +20 -0
  43. data/vendor/jnv.mosh/vars/main.yml +4 -0
  44. data/vendor/jnv.unattended-upgrades/meta/.galaxy_install_info +1 -1
  45. data/vendor/lxhunter.apt/.gitignore +1 -0
  46. data/vendor/lxhunter.apt/.kitchen.yml +67 -0
  47. data/vendor/lxhunter.apt/README.md +33 -25
  48. data/vendor/lxhunter.apt/defaults/main.yml +1 -5
  49. data/vendor/lxhunter.apt/meta/.galaxy_install_info +1 -1
  50. data/vendor/lxhunter.apt/tasks/main.yml +23 -23
  51. data/vendor/lxhunter.apt/test/integration/default/bats/simple.bats +35 -0
  52. data/vendor/lxhunter.apt/test/integration/default/default.yml +16 -0
  53. data/vendor/tersmitten.htop/.gitignore +29 -0
  54. data/vendor/tersmitten.htop/.travis.yml +75 -0
  55. data/vendor/tersmitten.htop/LICENSE.txt +19 -0
  56. data/vendor/tersmitten.htop/README.md +45 -0
  57. data/vendor/tersmitten.htop/Vagrantfile +71 -0
  58. data/vendor/tersmitten.htop/defaults/main.yml +8 -0
  59. data/vendor/tersmitten.htop/files/etc/skel/.config/htop/htoprc +23 -0
  60. data/vendor/tersmitten.htop/handlers/main.yml +2 -0
  61. data/vendor/tersmitten.htop/meta/.galaxy_install_info +1 -0
  62. data/vendor/tersmitten.htop/meta/main.yml +18 -0
  63. data/vendor/tersmitten.htop/tasks/main.yml +27 -0
  64. data/vendor/tersmitten.htop/templates/empty +0 -0
  65. data/vendor/tersmitten.htop/tests/inventory +1 -0
  66. data/vendor/tersmitten.htop/tests/test.yml +6 -0
  67. data/vendor/tersmitten.htop/tests/vagrant.yml +17 -0
  68. data/vendor/tersmitten.htop/vars/main.yml +2 -0
  69. data/vendor/williamyeh.nodejs/.gitignore +1 -0
  70. data/vendor/williamyeh.nodejs/LICENSE +22 -0
  71. data/vendor/williamyeh.nodejs/README.md +107 -0
  72. data/vendor/williamyeh.nodejs/Vagrantfile +33 -0
  73. data/vendor/williamyeh.nodejs/circle.yml +32 -0
  74. data/vendor/williamyeh.nodejs/defaults/main.yml +17 -0
  75. data/vendor/williamyeh.nodejs/files/nodesource.gpg.key +52 -0
  76. data/vendor/williamyeh.nodejs/meta/.galaxy_install_info +1 -0
  77. data/vendor/williamyeh.nodejs/meta/main.yml +27 -0
  78. data/vendor/williamyeh.nodejs/tasks/main.yml +19 -0
  79. data/vendor/williamyeh.nodejs/tasks/set-role-variables.yml +15 -0
  80. data/vendor/williamyeh.nodejs/tasks/use-apt.yml +88 -0
  81. data/vendor/williamyeh.nodejs/tasks/use-yum.yml +34 -0
  82. data/vendor/williamyeh.nodejs/test/Dockerfile-centos6 +29 -0
  83. data/vendor/williamyeh.nodejs/test/Dockerfile-centos7 +29 -0
  84. data/vendor/williamyeh.nodejs/test/Dockerfile-debian7 +29 -0
  85. data/vendor/williamyeh.nodejs/test/Dockerfile-debian8 +29 -0
  86. data/vendor/williamyeh.nodejs/test/Dockerfile-ubuntu12.04 +29 -0
  87. data/vendor/williamyeh.nodejs/test/Dockerfile-ubuntu14.04 +29 -0
  88. data/vendor/williamyeh.nodejs/test.yml +12 -0
  89. data/vendor/zzet.rbenv/.travis.yml +5 -2
  90. data/vendor/zzet.rbenv/README.md +1 -1
  91. data/vendor/zzet.rbenv/defaults/main.yml +3 -3
  92. data/vendor/zzet.rbenv/meta/.galaxy_install_info +1 -1
  93. data/vendor/zzet.rbenv/tasks/apt_build_depends.yml +7 -0
  94. data/vendor/zzet.rbenv/tasks/homebrew_build_depends.yml +4 -2
  95. data/vendor/zzet.rbenv/tasks/main.yml +5 -2
  96. metadata +53 -7
  97. data/lib/tape/vagrant_provisioner.rb +0 -42
  98. data/vendor/ANXS.postgresql/templates/postgresql.conf.j2 +0 -446
  99. data/vendor/lxhunter.apt/.travis.yml +0 -12
  100. data/vendor/lxhunter.apt/Vagrantfile +0 -16
  101. data/vendor/lxhunter.apt/templates/apt_10general.j2 +0 -4
@@ -0,0 +1,56 @@
1
+ # [Mosh (Mobile shell) Role for Ansible](https://github.com/jnv/ansible-role-mosh)
2
+
3
+ Installs [Mosh](http://mosh.mit.edu/) native package on Debian (wheezy), Ubuntu (precise and newer), OpenSuSE (12.3+), and Fedora (16+).
4
+
5
+ Optional installation from backports repository on Ubuntu and Debian is also supported.
6
+
7
+ ## Usage
8
+
9
+ Install via [Galaxy](https://galaxy.ansibleworks.com/):
10
+
11
+ ```
12
+ ansible-galaxy install jnv.mosh
13
+ ```
14
+
15
+ In your playbook:
16
+
17
+ ```yaml
18
+ - hosts: all
19
+ roles:
20
+ # ...
21
+ - jnv.mosh
22
+ ```
23
+
24
+ And then connect the same way as with SSH, but replace `ssh` with `mosh`:
25
+
26
+ ```
27
+ mosh user@host
28
+ ```
29
+
30
+ ### Install Mosh 1.2 from Backports (Debian, Ubuntu)
31
+
32
+ Ubuntu Precise (12.04) provides 1.1 version of Mosh, but the newer version is available from backports repository. To install:
33
+
34
+ 1. Enable backports repository; you can use [debian-backports role](https://galaxy.ansibleworks.com/list#/roles/224):
35
+
36
+ ```
37
+ ansible-galaxy install jnv.debian-backports
38
+ ```
39
+
40
+ 2. Enable `mosh_debian_use_backports` variable.
41
+
42
+ For example:
43
+
44
+ ```yaml
45
+ - hosts: all
46
+ roles:
47
+ - jnv.debian-backports
48
+ - { role: jnv.mosh, mosh_debian_use_backports: yes}
49
+ ```
50
+
51
+ ## Variables
52
+
53
+ - `mosh_pkg` (default: `mosh`): Mosh package name, usually just on most distributions
54
+ - `mosh_debian_use_backports` (default: `no`): Whether the backports version should be installed; see [above](#install-mosh-12-from-backports-debian-ubuntu).
55
+ - `mosh_debian_backports_target` (default: `{{ansible_distribution_release}}-backports`): Value of the `default_release` to use with [apt module](http://docs.ansible.com/apt_module.html) when `mosh_debian_use_backports` is enabled.
56
+ + The default resolves to, for example, `precise-backports`
@@ -0,0 +1 @@
1
+ {install_date: 'Tue Nov 17 14:42:14 2015', version: v0.1}
@@ -0,0 +1,96 @@
1
+ ---
2
+ galaxy_info:
3
+ author: Jan Vlnas
4
+ description: Installs native package for Mosh (mobile shell)
5
+ license: Unlicense
6
+ min_ansible_version: 1.2
7
+ platforms:
8
+ #- name: EL
9
+ # versions:
10
+ # - all
11
+ # - 5
12
+ # - 6
13
+ #- name: GenericUNIX
14
+ # versions:
15
+ # - all
16
+ # - any
17
+ - name: Fedora
18
+ versions:
19
+ # - all
20
+ - 16
21
+ - 17
22
+ - 18
23
+ - 19
24
+ - 20
25
+ - name: opensuse
26
+ versions:
27
+ # - all
28
+ # - 12.1
29
+ # - 12.2
30
+ - 12.3
31
+ - 13.1
32
+ - 13.2
33
+ #- name: GenericBSD
34
+ # versions:
35
+ # - all
36
+ # - any
37
+ #- name: FreeBSD
38
+ # versions:
39
+ # - all
40
+ # - 8.0
41
+ # - 8.1
42
+ # - 8.2
43
+ # - 8.3
44
+ # - 8.4
45
+ # - 9.0
46
+ # - 9.1
47
+ # - 9.1
48
+ # - 9.2
49
+ - name: Ubuntu
50
+ versions:
51
+ # - all
52
+ # - lucid
53
+ # - maverick
54
+ # - natty
55
+ # - oneiric
56
+ - precise
57
+ - quantal
58
+ - raring
59
+ - saucy
60
+ - trusty
61
+ #- name: SLES
62
+ # versions:
63
+ # - all
64
+ # - 10SP3
65
+ # - 10SP4
66
+ # - 11
67
+ # - 11SP1
68
+ # - 11SP2
69
+ # - 11SP3
70
+ #- name: GenericLinux
71
+ # versions:
72
+ # - all
73
+ # - any
74
+ - name: Debian
75
+ versions:
76
+ # - all
77
+ # - etch
78
+ # - lenny
79
+ # - squeeze
80
+ - wheezy
81
+ categories:
82
+ #- cloud
83
+ #- cloud:ec2
84
+ #- cloud:gce
85
+ #- cloud:rax
86
+ #- database
87
+ #- database:nosql
88
+ #- database:sql
89
+ #- development
90
+ #- monitoring
91
+ # - networking
92
+ #- packaging
93
+ - system
94
+ #- web
95
+ dependencies: []
96
+
@@ -0,0 +1,20 @@
1
+ ---
2
+ - name: install Mosh package for Debian-based system
3
+ apt: name={{mosh_pkg}} state=present
4
+ when: ansible_os_family == 'Debian' and (not mosh_debian_use_backports)
5
+
6
+ - name: install Mosh package for Debian-based system from backports
7
+ apt: name={{mosh_pkg}} state=present default_release={{mosh_debian_backports_target}}
8
+ when: ansible_os_family == 'Debian' and mosh_debian_use_backports
9
+
10
+ - name: install Mosh package for Debian-based system
11
+ apt: name={{mosh_pkg}} state=present
12
+ when: ansible_os_family == 'Debian'
13
+
14
+ - name: install Mosh package for openSuSE
15
+ zypper: name={{mosh_pkg}} state=present
16
+ when: ansible_distribution == 'opensuse'
17
+
18
+ - name: install Mosh package for Fedora
19
+ yum: name={{mosh_pkg}} state=present
20
+ when: ansible_distribution == 'Fedora'
@@ -0,0 +1,4 @@
1
+ ---
2
+ mosh_pkg: mosh
3
+ mosh_debian_use_backports: no
4
+ mosh_debian_backports_target: "{{ansible_distribution_release}}-backports"
@@ -1 +1 @@
1
- {install_date: 'Fri Mar 20 18:33:14 2015', version: v1.0.1}
1
+ {install_date: 'Mon Nov 16 16:35:20 2015', version: v1.0.1}
@@ -39,3 +39,4 @@ Thumbs.db
39
39
  .vagrant
40
40
  vagrant_*
41
41
 
42
+ .kitchen
@@ -0,0 +1,67 @@
1
+ ---
2
+ driver:
3
+ name: docker
4
+ binary: /usr/local/bin/docker
5
+
6
+ provisioner:
7
+ name: ansible_playbook
8
+ ansible_verbose: true
9
+ ansible_verbosity: 1
10
+ hosts: test-kitchen
11
+ require_ansible_omnibus: false
12
+ require_chef_omnibus: false
13
+ require_ansible_repo: false
14
+
15
+ platforms:
16
+ - name: debian-8
17
+ driver_config:
18
+ provision_command:
19
+ - apt-get update && apt-get install git ruby build-essential python-setuptools python-netaddr -y
20
+ - apt-get install python-pip python-dev git -y
21
+ - pip install PyYAML jinja2 paramiko python-slugify
22
+ - cd /tmp && git clone https://github.com/ansible/ansible.git --recursive
23
+ - cd /tmp/ansible && make install
24
+ - mkdir /etc/ansible && cp /tmp/ansible/examples/hosts /etc/ansible/
25
+ - name: debian-7
26
+ driver_config:
27
+ provision_command:
28
+ - apt-get update && apt-get install git ruby build-essential python-setuptools python-netaddr -y
29
+ - apt-get install python-pip python-dev git -y
30
+ - pip install PyYAML jinja2 paramiko python-slugify
31
+ - cd /tmp && git clone https://github.com/ansible/ansible.git --recursive
32
+ - cd /tmp/ansible && make install
33
+ - mkdir /etc/ansible && cp /tmp/ansible/examples/hosts /etc/ansible/
34
+ - name: ubuntu-14.04
35
+ driver_config:
36
+ provision_command:
37
+ - apt-get update && apt-get install git ruby build-essential python-setuptools python-netaddr -y
38
+ - apt-get install python-pip python-dev git -y
39
+ - pip install PyYAML jinja2 paramiko python-slugify
40
+ - cd /tmp && git clone https://github.com/ansible/ansible.git --recursive
41
+ - cd /tmp/ansible && make install
42
+ - mkdir /etc/ansible && cp /tmp/ansible/examples/hosts /etc/ansible/
43
+ - name: ubuntu-14.10
44
+ driver_config:
45
+ provision_command:
46
+ - apt-get update && apt-get install git ruby build-essential python-setuptools python-netaddr -y
47
+ - apt-get install python-pip python-dev git -y
48
+ - pip install PyYAML jinja2 paramiko python-slugify
49
+ - cd /tmp && git clone https://github.com/ansible/ansible.git --recursive
50
+ - cd /tmp/ansible && make install
51
+ - mkdir /etc/ansible && cp /tmp/ansible/examples/hosts /etc/ansible/
52
+ - name: ubuntu-15.04
53
+ driver_config:
54
+ provision_command:
55
+ - apt-get update && apt-get install git ruby build-essential python-setuptools python-netaddr -y
56
+ - apt-get install python-pip python-dev git -y
57
+ - pip install PyYAML jinja2 paramiko python-slugify
58
+ - cd /tmp && git clone https://github.com/ansible/ansible.git --recursive
59
+ - cd /tmp/ansible && make install
60
+ - mkdir /etc/ansible && cp /tmp/ansible/examples/hosts /etc/ansible/
61
+
62
+ suites:
63
+ - name: default
64
+
65
+ # Fix for: https://github.com/neillturner/kitchen-ansible/issues/66
66
+ verifier:
67
+ ruby_bindir: '/usr/bin'
@@ -1,15 +1,11 @@
1
1
  Description
2
2
  ===========
3
3
 
4
- [![Build Status](https://travis-ci.org/lxhunter/apt.png?branch=master)](https://travis-ci.org/lxhunter/apt)
5
-
6
4
  `apt` is an ansible role which was built to help you with:
7
5
 
8
6
  * updating the apt-cache
9
- * control if you want `recommended` packages
10
- * control if you want `suggested` packages
7
+ * lets you control the configuration of apt by modifing the content of `/etc/apt/apt.conf.d`
11
8
  * optionally install additional packages
12
- * optionally configure unattended upgrades
13
9
 
14
10
  I use the role as part of my common setup.
15
11
 
@@ -18,17 +14,28 @@ I hope it helps!
18
14
  Testing
19
15
  ===========
20
16
 
21
- For your convience I also added vagrant to some testing, please find attached a vagrant file for ubuntu1310-i386
17
+ For your convience I also added test-kitchen for testing, please find attached the test kitchen.yml file for:
22
18
 
19
+ * Debian Jessie
20
+ * Debian Squeeze
21
+ * Ubuntu Vivid Vervet
22
+ * Ubuntu Trusty Tahr
23
+ * Ubuntu Utopic Unicorn
23
24
 
24
25
  ```lang
25
26
  $ ansible-galaxy install lxhunter.apt
26
27
  $ cd /usr/local/etc/ansible/roles/lxhunter.apt
27
- $ vagrant up
28
+ $ kitchen test
28
29
  ```
29
30
 
30
- If you need more base images have look at the wonderful project:
31
- * [basebox-packer](https://github.com/misheska/basebox-packer)
31
+ #### Requirements for test kitchen
32
+
33
+ I used homebrew with rbenv for ruby on osx.
34
+
35
+ required:
36
+ ```shell
37
+ $ gem install test-kitchen kitchen-docker kitchen-ansible kitchen-vagrant
38
+ ```
32
39
 
33
40
  Requirements
34
41
  ===========
@@ -36,32 +43,33 @@ Requirements
36
43
  This role requires Ansible 1.4 or higher.
37
44
 
38
45
  Tested and supported:
39
- * Ubuntu saucy
46
+ * Debian Jessie
47
+ * Debian Squeeze
48
+ * Ubuntu Vivid Vervet
49
+ * Ubuntu Trusty Tahr
50
+ * Ubuntu Utopic Unicorn
40
51
 
41
52
  Optional Variables
42
53
  ===========
43
54
 
44
55
  These are the turning knobs and their default values, if you like to change em, just go ahead.
45
56
 
46
- ```lang
47
- # group_vars/all.yml
48
-
49
- # Sets the amount of time the cache is valid (5m)
57
+ ```yaml
58
+ # Default: Sets the amount of time the cache is valid (5m)
50
59
  apt_cache_valid_time: 3600
60
+
51
61
  # apt by default does not specify whether or not “recommended” packages should be installed.
52
- apt_install_recommends: false
53
62
  # apt by default does not specify whether or not “suggested” packages should be installed.
54
- apt_install_suggests: false
63
+ apt_config:
64
+ - { key: 'APT::Install-Recommends', value: 'false', file: '10general' }
65
+ - { key: 'APT::Install-Suggests', value: 'false', file: '10general' }
55
66
 
56
67
  # Optional: Array of additional packages
57
- apt_install_packages: []
58
-
59
- # Optional: attributes for unattended upgrades config
60
- apt_unattended_upgrades_config:
61
- - { key: 'APT::Periodic::Update-Package-Lists', value: '1' }
62
- - { key: 'APT::Periodic::Download-Upgradeable-Packages', value: '1' }
63
- - { key: 'APT::Periodic::AutocleanInterval', value: '7' }
64
- - { key: 'APT::Periodic::Unattended-Upgrade', value: '1' }
68
+ apt_install_packages: ['sudo']
69
+
70
+ # Optional: Array of packages to be purged
71
+ apt_purge_packages: ['rpcbind']
72
+
65
73
  ```
66
74
 
67
75
  Examples
@@ -69,7 +77,7 @@ Examples
69
77
 
70
78
  Like so you can include the role in your setup:
71
79
 
72
- ```lang
80
+ ```shell
73
81
  # playbook.yml
74
82
 
75
83
  - { role: lxhunter.apt }
@@ -1,7 +1,3 @@
1
1
  ---
2
2
  # Sets the amount of time the cache is valid (5m)
3
- apt_cache_valid_time: 3600
4
- # apt by default does not specify whether or not “recommended” packages should be installed.
5
- apt_install_recommends: false
6
- # apt by default does not specify whether or not “suggested” packages should be installed.
7
- apt_install_suggests: false
3
+ apt_cache_valid_time: 3600
@@ -1 +1 @@
1
- {install_date: 'Fri Mar 20 18:33:16 2015', version: master}
1
+ {install_date: 'Mon Nov 16 16:35:24 2015', version: master}
@@ -2,24 +2,25 @@
2
2
  - name: Update caches
3
3
  apt:
4
4
  update_cache: yes
5
- cache_valid_time: "{{ apt_cache_valid_time }}"
5
+ cache_valid_time: "{{ apt_cache_valid_time | default(3600) }}"
6
6
 
7
- - name: Create general configuration file for APT
8
- template:
9
- src: apt_10general.j2
10
- dest: /etc/apt/apt.conf.d/10general
11
- owner: root
12
- group: root
13
- mode: 0644
14
-
15
- - name: Install apt packages
7
+ - name: Install ansible required apt packages
16
8
  apt:
17
- pkg: "{{item}}"
9
+ pkg: "python-apt"
18
10
  state: present
19
- with_items:
20
- [python-apt, unattended-upgrades]
21
11
 
22
- - name: Install packages
12
+ - name: Set apt parameters in 10periodic
13
+ lineinfile:
14
+ dest: "/etc/apt/apt.conf.d/{{ item.file }}"
15
+ state: present
16
+ regexp: "^{{ item.key }}"
17
+ line: "{{ item.key }} \"{{ item.value }}\";"
18
+ insertafter: EOF
19
+ create: yes
20
+ with_items: apt_config
21
+ when: apt_config is defined
22
+
23
+ - name: Install additional user specified packages
23
24
  apt:
24
25
  pkg: "{{item}}"
25
26
  state: present
@@ -27,12 +28,11 @@
27
28
  apt_install_packages
28
29
  when: apt_install_packages is defined
29
30
 
30
- - name: Update parameters
31
- lineinfile:
32
- dest: /etc/apt/apt.conf.d/10periodic
33
- state: present
34
- regexp: "^{{ item.key }}"
35
- line: "{{ item.key }} \"{{ item.value }}\";"
36
- insertafter: EOF
37
- with_items: apt_unattended_upgrades_config
38
- when: apt_unattended_upgrades_config is defined
31
+ - name: Purge packages
32
+ apt:
33
+ pkg: "{{item}}"
34
+ state: absent
35
+ purge: yes
36
+ with_items:
37
+ apt_purge_packages
38
+ when: apt_purge_packages is defined
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env bats
2
+
3
+ @test "Check that we have Install-Recommends set to false" {
4
+ grep 'APT::Install-Recommends "false";' /etc/apt/apt.conf.d/10general
5
+ }
6
+
7
+ @test "Check that we have Install-Suggests set to false" {
8
+ grep 'APT::Install-Suggests "false";' /etc/apt/apt.conf.d/10general
9
+ }
10
+
11
+ @test "Check that we have Update-Package-Lists set to 1" {
12
+ grep 'APT::Periodic::Update-Package-Lists "1";' /etc/apt/apt.conf.d/10periodic
13
+ }
14
+
15
+ @test "Check that we have Download-Upgradeable-Packages set to 1" {
16
+ grep 'APT::Periodic::Download-Upgradeable-Packages "1";' /etc/apt/apt.conf.d/10periodic
17
+ }
18
+
19
+ @test "Check that we have python-apt installed" {
20
+ dpkg -s python-apt
21
+ }
22
+
23
+ @test "Check that we have sudo installed" {
24
+ dpkg -s sudo
25
+ }
26
+
27
+ @test "Check that we have rpcbind installed" {
28
+ run dpkg -s rpcbind
29
+ [ $status -ne 0 ]
30
+ }
31
+
32
+ #@test "Check that we have do not have a testuser" {
33
+ # run id -u "testuser"
34
+ # [ $status -ne 0 ]
35
+ #}
@@ -0,0 +1,16 @@
1
+ ---
2
+ - hosts: all
3
+ vars:
4
+ apt_install_packages: ['sudo']
5
+ apt_config:
6
+ - { key: 'APT::Get::Show-Upgraded', value: 'true', file: '10general' }
7
+ - { key: 'APT::Install-Recommends', value: 'false', file: '10general' }
8
+ - { key: 'APT::Install-Suggests', value: 'false', file: '10general' }
9
+ - { key: 'APT::Periodic::Update-Package-Lists', value: '1', file: '10periodic' }
10
+ - { key: 'APT::Periodic::Download-Upgradeable-Packages', value: '1', file: '10periodic' }
11
+ - { key: 'APT::Periodic::AutocleanInterval', value: '7', file: '10periodic' }
12
+ - { key: 'APT::Periodic::Unattended-Upgrade', value: '1', file: '10periodic' }
13
+ apt_purge_packages: ['rpcbind']
14
+ roles:
15
+ - apt
16
+
@@ -0,0 +1,29 @@
1
+ # OS generated files #
2
+ ######################
3
+ .DS_Store
4
+ .DS_Store?
5
+ ._*
6
+ .Spotlight-V100
7
+ .Trashes
8
+ Icon?
9
+ ehthumbs.db
10
+ Thumbs.db
11
+
12
+ # IDE files #
13
+ #################
14
+ /.settings
15
+ /.buildpath
16
+ /.project
17
+ /nbproject
18
+ *.komodoproject
19
+ *.kpf
20
+ /.idea
21
+
22
+ # Vagrant files #
23
+ .vagrant/
24
+ vagrant_ansible_inventory_*
25
+ ansible.cfg
26
+
27
+ # Other files #
28
+ ###############
29
+ !empty
@@ -0,0 +1,75 @@
1
+ ---
2
+ language: python
3
+ python: "2.7"
4
+
5
+ env:
6
+ - ANSIBLE_VERSION=latest
7
+ - ANSIBLE_VERSION=1.9.1
8
+ - ANSIBLE_VERSION=1.9.0.1
9
+ - ANSIBLE_VERSION=1.8.4
10
+ - ANSIBLE_VERSION=1.8.3
11
+ - ANSIBLE_VERSION=1.8.2
12
+ - ANSIBLE_VERSION=1.8.1
13
+ - ANSIBLE_VERSION=1.8
14
+ - ANSIBLE_VERSION=1.7.2
15
+ - ANSIBLE_VERSION=1.7.1
16
+ - ANSIBLE_VERSION=1.7
17
+ - ANSIBLE_VERSION=1.6.9
18
+ - ANSIBLE_VERSION=1.6.8
19
+ - ANSIBLE_VERSION=1.6.7
20
+ - ANSIBLE_VERSION=1.6.6
21
+ - ANSIBLE_VERSION=1.6.5
22
+ - ANSIBLE_VERSION=1.6.4
23
+ - ANSIBLE_VERSION=1.6.3
24
+ - ANSIBLE_VERSION=1.6.2
25
+ - ANSIBLE_VERSION=1.6.10
26
+ - ANSIBLE_VERSION=1.6.1
27
+ - ANSIBLE_VERSION=1.6
28
+ - ANSIBLE_VERSION=1.5.5
29
+ - ANSIBLE_VERSION=1.5.4
30
+ - ANSIBLE_VERSION=1.5.3
31
+ - ANSIBLE_VERSION=1.5.2
32
+ - ANSIBLE_VERSION=1.5.1
33
+ - ANSIBLE_VERSION=1.5
34
+
35
+ branches:
36
+ only:
37
+ - master
38
+
39
+ matrix:
40
+ allow_failures:
41
+ # See https://github.com/ansible/ansible/issues/6385
42
+ - env: ANSIBLE_VERSION=1.5.1
43
+
44
+ before_install:
45
+ - sudo apt-get update -qq
46
+
47
+ # Remove htop
48
+ - sudo apt-get remove --purge htop
49
+
50
+ install:
51
+ # Install Ansible.
52
+ - if [ "$ANSIBLE_VERSION" = "latest" ]; then pip install ansible; else pip install ansible==$ANSIBLE_VERSION; fi
53
+
54
+ # Add ansible.cfg to pick up roles path.
55
+ - printf "[defaults]\nroles_path = ../" > ansible.cfg
56
+
57
+ script:
58
+ # Check the role/playbook's syntax.
59
+ - ansible-playbook -i tests/inventory tests/test.yml --syntax-check
60
+
61
+ # Run the role/playbook with ansible-playbook.
62
+ - ansible-playbook -i tests/inventory tests/test.yml --connection=local --sudo -vvvv
63
+
64
+ # Run the role/playbook again, checking to make sure it's idempotent.
65
+ - >
66
+ ansible-playbook -i tests/inventory tests/test.yml --connection=local --sudo
67
+ | grep -q 'changed=0.*failed=0'
68
+ && (echo 'Idempotence test: pass' && exit 0)
69
+ || (echo 'Idempotence test: fail' && exit 1)
70
+
71
+ notifications:
72
+ email: false
73
+ hipchat:
74
+ rooms:
75
+ secure: l5UYzdHkL4Ec2luCwA0gcbKL52x7wY8dSj2K2NYCxZFNwOH7p04l7eAtackqn/t73TL1DvjtOPLAEO2hRDQzLSHPbGXiNS30nbOIG0IkuHQoatPSa9gcV1NfwMHU/bj3TU1NiAjAOoew0KKrhN1H+5UpfzMcqDM0Scgf/uiVGHo=
@@ -0,0 +1,19 @@
1
+ Copyright (c) Oefenweb.nl <https://github.com/Oefenweb>
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is furnished
8
+ to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
@@ -0,0 +1,45 @@
1
+ ## htop
2
+
3
+ [![Build Status](https://travis-ci.org/Oefenweb/ansible-htop.svg?branch=master)](https://travis-ci.org/Oefenweb/ansible-htop) [![Ansible Galaxy](http://img.shields.io/badge/ansible--galaxy-htop-blue.svg)](https://galaxy.ansible.com/list#/roles/1412)
4
+
5
+ Set up htop in Debian-like systems.
6
+
7
+ #### Requirements
8
+
9
+ None
10
+
11
+ #### Variables
12
+
13
+ * `htop_htoprc_destinations` [default: `{skell: dest: /etc/skel/.config/htop, current: dest: "{{ ansible_env.HOME }}/.config/htop"}`]: Destinations to copy the htoprc file to
14
+ * `htop_htoprc_destinations.key`: The identifier of the file (e.g. `skel`)
15
+ * `htop_htoprc_destinations.key.dest`: The remote path of the file to copy (e.g. `/etc/skel`)
16
+ * `htop_htoprc_destinations.key.owner`: The name of the user that should own the file (optional, default `root`)
17
+ * `htop_htoprc_destinations.key.group`: The name of the group that should own the file (optional, default `owner`, then `root`)
18
+ * `htop_htoprc_destinations.key.mode`: The mode of the file, such as 0644 (optional, default `0644`)
19
+
20
+ * `htop_replace_htoprc`: [default: `true`]: Whether or not to overwrite existing htoprc files
21
+
22
+ ## Dependencies
23
+
24
+ None
25
+
26
+ #### Example
27
+
28
+ ```yaml
29
+ ---
30
+ - hosts: all
31
+ roles:
32
+ - htop
33
+ ```
34
+
35
+ #### License
36
+
37
+ MIT
38
+
39
+ #### Author Information
40
+
41
+ Mischa ter Smitten
42
+
43
+ #### Feedback, bug-reports, requests, ...
44
+
45
+ Are [welcome](https://github.com/Oefenweb/ansible-htop/issues)!