add flask_metrics ansible role

This commit is contained in:
Jonathan Math 2021-09-14 09:52:37 -05:00
parent e0ca5948f4
commit e28d440dec
2 changed files with 73 additions and 0 deletions

View file

@ -0,0 +1,58 @@
---
- name: Copy common secrets
copy:
src: /srv/secrets-newsblur/settings/common_settings.py
dest: /srv/newsblur/newsblur_web/local_settings.py
register: app_changed
- name: Copy app env
copy:
src: /srv/secrets-newsblur/settings/app_env.py
dest: /srv/newsblur/newsblur_web/app_env.py
register: app_changed
- name: Add SERVER_NAME to app env
lineinfile:
path: /srv/newsblur/newsblur_web/app_env.py
line: 'SERVER_NAME = "{{ inventory_hostname }}"'
- name: Register flask_metrics in consul
tags: consul
become: yes
template:
src: /srv/newsblur/ansible/roles/flask_metrics/templates/consul_service.json
dest: /etc/consul.d/flask_metrics.json
notify:
- reload consul
when: disable_consul_services_ie_staging is not defined
- name: Make docker network for newsblurnet
become: yes
docker_network:
name: newsblurnet
notify: restart docker
- name: Start flask_metrics docker container
become: yes
docker_container:
name: flask_metrics
image: newsblur/flask_metrics:latest
pull: yes
state: started
command: bash -c "python /srv/newsblur/flask_metrics/flask_metrics.py"
hostname: "{{ inventory_hostname }}"
restart_policy: unless-stopped
container_default_behavior: no_defaults
volumes:
- /srv/newsblur:/srv/newsblur
networks_cli_compatible: yes
network_mode: default
networks:
- name: newsblurnet
ports:
- "5000:5000"
- name: Restart monitor
become: yes
shell:
cmd: docker restart monitor

View file

@ -0,0 +1,15 @@
{
"service": {
"name": "flask_metrics",
"tags": [
"flask_metrics"
],
"checks": [{
"id": "flask_metrics-ping",
"http": "http://{{ ansible_ssh_host }}:5000/mongo/page-queues/",
"interval": "15s",
"failures_before_critical": 4
}],
"port": 5000
}
}