-
Luis Contreras authoredLuis Contreras authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
main.yml 2.46 KiB
---
- name: install jmasar dependencies
yum:
name: "{{ jmasar_required_packages }}"
state: present
- name: create jmasar user to run the service
user:
name: jmasar
system: true
- name: create jmasar directory
file:
path: /opt/jmasar
state: directory
owner: jmasar
group: jmasar
mode: 0750
- name: launch elasticsearch container
docker_container:
name: jmasar_elasticsearch
image: "{{ jmasar_elasticsearch_image }}"
pull: true
state: started
restart_policy: always
published_ports: 127.0.0.1:9200:9200
volumes:
- "jmasar-elasticsearch-data:/usr/share/elasticsearch/data"
env: "{{ jmasar_elasticsearch_env }}"
ulimits:
- "memlock:-1"
- "nofile:65536:65536"
- "nproc:4096:4096"
- name: install jmasar
get_url:
url: "{{ jmasar_url }}"
dest: /opt/jmasar/jmasar-service.jar
force: true
owner: jmasar
group: jmasar
mode: 0644
notify:
- restart jmasar service
- name: create jmasar systemd service
template:
src: jmasar.service.j2
dest: /etc/systemd/system/jmasar.service
owner: root
group: root
mode: 0640
notify:
- restart jmasar service
- name: Wait for elasticsearch to start
wait_for:
port: 9200
- name: Wait for elasticsearch status to be yellow
uri:
url: http://localhost:9200/_cluster/health?wait_for_status=yellow
register: jmasar_elasticsearch_health
retries: 20
delay: 3
until: jmasar_elasticsearch_health.status == 200
- name: enable and start jmasar service
systemd:
name: jmasar.service
daemon_reload: true
enabled: true
state: started
- name: create jmasar nginx configuration
template:
src: jmasar.conf.j2
dest: /etc/nginx/conf.d/jmasar.conf
owner: root
group: root
mode: 0644
notify:
- restart nginx
- name: enable and start nginx
systemd:
name: nginx
enabled: true
state: started
- name: run all handlers before to test the connection to the service
meta: flush_handlers
- name: check that we can connect to the jmasar service locally
uri:
url: http://localhost:8080/version
register: jmasar_web_request
until: jmasar_web_request.status == 200
retries: 10
delay: 5
tags:
- jmasar-test
- name: check that we can connect to the jmasar service on port 80
uri:
url: http://{{ jmasar_server_name }}/version
register: jmasar_web_request
until: jmasar_web_request.status == 200
retries: 10
delay: 5
tags:
- jmasar-test