2018-11-15 10:26:52 +01:00
|
|
|
---
|
2019-05-14 11:18:24 +02:00
|
|
|
- name: Create directory for versionscheck
|
|
|
|
become: true
|
|
|
|
file:
|
|
|
|
path: '/etc/ansible-version'
|
|
|
|
state: directory
|
|
|
|
mode: 0755
|
2019-05-17 15:10:50 +02:00
|
|
|
when: submodules_versioncheck|bool
|
2019-05-14 11:18:24 +02:00
|
|
|
|
|
|
|
- name: check playbook version
|
|
|
|
become: true
|
|
|
|
slurp:
|
|
|
|
src: "{{ playbook_version_path }}"
|
2019-05-17 15:55:28 +02:00
|
|
|
register: playbook_version
|
2019-05-17 15:10:50 +02:00
|
|
|
when: submodules_versioncheck|bool
|
2019-05-14 11:18:24 +02:00
|
|
|
ignore_errors: yes
|
|
|
|
|
2019-05-17 15:55:28 +02:00
|
|
|
- name: Print local version
|
2019-05-14 11:18:24 +02:00
|
|
|
debug:
|
2019-05-17 15:55:28 +02:00
|
|
|
msg: "Local role version: '{{ playbook_version_number|string }}'."
|
|
|
|
when: submodules_versioncheck|bool
|
|
|
|
|
|
|
|
- name: Print remote version
|
|
|
|
debug:
|
|
|
|
msg: "Remote role version: '{{ playbook_version.content | default('Y3VycmVudGx5IG5vdCBkZXBsb3llZAo=') | b64decode | string }}'."
|
2019-05-17 15:10:50 +02:00
|
|
|
when: submodules_versioncheck|bool
|
2019-05-14 11:18:24 +02:00
|
|
|
|
|
|
|
- name: Check if your version is outdated
|
|
|
|
fail:
|
2019-05-17 15:55:28 +02:00
|
|
|
msg: "Your current ansible module has the version '{{ playbook_version_number }}' and is outdated. Please update it!"
|
|
|
|
when:
|
2019-05-17 15:10:50 +02:00
|
|
|
- playbook_version.content|default("Mgo=")|b64decode|int - 1 >= playbook_version_number|int and submodules_versioncheck|bool
|
2019-05-14 11:18:24 +02:00
|
|
|
|
|
|
|
- name: write new version to remote disk
|
|
|
|
become: true
|
|
|
|
copy:
|
|
|
|
content: "{{ playbook_version_number }}"
|
|
|
|
dest: "{{ playbook_version_path }}"
|
2019-05-17 15:10:50 +02:00
|
|
|
when: submodules_versioncheck|bool
|
2019-01-19 00:15:14 +01:00
|
|
|
|
2018-11-15 10:26:52 +01:00
|
|
|
- name: install the latest libselinux-python package
|
2019-02-18 22:13:07 +01:00
|
|
|
become: yes
|
2018-11-15 10:26:52 +01:00
|
|
|
dnf:
|
|
|
|
name: libselinux-python
|
|
|
|
state: latest
|
2019-05-17 15:55:28 +02:00
|
|
|
when:
|
2019-03-08 11:33:28 +01:00
|
|
|
- ansible_distribution == "Fedora"
|
2018-11-15 10:26:52 +01:00
|
|
|
|
2019-03-06 11:15:16 +01:00
|
|
|
- name: install keychain to support ssh agent
|
2019-03-06 10:15:21 +01:00
|
|
|
become: yes
|
2019-05-17 15:55:28 +02:00
|
|
|
package:
|
2019-03-06 10:15:21 +01:00
|
|
|
name: keychain
|
|
|
|
state: latest
|
2019-05-17 15:55:28 +02:00
|
|
|
when:
|
2019-03-06 11:31:51 +01:00
|
|
|
- ansible_os_family != 'RedHat'
|
2019-05-17 15:10:50 +02:00
|
|
|
- install_keychain|bool
|
2019-03-06 11:15:16 +01:00
|
|
|
|
|
|
|
- name: install keychain on centos
|
|
|
|
become: yes
|
|
|
|
yum:
|
2019-03-06 11:43:45 +01:00
|
|
|
name:
|
2019-05-17 15:55:28 +02:00
|
|
|
- http://packages.psychotic.ninja/7/base/x86_64/RPMS//keychain-2.8.0-3.el7.psychotic.noarch.rpm
|
2019-03-06 11:31:51 +01:00
|
|
|
- libselinux-python
|
2019-03-06 11:15:16 +01:00
|
|
|
state: present
|
2019-03-08 11:33:28 +01:00
|
|
|
when:
|
|
|
|
- ansible_os_family == 'RedHat'
|
2019-05-17 15:10:50 +02:00
|
|
|
- install_keychain|bool
|
2019-03-06 10:15:21 +01:00
|
|
|
|
2018-11-15 10:26:52 +01:00
|
|
|
- name: Create a global bashrc configuration
|
2019-02-18 22:13:07 +01:00
|
|
|
become: yes
|
2019-01-13 20:06:29 +01:00
|
|
|
template:
|
2019-01-10 13:32:49 +01:00
|
|
|
src: 'templates/bash.bashrc'
|
2018-11-15 10:26:52 +01:00
|
|
|
dest: '/etc/bash.bashrc'
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
mode: 'u=rw,g=r,o=r'
|
|
|
|
|
|
|
|
- name: Copy bashrc configuration to admin users
|
2019-02-18 22:13:07 +01:00
|
|
|
become: yes
|
2018-11-15 15:04:18 +01:00
|
|
|
template:
|
2019-01-10 13:32:49 +01:00
|
|
|
src: 'templates/bashrc'
|
2018-11-15 10:26:52 +01:00
|
|
|
dest: '/home/{{ item }}/.bashrc'
|
|
|
|
owner: '{{ item }}'
|
2019-01-13 17:30:59 +01:00
|
|
|
group: '{{ item }}'
|
2018-11-15 10:26:52 +01:00
|
|
|
mode: 'u=rw,g=r,o='
|
|
|
|
with_items: '{{ admins }}'
|
2019-02-01 14:59:07 +01:00
|
|
|
when: admins is defined
|
2018-11-15 10:26:52 +01:00
|
|
|
|
2019-03-03 23:09:48 +01:00
|
|
|
- name: Copy bashrc configuration to non admin users
|
|
|
|
become: yes
|
|
|
|
template:
|
|
|
|
src: 'templates/bashrc'
|
|
|
|
dest: '/home/{{ item }}/.bashrc'
|
|
|
|
owner: '{{ item }}'
|
|
|
|
group: '{{ item }}'
|
|
|
|
mode: 'u=rw,g=r,o='
|
2019-05-14 11:18:24 +02:00
|
|
|
with_items: '{{ accounts }}'
|
|
|
|
when: accounts is defined
|
2019-03-03 23:09:48 +01:00
|
|
|
|
2018-11-15 10:26:52 +01:00
|
|
|
- name: Copy vimrc configuration to root
|
2019-02-18 22:13:07 +01:00
|
|
|
become: yes
|
2018-11-15 10:26:52 +01:00
|
|
|
copy:
|
2019-01-10 13:32:49 +01:00
|
|
|
src: 'templates/vimrc'
|
2018-11-15 10:26:52 +01:00
|
|
|
dest: '/root/.vimrc'
|
|
|
|
owner: root
|
|
|
|
group: root
|
|
|
|
mode: 'u=rw,g=r,o='
|
|
|
|
|
2019-03-03 23:09:48 +01:00
|
|
|
- name: Copy vimrc configuration to non admin users
|
|
|
|
become: yes
|
|
|
|
copy:
|
|
|
|
src: 'templates/vimrc'
|
|
|
|
dest: '/home/{{ item }}/.vimrc'
|
|
|
|
owner: '{{ item }}'
|
|
|
|
group: '{{ item }}'
|
|
|
|
mode: 'u=rw,g=r,o='
|
2019-05-14 11:18:24 +02:00
|
|
|
with_items: "{{ accounts }}"
|
|
|
|
when: accounts is defined
|
2019-03-03 23:09:48 +01:00
|
|
|
|
2018-11-15 10:26:52 +01:00
|
|
|
- name: Copy vimrc configuration to admin users
|
2019-02-18 22:13:07 +01:00
|
|
|
become: yes
|
2018-11-15 10:26:52 +01:00
|
|
|
copy:
|
2019-01-10 13:32:49 +01:00
|
|
|
src: 'templates/vimrc'
|
2018-11-15 10:26:52 +01:00
|
|
|
dest: '/home/{{ item }}/.vimrc'
|
|
|
|
owner: '{{ item }}'
|
2019-01-13 17:30:59 +01:00
|
|
|
group: '{{ item }}'
|
2018-11-15 10:26:52 +01:00
|
|
|
mode: 'u=rw,g=r,o='
|
|
|
|
with_items: "{{ admins }}"
|
2019-02-01 14:59:07 +01:00
|
|
|
when: admins is defined
|
2018-11-15 10:26:52 +01:00
|
|
|
|
2019-04-30 09:42:37 +02:00
|
|
|
- name: delete root .bashrc
|
|
|
|
become: true
|
|
|
|
file:
|
|
|
|
state: absent
|
|
|
|
path: "/root/.bashrc"
|
2019-05-17 15:55:28 +02:00
|
|
|
when: not allow_own_root_bashrc
|