✨ Add a role to set up cleanuri (uritools)
This commit is contained in:
parent
7b0506c235
commit
24929a36bc
3 changed files with 131 additions and 0 deletions
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