diff --git a/defaults/main.yml b/defaults/main.yml index 94bc888f3d950e7247d346ae7b55870bf92378e6..ceb2f220f8e19e8fe5edaccd1b411e931a034c8c 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,4 +1,5 @@ -uptime_url: 'http://localhost:8082' +uptime_mode: 'main' +uptime_domain: 'localhost:8082' uptime_username: 'uptime' uptime_password: 'j^A8@IU#eoxo#P6i' diff --git a/meta/main.yml b/meta/main.yml index 9d05eb167ea22fd80d3bfb3e2e66ded7599dca01..112799fddadf00dd12a2023f923ab58ec926d458 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -2,5 +2,5 @@ dependencies: - { role: common } - - { role: mongodb } + - { role: mongodb, when: uptime_mode == 'main' } - { role: nodejs } diff --git a/tasks/main.yml b/tasks/main.yml index d0bf6b0d815ad7eeec4f28b7e5877a1404d32cfe..c1c9277c54b774fc409303da87071f3c7e1b347d 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,6 +1,3 @@ -# Original code: -# https://github.com/fzaninotto/uptime - --- # file: roles/uptime/tasks/main.yml @@ -12,40 +9,41 @@ - name: "Ensure uptime user" mongodb_user: - database=uptime - login_database=admin - login_user=root - login_password=root - name=root - password=root + database: 'uptime' + login_database: 'admin' + login_user: 'root' + login_password: 'root' + name: 'root' + password: 'root' ignore_errors: yes + when: uptime_mode == 'main' - name: "Ensure directory" file: - path='/var/www' - state=directory - mode=0755 + path: '/var/www' + state: 'directory' + mode: '0755' - name: "Checkout latest version of Uptime" git: - repo='https://gitlab.paragon-es.de/tools/uptime.git' - dest='/var/www/uptime' + repo: 'https://gitlab.paragon-es.de/tools/uptime.git' + dest: '/var/www/uptime' notify: - "Restart Uptime" - name: "Install node components" npm: - path='/var/www/uptime' + path: '/var/www/uptime' notify: - "Restart Uptime" - name: "Configure uptime" template: - src='production.yaml' - dest='/var/www/uptime/config/production.yaml' - owner=root - group=root - mode=644 + src: 'production.yaml' + dest: '/var/www/uptime/config/production.yaml' + owner: root + group: root + mode: 644 notify: - "Restart Uptime" @@ -62,14 +60,4 @@ notify: - "Restart Uptime" - # Config Uptime - # edit config/default.yml - - # Start uptime - # node app - # Production Environment - # NODE_ENV=production node app - - # http://localhost:8082/ - when: '"uptime" not in excluded_roles' diff --git a/templates/production.yaml b/templates/production.yaml index b14ba294063e9f7292ca5132d83506c15476d863..f5bdb58b4de46d2661fa8d0f6c04c218eb483b29 100644 --- a/templates/production.yaml +++ b/templates/production.yaml @@ -1,4 +1,4 @@ -url: '{{ uptime_url }}' +url: 'https://{{ uptime_domain }}' mongodb: server: localhost @@ -7,16 +7,16 @@ mongodb: password: root monitor: - name: origin - apiUrl: '{{ uptime_url }}/api' + name: {{ inventory_hostname }} + apiUrl: 'https://{{ uptime_domain }}/api' pollingInterval: 10000 timeout: 5000 - userAgent: NodeUptime/3.0 (https://github.com/fzaninotto/uptime) + userAgent: Uptime (https://gitlab.paragon-es.de/tools/uptime) ssl: enabled: true - certificate: '/etc/letsencrypt/live/{{ default_domain }}/fullchain.pem' - key: '/etc/letsencrypt/live/{{ default_domain }}/privkey.pem' + certificate: '/etc/letsencrypt/live/{{ uptime_domain }}/fullchain.pem' + key: '/etc/letsencrypt/live/{{ uptime_domain }}/privkey.pem' selfSigned: false plugins: @@ -40,7 +40,7 @@ pushover: hipchat: roomId: {{ uptime_hipchat_roomid }} token: {{ uptime_hipchat_token }} - uptimeDashboardURL: {{ uptime_url }} + uptimeDashboardURL: 'https://{{ uptime_domain }}' event: up: true down: true @@ -51,7 +51,7 @@ mattermost: hook: {{ uptime_mattermost_hook }} username: Uptime gitlab: True - uptimeDashboardURL: {{ uptime_url }} + uptimeDashboardURL: 'https://{{ uptime_domain }}' event: up: true down: true