Compare commits

..

No commits in common. "master" and "master" have entirely different histories.

7 changed files with 28 additions and 72 deletions

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ansible-role-epas-client-timbrature</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

View File

@ -1,3 +0,0 @@
{
"ansible.python.interpreterPath": "/opt/local/bin/python3.10"
}

View File

@ -11,7 +11,10 @@ The most important variables are listed below:
``` yaml
epas_client_timbrature_stack_name: 'epas_c_timbrature'
epas_client_timbrature_service_name: 'epas_timbrature'
epas_client_timbrature_docker_client_timbrature_image: 'consiglionazionalericerche/epas-client:area-cnr-pisa'
epas_client_timbrature_docker_registry: 'docker-registry.services.iit.cnr.it'
epas_client_timbrature_docker_registry_user: 'epas.user'
epas_client_timbrature_docker_registry_pwd: 'use a vault file'
epas_client_timbrature_docker_client_timbrature_image: '{{ epas_client_timbrature_docker_registry }}/epas/area-pisa-client:stable'
epas_client_timbrature_docker_client_timbrature_data_node: 'localhost'
epas_client_timbrature_data_volume: 'epas_dati_timbrature'
epas_client_timbrature_node_constraints: 'node.labels.epas_client == timbrature'
@ -19,7 +22,6 @@ epas_client_timbrature_behind_haproxy: False
epas_client_timbrature_haproxy_public_net: 'haproxy-public'
epas_client_timbrature_compose_dir: '/srv/epas_client_timbrature'
epas_client_timbrature_stampings_server_protocol: 'ftp'
epas_client_timbrature_ftp_server_name: '127.0.0.1'
epas_client_timbrature_ftp_username: 'anonymous'
#epas_client_timbrature_ftp_pwd: 'use a vault file'
@ -31,10 +33,6 @@ epas_client_timbrature_epas_server_port: 443
epas_client_timbrature_user: 'user'
#epas_client_timbrature_password: 'use a vault file'
epas_client_timbrature_loglevel: 'INFO'
epas_client_timbrature_fix_causale_pausa_pranzo: 'False'
epas_client_timbrature_causale_pausa_pranzo_min_hour: '12'
epas_client_timbrature_causale_pausa_pranzo_max_hour: '15'
epas_client_timbrature_send_all_stampings_everytime: 'True'
```
Dependencies

View File

@ -1,25 +1,17 @@
---
epas_client_timbrature_stack_name: 'epas_c_timbrature'
epas_client_timbrature_service_name: 'epas_timbrature'
#epas_client_timbrature_docker_registry: 'docker-registry.services.iit.cnr.it'
#epas_client_timbrature_docker_registry_user: 'epas.user'
#epas_client_timbrature_docker_registry_pwd: 'use a vault file'
#epas_client_timbrature_docker_client_timbrature_image: '{{ epas_client_timbrature_docker_registry }}/epas/area-pisa-client:latest'
epas_client_timbrature_docker_registry: ''
epas_client_timbrature_docker_registry_user: ''
epas_client_timbrature_docker_registry_pwd: ''
epas_client_timbrature_docker_client_timbrature_image: 'consiglionazionalericerche/epas-client:area-cnr-pisa'
epas_client_timbrature_docker_registry: 'docker-registry.services.iit.cnr.it'
epas_client_timbrature_docker_registry_user: 'epas.user'
epas_client_timbrature_docker_registry_pwd: 'use a vault file'
epas_client_timbrature_docker_client_timbrature_image: '{{ epas_client_timbrature_docker_registry }}/epas/area-pisa-client:latest'
epas_client_timbrature_docker_client_timbrature_data_node: 'localhost'
epas_client_timbrature_data_remote_volume: false
epas_client_timbrature_data_remote_volume_opts: "nfsvers=4,addr=127.0.0.1,rw"
epas_client_timbrature_data_remote_volume_dev: ":/mnt"
epas_client_timbrature_data_volume: 'epas_dati_timbrature'
epas_client_timbrature_node_constraints: 'node.labels.epas_client == timbrature'
epas_client_timbrature_behind_haproxy: False
epas_client_timbrature_haproxy_public_net: 'haproxy-public'
epas_client_timbrature_compose_dir: '/srv/epas_client_timbrature'
epas_client_timbrature_stampings_server_protocol: 'ftp'
epas_client_timbrature_ftp_server_name: '127.0.0.1'
epas_client_timbrature_ftp_username: 'anonymous'
#epas_client_timbrature_ftp_pwd: 'use a vault file'
@ -31,13 +23,3 @@ epas_client_timbrature_epas_server_port: 443
epas_client_timbrature_user: 'user'
#epas_client_timbrature_password: 'use a vault file'
epas_client_timbrature_loglevel: 'INFO'
epas_client_timbrature_regex_stamping: '^(?P<operazione>\\\d{2})(?P<lettore>\\\d{2})[!|\\\s](?P<causale>\\\d{4})\\\w(?P<matricolaFirma>[\\\w,\\\s,.]{17})(?P<anno>\\\d\\\d)(?P<mese>\\\d\\\d)(?P<giorno>\\\d\\\d)(?P<ora>\\\d\\\d)(?P<minuti>\\\d\\\d)$'
epas_client_timbrature_offset_anno_badge: '1980'
epas_client_timbrature_fix_causale_pausa_pranzo: 'False'
epas_client_timbrature_mapping_causali_client_server: "" # Default '{\'0000\': None, \'2345\': None,\'0001\':\'motiviDiServizio\'}'
epas_client_timbrature_causale_pausa_pranzo_min_hour: '12'
epas_client_timbrature_causale_pausa_pranzo_max_hour: '15'
epas_client_timbrature_send_all_stampings_everytime: 'True'

View File

@ -1,11 +1,25 @@
galaxy_info:
author: Andrea Dell'Amico
namespace: adellam
role_name: epas_client_timbrature
description: Role that installs the EPAS client that collects data from the badge readers
description: Systems Architect
company: ISTI-CNR
issue_tracker_url: https://support.d4science.org/projects/d4science-operation
license: EUPL 1.2+
min_ansible_version: "2.9"
min_ansible_version: 2.8
# To view available platforms and versions (or releases), visit:
# https://galaxy.ansible.com/api/v1/platforms/
#
platforms:
- name: Ubuntu
versions:
- bionic
- name: EL
versions:
- 7
galaxy_tags:
- epas

View File

@ -7,7 +7,6 @@
labels:
epas_client: 'timbrature'
labels_state: 'merge'
when: not epas_client_timbrature_data_remote_volume
- name: Create the directory where the compose file will be placed
file: dest={{ epas_client_timbrature_compose_dir }} state=directory owner=root group=root mode=0750
@ -15,10 +14,8 @@
- name: Install the docker compose file
template: src=epas-client-timbrature-docker-compose.yml.j2 dest={{ epas_client_timbrature_compose_dir }}/docker-epas-client-timbrature-stack.yml owner=root group=root mode='0400'
# If registry not is docker hub
#
#- name: Login into the IIT registry
# shell: docker login -u {{ epas_client_timbrature_docker_registry_user }} -p {{ epas_client_timbrature_docker_registry_pwd }} {{ epas_client_timbrature_docker_registry }}
- name: Login into the IIT registry
shell: docker login -u {{ epas_client_timbrature_docker_registry_user }} -p {{ epas_client_timbrature_docker_registry_pwd }} {{ epas_client_timbrature_docker_registry }}
- name: Start the ePAS stack
docker_stack:

View File

@ -8,14 +8,6 @@ networks:
volumes:
{{ epas_client_timbrature_data_volume }}:
{% if epas_client_timbrature_data_remote_volume %}
driver: local
driver_opts:
type: nfs4
o: "{{ epas_client_timbrature_data_remote_volume_opts }}"
device: "{{ epas_client_timbrature_data_remote_volume_dev }}"
{% endif %}
services:
{{ epas_client_timbrature_service_name }}:
@ -29,7 +21,6 @@ services:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
environment:
- STAMPINGS_SERVER_PROTOCOL={{ epas_client_timbrature_stampings_server_protocol }} # Protocollo per prelevare le timbrature. Possibili valori: smartclock, local, ftp, sftp
- FTP_SERVER_NAME={{ epas_client_timbrature_ftp_server_name }} # Obbligatorio
- FTP_USERNAME={{ epas_client_timbrature_ftp_username }} # Obbligatorio
- FTP_PASSWORD={{ epas_client_timbrature_ftp_pwd }} # Obbligatorio
@ -41,14 +32,6 @@ services:
- EPAS_CLIENT_USER={{ epas_client_timbrature_user }} # utente configurato in epas dentro sorgenti timbrature
- EPAS_CLIENT_PASSWORD={{ epas_client_timbrature_password }}
- LOG_LEVEL={{ epas_client_timbrature_loglevel }} # Default: INFO
- REGEX_STAMPING={{ epas_client_timbrature_regex_stamping }}
- OFFSET_ANNO_BADGE={{ epas_client_timbrature_offset_anno_badge }}
- FIX_CAUSALE_PAUSA_PRANZO={{ epas_client_timbrature_fix_causale_pausa_pranzo}}
- "MAPPING_CAUSALI_CLIENT_SERVER={% raw %}{{% endraw %}{{ epas_client_timbrature_mapping_causali_client_server }}{% raw %}}{% endraw %}"
- CAUSALE_PAUSA_PRANZO_MIN_HOUR={{ epas_client_timbrature_causale_pausa_pranzo_min_hour }} # Default: 12
- CAUSALE_PAUSA_PRANZO_MAX_HOUR={{ epas_client_timbrature_causale_pausa_pranzo_max_hour }} # Default: 15
- SEND_ALL_STAMPINGS_EVERYTIME={{ epas_client_timbrature_send_all_stampings_everytime }}
#- CRON=*/30 7-22 * * * # Default: ogni mezz'ora tra le 7 e le 22. utilizzare il formato richiesto dal crontab. Riferimenti -> https://en.wikipedia.org/wiki/Cron#Examples
deploy:
mode: replicated
@ -59,11 +42,7 @@ services:
placement:
constraints:
- node.role == worker
{% if not epas_client_timbrature_data_remote_volume %}
- {{ epas_client_timbrature_node_constraints }}
{% endif %}
restart_policy:
condition: on-failure
delay: 5s