Skip to content

Commit acc0485

Browse files
authored
Merge branch 'main' into feat/update-links-in-artemis-config
2 parents 8c16766 + 0ac5310 commit acc0485

File tree

13 files changed

+505
-202
lines changed

13 files changed

+505
-202
lines changed

roles/artemis/README.md

Lines changed: 62 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -1,116 +1,66 @@
1-
Artemis
2-
=========
1+
# Artemis
32

4-
This role installs artemis on a host. The role supports single node installations as well as multi node installations.
3+
This role installs Artemis on a host. The role supports single node installations as well as multi node installations.
4+
5+
## Role Variables and Configuration
56

6-
Role Variables
7-
--------------
87
Default variables can be found in the `defaults/main.yml` file.
98

109
### Variables that have to be configured for a single node installation:
1110

1211
```
13-
artemis_server_url: "https://artemis.example.de"
14-
artemis_database_password: #FIXME
15-
16-
artemis_internal_admin_password: #FIXME
12+
artemis_server_url: "https://artemis.example.com"
13+
artemis_database_password: "your_database_password"
1714
18-
proxy_ssl_certificate_path: #FIXME
19-
proxy_ssl_certificate_key_path: #FIXME
15+
artemis_internal_admin_password: "your_admin_password"
2016
21-
artemis_jhipster_jwt: #FIXME
17+
proxy_ssl_certificate_path: "/path/to/ssl_certificate"
18+
proxy_ssl_certificate_key_path: "/path/to/ssl_certificate_key"
2219
20+
artemis_jhipster_jwt: "your_jwt_secret"
2321
```
2422

2523
The JWT secret can be generated with: `openssl rand -base64 64 | tr -d '\n'`.
2624

27-
2825
### Additional Variables for external systems
29-
To configure LDAP access for artemis, add the following variables:
26+
27+
To configure LDAP access for Artemis, add the following variables:
3028
```
3129
ldap:
3230
url: "ldaps://iauth.tum.de:636"
3331
user_dn: "cn=TUINI01-Artemis,ou=bindDNs,ou=iauth,dc=tum,dc=de"
3432
base: "ou=users,ou=data,ou=prod,ou=iauth,dc=tum,dc=de"
35-
password:
33+
password: "your_ldap_password"
3634
```
37-
---
38-
39-
To configure Jira as user management server add:
4035

36+
To allow internal user registration:
4137
```
4238
user_management:
43-
jira:
44-
url:
45-
user:
46-
password:
47-
admin_group: # Jira group that will have admin access in the artemis web ui
48-
```
49-
50-
To allow internal user registration:
51-
```
52-
user_management:
53-
registration:
39+
registration:
5440
allowed_email_pattern: ([a-zA-Z0-9_\-\.\+]+)@((tum\.de)|(in\.tum\.de)|(mytum\.de))
5541
allowed_email_pattern_readable: '@tum.de, @in.tum.de, @mytum.de'
5642
cleanup_time_minutes: 2
5743
```
58-
---
59-
60-
Bitbucket configuration:
61-
```
62-
63-
bitbucket_hostname: bitbucket.example.com
64-
version_control:
65-
bitbucket:
66-
url: "https://{{ bitbucket_hostname }}"
67-
ssh_url: "ssh://git@{{ bitbucket_hostname }}:7999"
68-
token:
69-
```
70-
---
71-
72-
Bamboo configuration:
73-
```
74-
continuous_integration:
75-
bamboo:
76-
url:
77-
token:
78-
bitbucket_link_name:
79-
result_plugin_token:
80-
```
81-
---
82-
83-
Gitlab configuration:
84-
```
85-
version_control:
8644

87-
gitlab:
88-
url:
89-
user:
90-
password:
91-
token: # Access token for $user
92-
ci_token: # Jenkins secret push token
93-
health_api_token: # Access token for health API
94-
ssh_url: # Full SSH clone URL
45+
LocalVC configuration:
9546
```
96-
---
97-
98-
99-
Jenkins configuration:
47+
localvc:
48+
url: "https://artemis.example.com"
49+
repo_storage_base_path: "/path/to/repo_storage"
50+
use_version_control_access_token: false
51+
ssh_key_path: "/opt/artemis/ssh-keys" # Key path for the SSH host keys
52+
build_agent_use_ssh: true # Setting whether SSH should be used.
53+
ssh_url: "ssh://git@artemis.example.com:7921/" # URL template for SSH clone operations.
54+
build_agent_git_credentials:
55+
user: "build_agent_user"
56+
password: "build_agent_password"
57+
user: "localvc_user"
58+
password: "localvc_password"
10059
```
101-
jenkins:
102-
url:
103-
user:
104-
password:
105-
secret_push_token:
106-
vcs_credentials:
107-
artemis_auth_token_key:
108-
artemis_auth_token_value:
109-
```
110-
---
11160

11261
LocalCI configuration:
11362
```
63+
continuous_integration:
11464
localci:
11565
is_core_node: true
11666
is_build_agent: true
@@ -124,62 +74,68 @@ LocalCI configuration:
12474
expiry_days: 3
12575
schedule_time: "0 0 4 * * *"
12676
```
127-
---
12877

78+
Jenkins configuration:
79+
```
80+
continuous_integration:
81+
jenkins:
82+
url: "https://jenkins.example.com"
83+
user: "jenkins_user"
84+
password: "jenkins_password"
85+
secret_push_token: "jenkins_secret_push_token"
86+
vcs_credentials: "jenkins_vcs_credentials"
87+
artemis_auth_token_key: "jenkins_artemis_auth_token_key"
88+
artemis_auth_token_value: "jenkins_artemis_auth_token_value"
89+
```
12990

13091
Athena configuration:
13192
```
13293
athena:
133-
url:
134-
secret:
135-
restricted_modules: # optional parameter to restrict access to specific modules, e.g. module_text_llm,module_programming_llm
94+
url: "https://athena.example.com"
95+
secret: "athena_secret"
96+
restricted_modules: "module_text_llm,module_programming_llm" # optional parameter to restrict access to specific modules
13697
```
137-
---
13898

139-
Apollon configuration:
99+
Iris configuration:
140100
```
141-
apollon_url: #https://apollon.ase.in.tum.de/api/converter
101+
iris:
102+
url: "https://iris.example.com"
103+
secret: "iris_secret"
142104
```
143-
---
144105

145106
Mail configuration:
146107
```
147108
mail:
148-
host:
149-
port:
150-
user:
151-
password:
152-
protocol:
153-
ssl_trust:
109+
host: "smtp.example.com"
110+
port: 587
111+
user: "smtp_user"
112+
password: "smtp_password"
113+
protocol: "smtp"
114+
ssl_trust: "smtp.example.com"
154115
```
155116

156-
---
157-
158117
LTI configuration:
159118
```
160119
lti:
161-
oauth_secret:
120+
oauth_secret: "lti_oauth_secret"
162121
```
163122

164-
### Additional Variables for multi node installtions
123+
### Additional Variables for multi node installations
165124

166125
Registry Configuration:
167126
```
168-
artemis_jhipster_registry_password: #FIXME Multinode
169-
127+
artemis_jhipster_registry_password: "your_registry_password" # Set this to the password for the JHipster registry in a multi-node setup
170128
```
171129
The Token can be generated with: `openssl rand -base64 64`
172130

173-
---
174-
175-
176-
Active MQ configuration
131+
Active MQ configuration:
177132
```
178133
broker:
179134
url: "fcfe:0:0:0:0:0:b:1" # Default address in the wireguard network
180-
username: brokeruser
181-
password: #FIXME
182-
135+
username: "brokeruser"
136+
password: "your_broker_password"
183137
```
184138

139+
## Example Usage
185140

141+
Please refer to https://github.com/ls1intum/artemis-ansible for concrete examples.

roles/broker/README.md

Lines changed: 29 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,37 @@
1-
Role Name
2-
=========
1+
# Broker
32

4-
This role installes activemq and configures it for the use with artemis.
3+
This role installs ActiveMQ and configures it for use with Artemis.
54

6-
Role Variables
7-
--------------
5+
## Configuration
6+
7+
To configure the role, you need to set the required variables in your Ansible playbook or inventory. The following variables are required:
8+
9+
- `broker.url`: The hostname of the broker.
10+
- `broker.username`: The username for the broker.
11+
- `broker.password`: The password for the broker.
812

913
Default variables can be found in the `defaults/main.yml` file.
1014

11-
You have to configure the follwoing varaibles in your ansible `group_vars`:
15+
### Variables that have to be configured:
1216

1317
```
1418
broker:
15-
url: # Broker hostname (Only used in the Artemis role)
16-
username: # Broker username (Also used by the Artemis role)
17-
password: # Broker password (Also used by the Artemis role)
18-
```
19+
url: "broker.example.com" # Broker hostname (Only used in the Artemis role)
20+
username: "brokeruser" # Broker username (Also used by the Artemis role)
21+
password: "your_broker_password" # Broker password (Also used by the Artemis role)
22+
```
23+
24+
## Example Usage
25+
26+
Here is an example playbook:
27+
28+
```yaml
29+
- hosts: broker
30+
roles:
31+
- role: ls1intum.broker
32+
vars:
33+
broker:
34+
url: "broker.example.com"
35+
username: "brokeruser"
36+
password: "your_broker_password"
37+
```

roles/db_backup/README.md

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,32 @@
1-
# DB Backup
1+
# DB Backup
22

33
This role adds a cron job to the db host which creates regular DB backups.
44

5-
## Configuration
6-
The default configuration will create a DB backup every day at 4:30:
5+
## Configuration
76

8-
```yml
7+
The default configuration will create a DB backup every day at 4:30:
8+
9+
```yml
910
artemis_database_dbname: artemis
1011
artemis_database_backup_dir: /opt/backup
1112
artemis_database_backup_script_path: /opt/backup.sh
1213

1314
artemis_database_backup_minute: 30
1415
artemis_database_backup_hour: 4
1516
```
17+
18+
## Example Usage
19+
20+
Here is an example playbook:
21+
22+
```yaml
23+
- hosts: db
24+
roles:
25+
- role: ls1intum.db_backup
26+
vars:
27+
artemis_database_dbname: "artemis"
28+
artemis_database_backup_dir: "/opt/backup"
29+
artemis_database_backup_script_path: "/opt/backup.sh"
30+
artemis_database_backup_minute: 30
31+
artemis_database_backup_hour: 4
32+
```

roles/firewall/README.md

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
1-
Role Name
2-
=========
1+
# Firewall
32

4-
This role is responsible to configure the firewalls
3+
This role is responsible for configuring the firewalls.
54

6-
Role Variables
7-
--------------
5+
## Configuration
6+
7+
To configure the role, you need to set the required variables in your Ansible playbook or inventory. The following variables are required:
8+
9+
- `management_network_ipv4`: The IPv4 management network used to allow SSH / HTTP access to hosts and services.
10+
- `management_network_ipv6`: The IPv6 management network used to allow SSH / HTTP access to hosts and services.
11+
- `monitoring_host_ipv4`: The IPv4 address of the monitoring service.
12+
- `monitoring_host_ipv6`: The IPv6 address of the monitoring service.
13+
- `firewall_hostgroup`: The firewall rule set to be applied. Can be 'registry', 'nodes', 'proxy' or left blank for default rules.
814

915
Default variables can be found in the `defaults/main.yml` file.
1016

11-
You have to configure the follwoing varaibles:
17+
### Variables that have to be configured:
1218

1319
```
1420
# Management Networks - used to allow SSH / HTTP access to Hosts and services
@@ -20,19 +26,20 @@ monitoring_host_ipv4: "131.159.89.160"
2026
monitoring_host_ipv6: "2a09:80c0:89:1::32"
2127
```
2228

23-
You have to configure a special varaible to select the firewall rule set which is applied:
29+
You have to configure a special variable to select the firewall rule set which is applied:
2430

2531
```
2632
firewall_hostgroup: # Can be 'registry', 'nodes', 'proxy' or left blank for default rules
2733
```
2834

29-
## Example usage:
35+
## Example Usage
3036

31-
Example playbook for a registry:
37+
Here is an example playbook for a registry:
3238

33-
```
39+
```yaml
40+
- hosts: registry
41+
roles:
3442
- role: ls1intum.artemis.firewall
35-
tags: firewall
3643
vars:
3744
firewall_hostgroup: registry
3845
```

0 commit comments

Comments
 (0)