2017-01-03 12:41:19 +01:00
|
|
|
---
|
2020-12-17 08:06:44 +01:00
|
|
|
|
2023-03-20 23:33:19 +01:00
|
|
|
- ansible.builtin.fail:
|
2020-12-17 08:06:44 +01:00
|
|
|
msg: "You must provide a value for the 'tomcat_instance_port' variable."
|
2021-05-09 23:06:42 +02:00
|
|
|
when: tomcat_instance_port is not defined or tomcat_instance_port | length == 0
|
2020-12-17 08:06:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
- name: "Test if uid '{{ tomcat_instance_port }}' exists"
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.command:
|
|
|
|
cmd: 'id -un -- "{{ tomcat_instance_port }}"'
|
2020-12-17 08:06:44 +01:00
|
|
|
register: get_login_from_id
|
|
|
|
failed_when: False
|
|
|
|
changed_when: False
|
|
|
|
check_mode: no
|
|
|
|
|
|
|
|
- name: "Fail if uid already exists for another user"
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.fail:
|
2020-12-17 08:06:44 +01:00
|
|
|
msg: "Uid '{{ tomcat_instance_port }}' is already used by '{{ get_login_from_id.stdout }}'. You must change uid for '{{ tomcat_instance_name }}'"
|
|
|
|
when:
|
|
|
|
- get_login_from_id.rc == 0
|
|
|
|
- get_login_from_id.stdout != tomcat_instance_name
|
|
|
|
|
2017-01-03 12:41:19 +01:00
|
|
|
- name: Create group instance
|
2023-03-20 23:33:19 +01:00
|
|
|
|
|
|
|
ansible.builtin.group:
|
2019-05-14 13:57:31 +02:00
|
|
|
name: "{{ tomcat_instance_name }}"
|
|
|
|
gid: "{{ tomcat_instance_port }}"
|
2017-01-03 12:41:19 +01:00
|
|
|
|
|
|
|
- name: Create user instance
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.user:
|
2017-01-03 12:41:19 +01:00
|
|
|
name: "{{ tomcat_instance_name }}"
|
|
|
|
group: "{{ tomcat_instance_name }}"
|
|
|
|
uid: "{{ tomcat_instance_port }}"
|
|
|
|
home: "{{ tomcat_instance_root }}/{{ tomcat_instance_name }}"
|
|
|
|
shell: '/bin/bash'
|
|
|
|
createhome: no
|
|
|
|
|
|
|
|
- name: Create home dir
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.file:
|
2017-01-03 12:41:19 +01:00
|
|
|
path: "{{ tomcat_instance_root }}/{{ tomcat_instance_name }}"
|
|
|
|
state: directory
|
2017-04-21 12:11:56 +02:00
|
|
|
owner: "{{ tomcat_instance_name }}"
|
|
|
|
group: "{{ tomcat_instance_name }}"
|
2017-05-21 19:33:52 +02:00
|
|
|
mode: "u=rwx,g=rwxs,o="
|
2017-01-03 12:41:19 +01:00
|
|
|
|
2017-05-21 23:34:34 +02:00
|
|
|
- name: Is /etc/aliases present?
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.stat:
|
2017-05-21 23:34:34 +02:00
|
|
|
path: /etc/aliases
|
|
|
|
register: etc_aliases
|
|
|
|
|
2017-01-03 12:41:19 +01:00
|
|
|
- name: Set mail alias for user
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.lineinfile:
|
2017-01-03 12:41:19 +01:00
|
|
|
dest: '/etc/aliases'
|
|
|
|
state: present
|
|
|
|
line: "{{ tomcat_instance_name }}: {{ tomcat_instance_mail }}"
|
2017-05-21 23:34:34 +02:00
|
|
|
regexp: "{{ tomcat_instance_name }}:"
|
|
|
|
when: etc_aliases.stat.exists and tomcat_instance_mail is defined
|
2017-07-07 11:34:28 +02:00
|
|
|
register: tomcat_instance_mail_alias
|
|
|
|
|
|
|
|
- name: Run newaliases
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.command:
|
|
|
|
cmd: newaliases
|
2019-12-31 15:34:48 +01:00
|
|
|
when: tomcat_instance_mail_alias is changed
|
2017-01-03 12:41:19 +01:00
|
|
|
|
|
|
|
- name: Enable sudo right
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.lineinfile:
|
2017-01-03 12:41:19 +01:00
|
|
|
dest: '/etc/sudoers.d/tomcat'
|
|
|
|
state: present
|
2017-03-23 16:59:43 +01:00
|
|
|
mode: "0440"
|
2017-01-03 12:41:19 +01:00
|
|
|
create: yes
|
|
|
|
line: "%{{ tomcat_instance_name }} ALL = ({{ tomcat_instance_name }}) SETENV: ALL"
|
|
|
|
validate: 'visudo -cf %s'
|
|
|
|
|
|
|
|
- name: Enable sudo right for deploy user
|
2023-03-20 23:33:19 +01:00
|
|
|
ansible.builtin.lineinfile:
|
2017-01-03 12:41:19 +01:00
|
|
|
dest: '/etc/sudoers.d/tomcat'
|
|
|
|
state: present
|
2017-03-23 16:59:43 +01:00
|
|
|
mode: "0440"
|
2017-01-03 12:41:19 +01:00
|
|
|
create: yes
|
|
|
|
line: "{{ tomcat_instance_deploy_user }} ALL = ({{ tomcat_instance_name }}) NOPASSWD: SETENV: ALL"
|
|
|
|
validate: 'visudo -cf %s'
|
|
|
|
when: tomcat_instance_deploy_user is defined
|