Browse Source

Merge pull request #393 from moul/master

Tagged 'deps' aptitude tasks
Alex Payne 9 years ago
parent
commit
215b1e8168

+ 3
- 0
README.md View File

@@ -182,6 +182,9 @@ To run just one or more piece, use tags. I try to tag all my includes for easy i
182 182
 
183 183
 You might find that it fails at one point or another. This is probably because something needs to be done manually, usually because there’s no good way of automating it. Fortunately, all the tasks are clearly named so you should be able to find out where it stopped. I’ve tried to add comments where manual intervention is necessary.
184 184
 
185
+The `dependencies` tag installs dependencies, the tagged tasks do not rely on the user settings (`vars/user.yml`).
186
+You might find that very convenient for cloud/Docker images.
187
+
185 188
 ### 6. Set up DNS
186 189
 
187 190
 If you’ve just bought a new domain name, point it at [Linode’s DNS Manager](https://library.linode.com/dns-manager) or similar. Most VPS services (and even some domain registrars) offer a managed DNS service that you can use for this at no charge. If you’re using an existing domain that’s already managed elsewhere, you can probably just modify a few records.

+ 2
- 0
roles/common/tasks/encfs.yml View File

@@ -4,6 +4,8 @@
4 4
     - encfs
5 5
     - fuse
6 6
     - libfuse-dev
7
+  tags:
8
+    - dependencies
7 9
 
8 10
 - name: Create encrypted directory
9 11
   file: state=directory path=/encrypted

+ 2
- 0
roles/common/tasks/google_auth.yml View File

@@ -7,6 +7,8 @@
7 7
     #- libpam-google-authenticator    wasn't available in wheezy
8 8
     - libpam0g-dev
9 9
     - libqrencode3
10
+  tags:
11
+    - dependencies
10 12
 
11 13
 - name: Download Google authenticator pam module
12 14
   get_url: url=https://google-authenticator.googlecode.com/files/libpam-google-authenticator-{{ google_auth_version }}-source.tar.bz2

+ 2
- 0
roles/common/tasks/google_auth_mod.yml View File

@@ -8,6 +8,8 @@
8 8
     - libpam-google-authenticator
9 9
     - libpam0g-dev
10 10
     - libqrencode3
11
+  tags:
12
+    - dependencies
11 13
 
12 14
 - name: Update sshd config to enable challenge responses
13 15
   lineinfile: dest=/etc/ssh/sshd_config

+ 8
- 0
roles/common/tasks/main.yml View File

@@ -3,12 +3,18 @@
3 3
 - name: Set up closest mirror autoselect (ubuntu-only)
4 4
   template: src=apt_sources.list.j2 dest=/etc/apt/sources.list
5 5
   when: ansible_distribution == 'Ubuntu'
6
+  tags:
7
+    - dependencies
6 8
 
7 9
 - name: Update apt cache
8 10
   apt: update_cache=yes
11
+  tags:
12
+    - dependencies
9 13
 
10 14
 - name: Upgrade all safe packages
11 15
   apt: upgrade=safe
16
+  tags:
17
+    - dependencies
12 18
 
13 19
 - name: Install necessities and nice-to-haves
14 20
   apt: pkg={{ item }} state=installed
@@ -32,6 +38,8 @@
32 38
     - molly-guard
33 39
     - vim
34 40
     - zsh
41
+  tags:
42
+    - dependencies
35 43
 
36 44
 - name: Set timezone to UTC
37 45
   action: shell echo Etc/UTC > /etc/timezone

+ 2
- 0
roles/common/tasks/ntp.yml View File

@@ -3,6 +3,8 @@
3 3
 
4 4
 - name: Install ntp
5 5
   apt: pkg=ntp state=installed
6
+  tags:
7
+    - dependencies
6 8
 
7 9
 - name: Configure ntp
8 10
   template: src=ntp.conf.j2 dest=/etc/ntp.conf

+ 2
- 0
roles/common/tasks/security.yml View File

@@ -4,6 +4,8 @@
4 4
     - fail2ban
5 5
     - lynis
6 6
     - rkhunter
7
+  tags:
8
+    - dependencies
7 9
 
8 10
 - name: Copy fail2ban configuration into place
9 11
   template: src=etc_fail2ban_jail.local.j2 dest=/etc/fail2ban/jail.local

+ 2
- 0
roles/common/tasks/ufw.yml View File

@@ -4,6 +4,8 @@
4 4
 # ufw includes sensible icmp defaults
5 5
 - name: Install ufw
6 6
   apt: pkg=ufw state=present
7
+  tags:
8
+    - dependencies
7 9
 
8 10
 - name: Deny everything
9 11
   ufw: policy=deny

+ 2
- 0
roles/git/tasks/cgit.yml View File

@@ -5,6 +5,8 @@
5 5
     - groff
6 6
     - libssl-dev
7 7
     - python-pip
8
+  tags:
9
+    - dependencies
8 10
 
9 11
 - name: Install cgit pip dependencies
10 12
   pip: name={{ item }}

+ 2
- 0
roles/git/tasks/gitolite_packaged.yml View File

@@ -9,6 +9,8 @@
9 9
 
10 10
 - name: Install gitolite3 package
11 11
   apt: pkg=gitolite3 state=installed
12
+  tags:
13
+    - dependencies
12 14
 
13 15
 - name: Copy .gitolite.rc file
14 16
   copy: src=home_git_.gitolite.rc

+ 2
- 0
roles/ircbouncer/tasks/znc.yml View File

@@ -15,6 +15,8 @@
15 15
     - pkg-config
16 16
     - python3-dev
17 17
     - swig
18
+  tags:
19
+    - dependencies
18 20
 
19 21
 - name: Download znc release
20 22
   get_url: url=http://znc.in/releases/archive/znc-{{ znc_version }}.tar.gz dest=/root/znc-{{ znc_version }}.tar.gz

+ 12
- 0
roles/mailserver/tasks/dovecot.yml View File

@@ -1,6 +1,8 @@
1 1
 - name: Add wheezy-backports to get a reasonably current Dovecot on Debian 7
2 2
   apt_repository: repo='deb http://http.debian.net/debian wheezy-backports main'
3 3
   when: ansible_distribution_release == 'wheezy'
4
+  tags:
5
+    - dependencies
4 6
 
5 7
 - name: Install Dovecot and related packages on Debian 7
6 8
   apt: pkg={{ item }} update_cache=yes state=latest default_release=wheezy-backports
@@ -12,6 +14,8 @@
12 14
     - dovecot-pgsql
13 15
     - dovecot-pop3d
14 16
   when: ansible_distribution_release == 'wheezy'
17
+  tags:
18
+    - dependencies
15 19
 
16 20
 - name: Install Dovecot and related packages on distributions other than Debian 7
17 21
   apt: pkg={{ item }} update_cache=yes state=installed
@@ -23,18 +27,26 @@
23 27
     - dovecot-pgsql
24 28
     - dovecot-pop3d
25 29
   when: ansible_distribution_release != 'wheezy'
30
+  tags:
31
+    - dependencies
26 32
 
27 33
 - name: Install Postgres 9.1 for Dovecot on older distributions
28 34
   apt: pkg=postgresql-9.1 state=present
29 35
   when: ansible_distribution_release != 'trusty' and ansible_distribution_release != 'jessie'
36
+  tags:
37
+    - dependencies
30 38
 
31 39
 - name: Install Postgres 9.3 for Dovecot on Ubuntu Trusty
32 40
   apt: pkg=postgresql-9.3 state=present
33 41
   when: ansible_distribution_release == 'trusty'
42
+  tags:
43
+    - dependencies
34 44
 
35 45
 - name: Install Postgres 9.4 for Dovecot on Debian Jessie
36 46
   apt: pkg=postgresql-9.4 state=present
37 47
   when: ansible_distribution_release == 'jessie'
48
+  tags:
49
+    - dependencies
38 50
 
39 51
 - name: Create vmail group
40 52
   group: name=vmail state=present gid=5000

+ 4
- 0
roles/mailserver/tasks/dspam.yml View File

@@ -6,6 +6,8 @@
6 6
     - dspam
7 7
     - postfix-pcre
8 8
   when: ansible_distribution_release == 'wheezy'
9
+  tags:
10
+    - dependencies
9 11
 
10 12
 - name: Install dspam and related packages on distributions other than wheezy
11 13
   apt: pkg={{ item }} state=installed
@@ -15,6 +17,8 @@
15 17
     - dspam
16 18
     - postfix-pcre
17 19
   when: ansible_distribution_release != 'wheezy'
20
+  tags:
21
+    - dependencies
18 22
 
19 23
 - name: Create dspam directory
20 24
   file: state=directory path=/decrypted/dspam group=dspam owner=dspam

+ 2
- 0
roles/mailserver/tasks/opendkim.yml View File

@@ -6,6 +6,8 @@
6 6
   with_items:
7 7
     - opendkim
8 8
     - opendkim-tools
9
+  tags:
10
+    - dependencies
9 11
 
10 12
 - name: Create OpenDKIM config directory
11 13
   file: state=directory path=/etc/opendkim group=opendkim owner=opendkim

+ 8
- 0
roles/mailserver/tasks/postfix.yml View File

@@ -1,14 +1,20 @@
1 1
 - name: Install Postgres 9.1 on older distributions
2 2
   apt: pkg=postgresql-9.1 state=present
3 3
   when: ansible_distribution_release != 'trusty' and ansible_distribution_release != 'jessie'
4
+  tags:
5
+    - dependencies
4 6
 
5 7
 - name: Install Postgres 9.3 on Ubuntu Trusty
6 8
   apt: pkg=postgresql-9.3 state=present
7 9
   when: ansible_distribution_release == 'trusty'
10
+  tags:
11
+    - dependencies
8 12
 
9 13
 - name: Install Postgres 9.4 on Debian Jessie
10 14
   apt: pkg=postgresql-9.4 state=present
11 15
   when: ansible_distribution_release == 'jessie'
16
+  tags:
17
+    - dependencies
12 18
 
13 19
 - name: Install Postfix and related packages
14 20
   apt: pkg={{ item }} state=installed
@@ -20,6 +26,8 @@
20 26
     - postgrey
21 27
     - python-psycopg2
22 28
     - sasl2-bin
29
+  tags:
30
+    - dependencies
23 31
 
24 32
 - name: Set postgres password
25 33
   command: sudo -u {{ db_admin_username }} psql -d {{ db_admin_username }} -c "ALTER USER postgres with  password '{{ db_admin_password }}';"

+ 4
- 0
roles/mailserver/tasks/solr.yml View File

@@ -4,6 +4,8 @@
4 4
     - dovecot-solr
5 5
     - solr-tomcat
6 6
   when: ansible_distribution_release == 'wheezy'
7
+  tags:
8
+    - dependencies
7 9
 
8 10
 - name: Install Solr and related packages on distributions other than wheezy
9 11
   apt: pkg={{ item }} state=installed
@@ -11,6 +13,8 @@
11 13
     - dovecot-solr
12 14
     - solr-tomcat
13 15
   when: ansible_distribution_release != 'wheezy'
16
+  tags:
17
+    - dependencies
14 18
 
15 19
 - name: Work around Debian bug and copy Solr schema file into place
16 20
   copy: src=solr-schema.xml dest=/etc/solr/conf/schema.xml group=root owner=root

+ 2
- 0
roles/mailserver/tasks/z-push.yml View File

@@ -5,6 +5,8 @@
5 5
     - php5
6 6
     - php5-cli
7 7
     - php5-imap
8
+  tags:
9
+    - dependencies
8 10
 
9 11
 - name: Download z-push release
10 12
   get_url:

+ 6
- 0
roles/monitoring/tasks/collectd.yml View File

@@ -1,6 +1,8 @@
1 1
 - name: Add wheezy-backports to be compatible with Dovecot packages on Debian 7
2 2
   apt_repository: repo='deb http://http.debian.net/debian wheezy-backports main'
3 3
   when: ansible_distribution_release == 'wheezy'
4
+  tags:
5
+    - dependencies
4 6
 
5 7
 - name: Install collectd dependencies on wheezy from backports
6 8
   apt: pkg={{ item }} state=installed default_release=wheezy-backports
@@ -9,6 +11,8 @@
9 11
     - librrd2-dev
10 12
     - python-dev
11 13
   when: ansible_distribution_release == 'wheezy'
14
+  tags:
15
+    - dependencies
12 16
 
13 17
 - name: Install collectd dependencies on distributions other than wheezy
14 18
   apt: pkg={{ item }} state=installed
@@ -17,6 +21,8 @@
17 21
     - librrd2-dev
18 22
     - python-dev
19 23
   when: ansible_distribution_release != 'wheezy'
24
+  tags:
25
+    - dependencies
20 26
 
21 27
 - name: Download collectd
22 28
   get_url: url=http://collectd.org/files/collectd-{{collectd_version}}.tar.gz

+ 2
- 0
roles/monitoring/tasks/logwatch.yml View File

@@ -3,6 +3,8 @@
3 3
   with_items:
4 4
     - libdate-manip-perl
5 5
     - logwatch
6
+  tags:
7
+    - dependencies
6 8
 
7 9
 - name: Configure logwatch
8 10
   template: src=etc_logwatch_conf_logwatch.conf.j2 dest=/etc/logwatch/conf/logwatch.conf

+ 2
- 0
roles/monitoring/tasks/monit.yml View File

@@ -7,6 +7,8 @@
7 7
 
8 8
 - name: Install monit
9 9
   apt: pkg=monit state=installed
10
+  tags:
11
+    - dependencies
10 12
 
11 13
 - name: Copy monit master config file into place
12 14
   copy: src=etc_monit_monitrc dest=/etc/monit/monitrc

+ 2
- 0
roles/newebe/tasks/newebe.yml View File

@@ -15,6 +15,8 @@
15 15
     - python-setuptools
16 16
     - python-lxml
17 17
     - supervisor
18
+  tags:
19
+    - dependencies
18 20
 
19 21
 - name: Install Newebe
20 22
   pip: name='git+https://github.com/gelnior/newebe.git#egg=newebe'

+ 2
- 0
roles/news/tasks/selfoss.yml View File

@@ -23,6 +23,8 @@
23 23
     - php5
24 24
     - php5-pgsql
25 25
     - php5-gd
26
+  tags:
27
+    - dependencies
26 28
 
27 29
 - name: Create database user for selfoss
28 30
   postgresql_user: login_host=localhost login_user={{ db_admin_username }} login_password="{{ db_admin_password }}" name={{ selfoss_db_username }} password="{{ selfoss_db_password }}" state=present

+ 20
- 0
roles/owncloud/tasks/owncloud.yml View File

@@ -5,10 +5,14 @@
5 5
 - name: Install Postgres 9.1 on distributions other than Ubuntu Trusty
6 6
   apt: pkg=postgresql-9.1 state=present
7 7
   when: ansible_distribution_release != 'trusty'
8
+  tags:
9
+    - dependencies
8 10
 
9 11
 - name: Install Postgres 9.3 on Ubuntu Trusty
10 12
   apt: pkg=postgresql-9.3 state=present
11 13
   when: ansible_distribution_release == 'trusty'
14
+  tags:
15
+    - dependencies
12 16
 
13 17
 - name: Install ownCloud dependencies
14 18
   apt: pkg={{ item }} state=present
@@ -16,6 +20,8 @@
16 20
     - libapache2-mod-php5
17 21
     - php-apc
18 22
     - python-psycopg2
23
+  tags:
24
+    - dependencies
19 25
 
20 26
 - name: Set postgres password
21 27
   command: sudo -u {{ db_admin_username }} psql -d {{ db_admin_username }} -c "ALTER USER postgres with  password '{{ db_admin_password }}';"
@@ -29,29 +35,43 @@
29 35
 - name: Ensure repository key for ownCloud is in place for Debian 7
30 36
   apt_key: url=http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/Release.key state=present
31 37
   when: ansible_distribution_release == 'wheezy'
38
+  tags:
39
+    - dependencies
32 40
 
33 41
 - name: Add ownCloud OpenSuSE repository for Debian 7
34 42
   apt_repository: repo='deb http://download.opensuse.org/repositories/isv:ownCloud:community/Debian_7.0/ /'
35 43
   when: ansible_distribution_release == 'wheezy'
44
+  tags:
45
+    - dependencies
36 46
 
37 47
 - name: Ensure repository key for ownCloud is in place for Ubuntu 14.04
38 48
   apt_key: url=http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_14.04/Release.key state=present
39 49
   when: ansible_distribution_release == 'trusty'
50
+  tags:
51
+    - dependencies
40 52
 
41 53
 - name: Add ownCloud OpenSuSE repository for Ubuntu 14.04
42 54
   apt_repository: repo='deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_14.04/ /'
43 55
   when: ansible_distribution_release == 'trusty'
56
+  tags:
57
+    - dependencies
44 58
 
45 59
 - name: Ensure repository key for ownCloud is in place for Ubuntu 12.04
46 60
   apt_key: url=http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/Release.key state=present
47 61
   when: ansible_distribution_release == 'precise'
62
+  tags:
63
+    - dependencies
48 64
 
49 65
 - name: Add ownCloud OpenSuSE repository for Ubuntu 12.04
50 66
   apt_repository: repo='deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_12.04/ /'
51 67
   when: ansible_distribution_release == 'precise'
68
+  tags:
69
+    - dependencies
52 70
 
53 71
 - name: Install ownCloud (possibly from OpenSuSE repository)
54 72
   apt: pkg=owncloud update_cache=yes
73
+  tags:
74
+    - dependencies
55 75
 
56 76
 - name: Owncloud www directory
57 77
   file: state=directory path=/var/www/owncloud

+ 2
- 0
roles/readlater/tasks/wallabag.yml View File

@@ -20,6 +20,8 @@
20 20
     - php5-mcrypt
21 21
     - php5-pgsql
22 22
     - php5-tidy
23
+  tags:
24
+    - dependencies
23 25
 
24 26
 - name: Create database user for wallabag
25 27
   postgresql_user: login_host=localhost

+ 4
- 0
roles/tarsnap/tasks/tarsnap.yml View File

@@ -3,6 +3,8 @@
3 3
   register: tarnsap_installed
4 4
   changed_when: "tarnsap_installed.stderr != ''"
5 5
   ignore_errors: yes
6
+  tags:
7
+    - dependencies
6 8
 
7 9
 - name: Install dependencies for Tarsnap
8 10
   when: tarnsap_installed|failed
@@ -11,6 +13,8 @@
11 13
     - e2fslibs-dev
12 14
     - libssl-dev
13 15
     - zlib1g-dev
16
+  tags:
17
+    - dependencies
14 18
 
15 19
 - name: Download the current tarsnap code signing key
16 20
   when: tarnsap_installed|failed

+ 2
- 0
roles/vpn/tasks/openvpn.yml View File

@@ -8,6 +8,8 @@
8 8
     - dnsmasq
9 9
     - openvpn
10 10
     - udev
11
+  tags:
12
+    - dependencies
11 13
 
12 14
 - name: Generate RSA keys for the CA and Server
13 15
   command: openssl genrsa -out {{ item }}.key {{ openvpn_key_size }}

+ 8
- 0
roles/webmail/tasks/roundcube.yml View File

@@ -1,9 +1,13 @@
1 1
 - name: Add backports for Roundcube on Debian
2 2
   lineinfile: dest=/etc/apt/sources.list line="deb http://http.debian.net/debian wheezy-backports main"
3 3
   when: ansible_distribution_release == 'wheezy'
4
+  tags:
5
+    - dependencies
4 6
   
5 7
 - name: Update apt cache for backports
6 8
   apt: update_cache=yes
9
+  tags:
10
+    - dependencies
7 11
 
8 12
 - name: Install Roundcube from wheezy-backports
9 13
   apt: pkg={{ item }} state=latest default_release=wheezy-backports
@@ -12,6 +16,8 @@
12 16
   - roundcube-pgsql
13 17
   - roundcube-plugins
14 18
   when: ansible_distribution_release == 'wheezy'
19
+  tags:
20
+    - dependencies
15 21
 
16 22
 - name: Install Roundcube on Ubuntu 14.04 LTS
17 23
   apt: pkg={{ item }} state=latest
@@ -20,6 +26,8 @@
20 26
   - roundcube-pgsql
21 27
   - roundcube-plugins
22 28
   when: ansible_distribution_release == 'trusty'
29
+  tags:
30
+    - dependencies
23 31
 
24 32
 - name: Configure Roundcube database
25 33
   template: src={{ item.src }} dest={{ item.dest }} group={{ item.group }} mode={{ item.mode }} owner=root force=yes

+ 11
- 0
roles/xmpp/tasks/prosody.yml View File

@@ -1,20 +1,31 @@
1 1
 - name: Ensure repository key for Prosody is in place
2 2
   apt_key: url=https://prosody.im/files/prosody-debian-packages.key state=present
3
+  tags:
4
+    - dependencies
3 5
 
4 6
 # Prosody supplies repo for sid, squeeze, wheezy, jessie, trusty, saucy, raring, quantal, precise and lucid
5 7
 - name: Add Prosody Debian/Ubuntu repository
6 8
   apt_repository: repo="deb http://packages.prosody.im/debian {{ ansible_distribution_release }} main"
9
+  tags:
10
+    - dependencies
7 11
 
8 12
 - name: Install Prosody from official repository
9 13
   apt: pkg=prosody update_cache=yes
14
+  tags:
15
+    - dependencies
10 16
 
11 17
 - name: Install lua-sec-prosody on Debian Wheezy and Ubuntu Precise
12 18
   apt: pkg=lua-sec-prosody update_cache=yes
13 19
   when: ansible_distribution_release == 'wheezy' or ansible_distribution_release == 'precise'
20
+  tags:
21
+    - dependencies
22
+
14 23
 
15 24
 - name: Install lua-sec 0.5+
16 25
   apt: pkg=lua-sec update_cache=yes
17 26
   when: ansible_distribution_release == 'trusty' or ansible_distribution_release == 'jessie'
27
+  tags:
28
+    - dependencies
18 29
 
19 30
 - name: Add prosody user to ssl-cert group
20 31
   user: name=prosody groups=ssl-cert append=yes

Loading…
Cancel
Save