Skip to content

Commit 6929e1a

Browse files
scollazoMiguel Angel
authored andcommitted
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 90b0fb5 commit 6929e1a

13 files changed

+44
-41
lines changed

defaults/main.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ archivematica_src_install_acceptance_tests: "no"
1616
archivematica_src_install_fixity: "no"
1717
archivematica_src_search_enabled: "yes"
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"
@@ -52,7 +57,6 @@ archivematica_src_am_db_name: "MCP" # Archivematica database name
5257
archivematica_src_am_db_user: "archivematica" # Archivematica database user
5358
archivematica_src_am_db_password: "demo" # Archivematica database password
5459

55-
5660
# Reset data options
5761
archivematica_src_reset_mcpdb: "false" # Reset AM MCP database
5862
archivematica_src_reset_shareddir: "false" # Reset AM shared directory

tasks/automation-tools.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
file:
2727
dest: "{{ item }}"
2828
state: "directory"
29-
owner: "archivematica"
30-
group: "archivematica"
29+
owner: "{{ archivematica_src_am_system_user }}"
30+
group: "{{ archivematica_src_am_system_user }}"
3131
with_items:
3232
- "/var/log/archivematica/automation-tools"
3333
- "/var/archivematica/automation-tools"

tasks/configure-gpg.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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/fixity.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,26 +41,25 @@
4141
file:
4242
path: "{{ archivematica_src_fixity_virtualenv }}"
4343
state: "directory"
44-
owner: "archivematica"
45-
group: "archivematica"
44+
owner: "{{ archivematica_src_ss_system_user }}"
45+
group: "{{ archivematica_src_ss_system_group }}"
4646
recurse: "yes"
4747

4848
- name: "Create config file"
4949
template:
5050
src: "etc/sysconfig/fixity.j2"
5151
dest: "{{ systemd_environment_path }}/fixity"
5252
mode: 0640
53-
owner: "archivematica"
54-
group: "archivematica"
53+
owner: "{{ archivematica_src_ss_system_user }}"
54+
group: "{{ archivematica_src_ss_system_group }}"
5555

5656
- name: "Create log dir"
5757
file:
5858
path: "/var/log/archivematica/fixity/"
5959
state: "directory"
6060
mode: 0750
61-
owner: "archivematica"
62-
group: "archivematica"
63-
61+
owner: "{{ archivematica_src_ss_system_user }}"
62+
group: "{{ archivematica_src_ss_system_group }}"
6463

6564
- name: "Create fixity script"
6665
template:
@@ -80,7 +79,7 @@
8079
hour: "3"
8180
day: "1"
8281
month: "*/3"
83-
user: "archivematica"
82+
user: "{{ archivematica_src_ss_system_user }}"
8483
cron_file: "fixity"
8584
state: "present"
8685

@@ -90,5 +89,5 @@
9089
env: yes
9190
value: "/bin/bash"
9291
cron_file: "fixity"
93-
user: "archivematica"
92+
user: "{{ archivematica_src_ss_system_user }}"
9493
state: "present"

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
@@ -133,8 +133,8 @@
133133
file:
134134
dest: "{{ item }}"
135135
state: "directory"
136-
owner: "archivematica"
137-
group: "archivematica"
136+
owner: "{{ archivematica_src_ss_system_user }}"
137+
group: "{{ archivematica_src_ss_system_group }}"
138138
with_items:
139139
- "/var/archivematica/storage-service"
140140
tags: "amsrc-ss-osconf"
@@ -151,17 +151,17 @@
151151
file:
152152
dest: "{{ archivematica_src_ss_logdir }}"
153153
state: "directory"
154-
owner: "archivematica"
155-
group: "archivematica"
154+
owner: "{{ archivematica_src_ss_system_user }}"
155+
group: "{{ archivematica_src_ss_system_group }}"
156156
mode: "g+s"
157157
tags: "amsrc-ss-osconf"
158158
when: "archivematica_src_logging_backward_compatible|bool"
159159

160160
- name: "Touch SS log files"
161161
file:
162162
path: "{{ archivematica_src_ss_logdir }}/{{ item }}"
163-
owner: "archivematica"
164-
group: "archivematica"
163+
owner: "{{ archivematica_src_ss_system_user }}"
164+
group: "{{ archivematica_src_ss_system_group }}"
165165
state: "touch"
166166
with_items:
167167
- "storage_service.log"

templates/etc/systemd/system/archivematica-dashboard.service.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ StartLimitBurst=5
88

99
[Service]
1010
PIDFile=/run/archivematica-dashboard_gunicorn.pid
11-
User=archivematica
12-
Group=archivematica
11+
User={{ archivematica_src_am_system_user }}
12+
Group={{ archivematica_src_am_system_group }}
1313
EnvironmentFile=-{{ systemd_environment_path }}/archivematica-dashboard
1414
{% if archivematica_src_syslog_enabled|bool %}
1515
StandardOutput=syslog

templates/etc/systemd/system/archivematica-mcp-client.service.j2

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ After=syslog.target network.target
66

77
[Service]
88
Type=simple
9-
User=archivematica
10-
Group=archivematica
9+
User={{ archivematica_src_am_system_user }}
10+
Group={{ archivematica_src_am_system_group }}
1111
EnvironmentFile=-{{ systemd_environment_path }}/archivematica-mcp-client
1212
{% if archivematica_src_syslog_enabled|bool %}
1313
StandardOutput=syslog

0 commit comments

Comments
 (0)