Skip to content

Commit fda8517

Browse files
committed
Allow to run services with custom user
In some envs, archivematica needs to run with an user different than "archivematica" This pr adds two configuration default to allow so: - archivematica_src_am_system_user - archivematica_src_am_system_group - archivematica_src_ss_system_user - archivematica_src_ss_system_group
1 parent 63079c7 commit fda8517

15 files changed

+51
-46
lines changed

defaults/main.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ archivematica_src_install_fixity: "no"
1616
archivematica_src_search_enabled: "yes"
1717
archivematica_src_am_mcpclient_instances: 1
1818

19+
# System Users
20+
archivematica_src_am_system_user: "archivematica"
21+
archivematica_src_am_system_group: "archivematica"
22+
archivematica_src_ss_system_user: "archivematica"
23+
archivematica_src_ss_system_group: "archivematica"
1924
#Components to configure
2025
archivematica_src_configure_dashboard: "no"
2126
archivematica_src_configure_ss: "no"

tasks/automation-tools.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
file:
2929
dest: "{{ item }}"
3030
state: "directory"
31-
owner: "archivematica"
32-
group: "archivematica"
31+
owner: "{{ archivematica_src_am_system_user }}"
32+
group: "{{ archivematica_src_am_system_user }}"
3333
with_items:
3434
- "/var/log/archivematica/automation-tools"
3535
- "/var/archivematica/automation-tools"

tasks/configure-gpg.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
executable: "/bin/bash"
3838
register: "gpg_key_already_exist"
3939
become: "yes"
40-
become_user: "archivematica"
40+
become_user: "{{ archivematica_src_ss_system_user }}"
4141
ignore_errors: "yes"
4242

4343
- name: "Create GPG key when doesn't exist"
@@ -63,7 +63,7 @@
6363
print(key)
6464
register: "gpg_fingerprint"
6565
become: "yes"
66-
become_user: "archivematica"
66+
become_user: "{{ archivematica_src_ss_system_user }}"
6767
when: gpg_key_already_exist.rc != 0
6868

6969
- name: "Create GPG Space (new key)"
@@ -119,8 +119,8 @@
119119
- name: "Create directories for GPG locations"
120120
file:
121121
path: "{{ item }}"
122-
owner: "archivematica"
123-
group: "archivematica"
122+
owner: "{{ archivematica_src_ss_system_user }}"
123+
group: "{{ archivematica_src_ss_system_group }}"
124124
mode: "0755"
125125
state: "directory"
126126
become: "yes"

tasks/configure.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@
152152

153153
- name: "Create ssh key"
154154
user:
155-
name: "archivematica"
155+
name: "{{ archivematica_src_am_system_user }}"
156156
generate_ssh_key: "yes"
157157
ssh_key_file: ".ssh/id_rsa"
158158
when: archivematica_src_configure_dashboardsettings is defined
@@ -161,8 +161,8 @@
161161
lineinfile:
162162
create: "yes"
163163
path: "/var/lib/archivematica/.ssh/config"
164-
owner: "archivematica"
165-
group: "archivematica"
164+
owner: "{{ archivematica_src_am_system_user }}"
165+
group: "{{ archivematica_src_am_system_group }}"
166166
mode: "0600"
167167
line: "StrictHostKeyChecking no"
168168
when: archivematica_src_configure_dashboardsettings is defined

tasks/fixity.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,25 +28,25 @@
2828
file:
2929
path: "{{ archivematica_src_fixity_virtualenv }}"
3030
state: "directory"
31-
owner: "archivematica"
32-
group: "archivematica"
31+
owner: "{{ archivematica_src_ss_system_user }}"
32+
group: "{{ archivematica_src_ss_system_group }}"
3333
recurse: "yes"
3434

3535
- name: "Create config file"
3636
template:
3737
src: "etc/sysconfig/fixity.j2"
3838
dest: "{{ systemd_environment_path }}/fixity"
3939
mode: 0640
40-
owner: "archivematica"
41-
group: "archivematica"
40+
owner: "{{ archivematica_src_ss_system_user }}"
41+
group: "{{ archivematica_src_ss_system_group }}"
4242

4343
- name: "Create log dir"
4444
file:
4545
path: "/var/log/archivematica/fixity/"
4646
state: "directory"
4747
mode: 0750
48-
owner: "archivematica"
49-
group: "archivematica"
48+
owner: "{{ archivematica_src_ss_system_user }}"
49+
group: "{{ archivematica_src_ss_system_group }}"
5050

5151
- name: "Create fixity script"
5252
template:
@@ -66,7 +66,7 @@
6666
hour: "3"
6767
day: "1"
6868
month: "*/3"
69-
user: "archivematica"
69+
user: "{{ archivematica_src_ss_system_user }}"
7070
cron_file: "fixity"
7171
state: "present"
7272

@@ -76,5 +76,5 @@
7676
env: yes
7777
value: "/bin/bash"
7878
cron_file: "fixity"
79-
user: "archivematica"
79+
user: "{{ archivematica_src_ss_system_user }}"
8080
state: "present"

tasks/pipeline-environment.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
file:
2121
dest: "{{ archivematica_src_shareddir }}"
2222
state: "directory"
23-
owner: "archivematica"
24-
group: "archivematica"
23+
owner: "{{ archivematica_src_am_system_user }}"
24+
group: "{{ archivematica_src_am_system_group }}"
2525
mode: "0755"
2626
when: "archivematica_src_reset_shareddir|bool or archivematica_src_reset_am_all|bool"
2727

tasks/pipeline-instcode.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,16 +44,16 @@
4444
file:
4545
dest: "{{ archivematica_src_dir }}"
4646
state: "directory"
47-
owner: "archivematica"
48-
group: "archivematica"
47+
owner: "{{ archivematica_src_am_system_user }}"
48+
group: "{{ archivematica_src_am_system_group }}"
4949
recurse: "yes"
5050
with_items:
5151
- "{{ archivematica_src_dir }}/archivematica/src/dashboard/src/media"
5252
- "{{ archivematica_src_dir }}/archivematica/src/dashboard/frontend"
5353

5454
- name: "Install front-end dependencies"
5555
become: "yes"
56-
become_user: "archivematica"
56+
become_user: "{{ archivematica_src_am_system_user }}"
5757
command: npm install
5858
args:
5959
chdir: "{{ item }}"

tasks/pipeline-osconf.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@
4444
file:
4545
dest: "{{ archivematica_src_shareddir }}"
4646
state: "directory"
47-
owner: "archivematica"
48-
group: "archivematica"
47+
owner: "{{ archivematica_src_am_system_user }}"
48+
group: "{{ archivematica_src_am_system_group }}"
4949
when: "create_shareddir"
5050

5151
# (this is required because some hardcoding of the shared dir remains in archivematica code)
@@ -77,8 +77,8 @@
7777
file:
7878
dest: "{{ item }}"
7979
state: "directory"
80-
owner: "archivematica"
81-
group: "archivematica"
80+
owner: "{{ archivematica_src_am_system_user }}"
81+
group: "{{ archivematica_src_am_system_group }}"
8282
mode: "g+s"
8383
with_items:
8484
- "{{ archivematica_src_dashboard_logdir }}"
@@ -90,7 +90,7 @@
9090
file:
9191
dest: "{{ item }}"
9292
state: "directory"
93-
owner: "archivematica"
93+
owner: "{{ archivematica_src_am_system_user }}"
9494
group: "syslog"
9595
mode: "g+w"
9696
with_items:
@@ -100,8 +100,8 @@
100100
- name: "Touch log files"
101101
file:
102102
path: "{{ item }}"
103-
owner: "archivematica"
104-
group: "archivematica"
103+
owner: "{{ archivematica_src_am_system_user }}"
104+
group: "{{ archivematica_src_am_system_group }}"
105105
state: "touch"
106106
with_items:
107107
- "{{ archivematica_src_dashboard_logdir }}/dashboard.log"

tasks/ss-db.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@
3838
- name: "Fix DB permissions"
3939
file:
4040
dest: "{{ archivematica_src_ss_environment['SS_DB_NAME'] }}"
41-
owner: "archivematica"
42-
group: "archivematica"
41+
owner: "{{ archivematica_src_ss_system_user }}"
42+
group: "{{ archivematica_src_ss_system_group }}"
4343
mode: "u=rwX,g=rwX,o=rX"
4444
when: "archivematica_src_ss_environment['SS_DB_URL'] is not defined"
4545

tasks/ss-main.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@
9797
file:
9898
dest: "{{ item }}"
9999
state: "directory"
100-
owner: "archivematica"
101-
group: "archivematica"
100+
owner: "{{ archivematica_src_ss_system_user }}"
101+
group: "{{ archivematica_src_ss_system_group }}"
102102
with_items:
103103
- "/var/archivematica/storage-service"
104104
tags: "amsrc-ss-osconf"
@@ -115,17 +115,17 @@
115115
file:
116116
dest: "{{ archivematica_src_ss_logdir }}"
117117
state: "directory"
118-
owner: "archivematica"
119-
group: "archivematica"
118+
owner: "{{ archivematica_src_ss_system_user }}"
119+
group: "{{ archivematica_src_ss_system_group }}"
120120
mode: "g+s"
121121
tags: "amsrc-ss-osconf"
122122
when: "archivematica_src_logging_backward_compatible|bool"
123123

124124
- name: "Touch SS log files"
125125
file:
126126
path: "{{ archivematica_src_ss_logdir }}/{{ item }}"
127-
owner: "archivematica"
128-
group: "archivematica"
127+
owner: "{{ archivematica_src_ss_system_user }}"
128+
group: "{{ archivematica_src_ss_system_group }}"
129129
state: "touch"
130130
with_items:
131131
- "storage_service.log"

0 commit comments

Comments
 (0)