taperole 1.2.8 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
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)!