|
1 | 1 | ---
|
2 | 2 | - name: Install script-server dependencies
|
3 |
| - ansible.builtin.package: |
4 |
| - pkg: "{{ item }}" |
| 3 | + apt: |
| 4 | + name: |
| 5 | + - python3-tornado |
| 6 | + - apache2-utils # for htpasswd auth |
5 | 7 | state: present
|
6 |
| - loop: |
7 |
| - - python3-tornado |
8 |
| - - apache2-utils # for htpasswd auth |
9 | 8 |
|
10 | 9 | - name: Create directory for script-server to live
|
11 |
| - ansible.builtin.file: |
| 10 | + file: |
12 | 11 | path: /opt/script-server
|
13 | 12 | mode: "0755"
|
14 | 13 | owner: root
|
15 | 14 | group: root
|
16 | 15 | state: directory
|
17 | 16 |
|
18 |
| -- name: Download script-server |
19 |
| - ansible.builtin.unarchive: |
20 |
| - src: "{{ script_server_url }}" |
| 17 | +- name: Install script-server |
| 18 | + when: ICPC_IMAGE |
| 19 | + unarchive: |
| 20 | + src: "https://github.com/bugy/script-server/releases/download/1.18.0/script-server.zip" |
| 21 | + |
| 22 | + name: Install script-server |
| 23 | + when: ICPC_IMAGE |
| 24 | + unarchive: |
| 25 | + src: "script-server.zip" |
21 | 26 | dest: /opt/script-server
|
22 |
| - remote_src: "{{ true if script_server_url.startswith('http') else false }}" |
| 27 | + remote_src: false |
| 28 | + creates: /opt/script-server/launcher.py |
| 29 | + |
| 30 | +- name: Install script-server |
| 31 | + when: not ICPC_IMAGE |
| 32 | + unarchive: |
| 33 | + src: "https://github.com/bugy/script-server/releases/download/1.18.0/script-server.zip" |
| 34 | + dest: /opt/script-server |
| 35 | + remote_src: true |
23 | 36 | creates: /opt/script-server/launcher.py
|
24 | 37 |
|
25 | 38 | - name: Configure the server
|
26 |
| - ansible.builtin.template: |
| 39 | + template: |
27 | 40 | src: conf.json.j2
|
28 | 41 | dest: /opt/script-server/conf/conf.json
|
29 | 42 | mode: "0644"
|
| 43 | + owner: root |
| 44 | + group: root |
30 | 45 |
|
31 | 46 | - name: Create systemd service for script-server
|
32 |
| - ansible.builtin.copy: |
| 47 | + notify: Restart script-server |
| 48 | + copy: |
33 | 49 | mode: "0644"
|
34 | 50 | dest: /etc/systemd/system/script-server.service
|
35 | 51 | content: |
|
|
46 | 62 |
|
47 | 63 | [Install]
|
48 | 64 | WantedBy=multi-user.target
|
49 |
| - notify: Restart script-server |
50 |
| - |
51 |
| -- name: Start + enable script-server |
52 |
| - ansible.builtin.service: |
53 |
| - name: script-server |
54 |
| - state: started |
55 |
| - enabled: true |
56 | 65 |
|
57 | 66 | - name: Ensure required directories exist
|
58 |
| - ansible.builtin.file: |
| 67 | + file: |
59 | 68 | state: directory
|
60 | 69 | mode: "0755"
|
61 | 70 | path: /opt/script-server/conf/{{ item }}
|
|
64 | 73 | - runners
|
65 | 74 |
|
66 | 75 | - name: Create scripts
|
67 |
| - ansible.builtin.copy: |
| 76 | + copy: |
68 | 77 | content: "{{ item.content }}"
|
69 | 78 | dest: /opt/script-server/conf/scripts/{{ item.name }}
|
70 | 79 | mode: "0755"
|
71 | 80 | with_items: "{{ script_server_commands }}"
|
72 | 81 |
|
73 | 82 | - name: Create script config definitions
|
74 | 83 | ansible.builtin.template:
|
75 |
| - src: command_template.yaml.j2 |
76 |
| - dest: /opt/script-server/conf/runners/{{ item.name }}.yaml |
| 84 | + src: command_template.yml.j2 |
| 85 | + dest: /opt/script-server/conf/runners/{{ item.name }}.yml |
77 | 86 | mode: "0644"
|
78 | 87 | with_items: "{{ script_server_commands }}"
|
| 88 | + |
| 89 | +- name: Start + enable script-server |
| 90 | + service: |
| 91 | + name: script-server |
| 92 | + state: started |
| 93 | + enabled: true |
| 94 | + |
0 commit comments