Merge pull request 'Update to new CleanURI (uritools) version' (!83) from cleanuri into master
Reviewed-on: https://gitea.n39.eu/Netz39_Admin/netz39-infra-ansible/pulls/83 Reviewed-by: Alexander Dahl <alex@netz39.de>
This commit is contained in:
commit
1b952f5386
6 changed files with 154 additions and 20 deletions
|
@ -22,6 +22,7 @@
|
||||||
hosts:
|
hosts:
|
||||||
- name: gitea.n39.eu
|
- name: gitea.n39.eu
|
||||||
- name: uritools.n39.eu
|
- name: uritools.n39.eu
|
||||||
|
- name: uritools-api.n39.eu
|
||||||
- name: sl.n39.eu
|
- name: sl.n39.eu
|
||||||
- name: pad.n39.eu
|
- name: pad.n39.eu
|
||||||
- name: brotherql-web.n39.eu
|
- name: brotherql-web.n39.eu
|
||||||
|
|
|
@ -68,6 +68,19 @@ all:
|
||||||
3461
|
3461
|
||||||
pottwal.n39.eu:
|
pottwal.n39.eu:
|
||||||
server_admin: "admin+pottwal@netz39.de"
|
server_admin: "admin+pottwal@netz39.de"
|
||||||
|
|
||||||
|
# These values need to be set up in RabbitMQ
|
||||||
|
cleanuri_amqp_host: "rabbitmq.n39.eu"
|
||||||
|
cleanuri_amqp_user: "cleanuri"
|
||||||
|
cleanuri_amqp_pass: !vault |
|
||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
36623438333666666263616562386561383564343534383130633336663130323562316337623532
|
||||||
|
6262336637646435666334653834643535316463366132320a393265616331376465383766643539
|
||||||
|
65656130356132333832396266313939326333323161316163653335376266303239663534303731
|
||||||
|
3666383966383463350a616461666534656232666235323333313139353363663763633261346533
|
||||||
|
64623232626531616235386235313763336465366466343334316361396239636337
|
||||||
|
cleanuri_amqp_vhost: "/cleanuri"
|
||||||
|
|
||||||
shlink_geolite_license_key: !vault |
|
shlink_geolite_license_key: !vault |
|
||||||
$ANSIBLE_VAULT;1.1;AES256
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
33626234393039623132663736656363356562383235353737313034613630626339303263366665
|
33626234393039623132663736656363356562383235353737313034613630626339303263366665
|
||||||
|
|
29
pottwal.yml
29
pottwal.yml
|
@ -8,7 +8,7 @@
|
||||||
data_dir: "/srv/data"
|
data_dir: "/srv/data"
|
||||||
|
|
||||||
gitea_host_port: 9091
|
gitea_host_port: 9091
|
||||||
uritools_host_port: 8080
|
|
||||||
shlink_host_port: 8083
|
shlink_host_port: 8083
|
||||||
shlink_domain_name: sl.n39.eu
|
shlink_domain_name: sl.n39.eu
|
||||||
|
|
||||||
|
@ -27,11 +27,19 @@
|
||||||
dehydrated_domains:
|
dehydrated_domains:
|
||||||
- name: gitea.n39.eu
|
- name: gitea.n39.eu
|
||||||
- name: uritools.n39.eu
|
- name: uritools.n39.eu
|
||||||
|
- name: uritools-api.n39.eu
|
||||||
- name: sl.n39.eu
|
- name: sl.n39.eu
|
||||||
- name: pad.n39.eu
|
- name: pad.n39.eu
|
||||||
- role: penguineer.dehydrated_cron
|
- role: penguineer.dehydrated_cron
|
||||||
- role: dd24-dyndns-cron
|
- role: dd24-dyndns-cron
|
||||||
# variables are set in the inventory
|
# variables are set in the inventory
|
||||||
|
- role: cleanuri
|
||||||
|
vars:
|
||||||
|
cleanuri_ui_domain: uritools.n39.eu
|
||||||
|
cleanuri_ui_host_port: 8090
|
||||||
|
cleanuri_api_domain: uritools-api.n39.eu
|
||||||
|
cleanuri_api_host_port: 8091
|
||||||
|
# RabbitMQ setup can be found in the inventory
|
||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
|
|
||||||
|
@ -89,25 +97,6 @@
|
||||||
- 3142:3142
|
- 3142:3142
|
||||||
|
|
||||||
|
|
||||||
- name: Ensure container for URI tools is running
|
|
||||||
docker_container:
|
|
||||||
name: uritools
|
|
||||||
image: mrtux/clean_uri:0.4.1
|
|
||||||
pull: true
|
|
||||||
state: started
|
|
||||||
detach: yes
|
|
||||||
ports:
|
|
||||||
- "127.0.0.1:{{ uritools_host_port }}:8080"
|
|
||||||
restart_policy: unless-stopped
|
|
||||||
|
|
||||||
- name: Setup proxy site uritools.n39.eu
|
|
||||||
include_role:
|
|
||||||
name: setup-http-site-proxy
|
|
||||||
vars:
|
|
||||||
site_name: uritools.n39.eu
|
|
||||||
proxy_port: "{{ uritools_host_port }}"
|
|
||||||
|
|
||||||
|
|
||||||
- name: Ensure container for shlink is running
|
- name: Ensure container for shlink is running
|
||||||
docker_container:
|
docker_container:
|
||||||
name: shlink
|
name: shlink
|
||||||
|
|
27
roles/cleanuri/README.md
Normal file
27
roles/cleanuri/README.md
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# ansible-role cleanuri
|
||||||
|
|
||||||
|
> Set up the [cleanURI](https://github.com/penguineer/cleanURI) service.
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
This role uses the [setup-http-site-proxy](../setup-http-site-proxy) role.
|
||||||
|
|
||||||
|
## Use
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
roles:
|
||||||
|
- role: cleanuri
|
||||||
|
vars:
|
||||||
|
# Make sure to set up HTTPS ingress
|
||||||
|
cleanuri_ui_domain: …
|
||||||
|
cleanuri_ui_host_port: …
|
||||||
|
cleanuri_api_domain: …
|
||||||
|
cleanuri_api_host_port: …
|
||||||
|
# These values need to be set up in RabbitMQ
|
||||||
|
cleanuri_amqp_host: …
|
||||||
|
cleanuri_amqp_user: …
|
||||||
|
cleanuri_amqp_pass: …
|
||||||
|
cleanuri_amqp_vhost: … # default "/"
|
||||||
|
```
|
||||||
|
|
||||||
|
Please check [defaults/main.yml](defaults/main.yml) for a complete list of variables.
|
25
roles/cleanuri/defaults/main.yml
Normal file
25
roles/cleanuri/defaults/main.yml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# Defaults for the cleanuri role
|
||||||
|
---
|
||||||
|
|
||||||
|
# HTTPS ingress
|
||||||
|
# cleanuri_ui_domain:
|
||||||
|
# cleanuri_ui_host_port:
|
||||||
|
# cleanuri_api_domain:
|
||||||
|
# cleanuri_api_host_port:
|
||||||
|
|
||||||
|
# Credentials for RabbitMQ
|
||||||
|
# cleanuri_amqp_host:
|
||||||
|
# cleanuri_amqp_user:
|
||||||
|
# cleanuri_amqp_pass:
|
||||||
|
|
||||||
|
# Change these if they are different in your environment
|
||||||
|
cleanuri_amqp_vhost: "/"
|
||||||
|
cleanuri_amqp_results: "results"
|
||||||
|
cleanuri_amqp_canonizer: "canonizer"
|
||||||
|
cleanuri_amqp_retrieval: "extractor"
|
||||||
|
|
||||||
|
# Docker images
|
||||||
|
cleanuri_image_webui: mrtux/cleanuri-webui:0.1.1
|
||||||
|
cleanuri_image_apigateway: mrtux/cleanuri-apigateway:0.3.0
|
||||||
|
cleanuri_image_canonizer: mrtux/cleanuri-canonizer:0.3.0
|
||||||
|
cleanuri_image_extractor: mrtux/cleanuri-extractor:0.3.0
|
79
roles/cleanuri/tasks/main.yml
Normal file
79
roles/cleanuri/tasks/main.yml
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
# Tasks for the cleanuri role
|
||||||
|
---
|
||||||
|
- name: Ensure CleanURI WebUI is running
|
||||||
|
docker_container:
|
||||||
|
name: cleanuri-webui
|
||||||
|
image: "{{ cleanuri_image_webui }}"
|
||||||
|
pull: true
|
||||||
|
state: started
|
||||||
|
detach: yes
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:{{ cleanuri_ui_host_port }}:80"
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
env:
|
||||||
|
REACT_APP_API_GATEWAY: "https://{{ cleanuri_api_domain }}"
|
||||||
|
|
||||||
|
- name: Setup proxy site for the CleanURI WebUI
|
||||||
|
include_role:
|
||||||
|
name: setup-http-site-proxy
|
||||||
|
vars:
|
||||||
|
site_name: "{{ cleanuri_ui_domain }}"
|
||||||
|
proxy_port: "{{ cleanuri_ui_host_port }}"
|
||||||
|
|
||||||
|
|
||||||
|
- name: Ensure CleanURI API Gateway is running
|
||||||
|
docker_container:
|
||||||
|
name: cleanuri-apigateway
|
||||||
|
image: "{{ cleanuri_image_apigateway }}"
|
||||||
|
pull: true
|
||||||
|
state: started
|
||||||
|
detach: yes
|
||||||
|
ports:
|
||||||
|
- "127.0.0.1:{{ cleanuri_api_host_port }}:8080"
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
env:
|
||||||
|
AMQP_HOST: "{{ cleanuri_amqp_host }}"
|
||||||
|
AMQP_USER: "{{ cleanuri_amqp_user }}"
|
||||||
|
AMQP_PASS: "{{ cleanuri_amqp_pass }}"
|
||||||
|
AMQP_VHOST: "{{ cleanuri_amqp_vhost }}"
|
||||||
|
GATEWAY_RESULT_QUEUE: "{{ cleanuri_amqp_results }}"
|
||||||
|
GATEWAY_TASK_RK: "{{ cleanuri_amqp_canonizer }}"
|
||||||
|
|
||||||
|
- name: Ensure CleanURI Canonizer is running
|
||||||
|
docker_container:
|
||||||
|
name: cleanuri-canonizer
|
||||||
|
image: "{{ cleanuri_image_canonizer }}"
|
||||||
|
pull: true
|
||||||
|
state: started
|
||||||
|
detach: yes
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
env:
|
||||||
|
AMQP_HOST: "{{ cleanuri_amqp_host }}"
|
||||||
|
AMQP_USER: "{{ cleanuri_amqp_user }}"
|
||||||
|
AMQP_PASS: "{{ cleanuri_amqp_pass }}"
|
||||||
|
AMQP_VHOST: "{{ cleanuri_amqp_vhost }}"
|
||||||
|
CANONIZER_TASK_QUEUE: "{{ cleanuri_amqp_canonizer }}"
|
||||||
|
EXTRACTOR_TASK_RK: "{{ cleanuri_amqp_retrieval }}"
|
||||||
|
|
||||||
|
- name: Ensure CleanURI Extractor is running
|
||||||
|
docker_container:
|
||||||
|
name: cleanuri-extractor
|
||||||
|
image: "{{ cleanuri_image_extractor }}"
|
||||||
|
pull: true
|
||||||
|
state: started
|
||||||
|
detach: yes
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
env:
|
||||||
|
AMQP_HOST: "{{ cleanuri_amqp_host }}"
|
||||||
|
AMQP_USER: "{{ cleanuri_amqp_user }}"
|
||||||
|
AMQP_PASS: "{{ cleanuri_amqp_pass }}"
|
||||||
|
AMQP_VHOST: "{{ cleanuri_amqp_vhost }}"
|
||||||
|
EXTRACTION_TASK_QUEUE: "{{ cleanuri_amqp_retrieval }}"
|
||||||
|
|
||||||
|
|
||||||
|
- name: Setup proxy site the CleanURI API Gateway
|
||||||
|
include_role:
|
||||||
|
name: setup-http-site-proxy
|
||||||
|
vars:
|
||||||
|
site_name: "{{ cleanuri_api_domain }}"
|
||||||
|
proxy_port: "{{ cleanuri_api_host_port }}"
|
Loading…
Reference in a new issue