--- - name: Configuracion base de servidor SACC v4 hosts: all become: yes vars: java_version: "21" sacc4_user: "osiris" sacc4_group: "duat" sacc4_home: "/opt/sacc4" services: - api-sacc4-authentication - api-sacc4-users - api-sacc4-tickets - api-sacc4-privileges - api-sacc4-rols - api-sacc4-associates tasks: - name: Actualizar sistema apt: update_cache: yes upgrade: dist - name: Instalar dependencias apt: name: - openjdk-21-jdk - nginx - unzip - jq - net-tools - htop - logrotate - curl - python3 - python3-pip state: present - name: Crear grupo duat group: name: "{{ sacc4_group }}" gid: 1006 state: present - name: Crear usuario osiris user: name: "{{ sacc4_user }}" uid: 997 group: "{{ sacc4_group }}" shell: /bin/bash home: "/home/{{ sacc4_user }}" state: present - name: Crear usuario thoth user: name: thoth uid: 1001 group: "{{ sacc4_group }}" shell: /bin/bash home: "/home/thoth" state: present - name: Crear directorios de SACC file: path: "{{ sacc4_home }}/{{ item }}" state: directory owner: thoth group: "{{ sacc4_group }}" mode: '2775' with_items: "{{ services }}" - name: Crear directorios de logs file: path: "/var/log/sacc4/{{ item }}" state: directory owner: "{{ sacc4_user }}" group: "{{ sacc4_group }}" mode: '0755' with_items: "{{ services }}" - name: Configurar logrotate template: src: logrotate-sacc4.j2 dest: /etc/logrotate.d/sacc4 mode: '0644' - name: Crear archivo de variables de entorno template: src: sacc4.env.j2 dest: /etc/sacc4/sacc4.env owner: root group: "{{ sacc4_group }}" mode: '0640' - name: Configurar nginx template: src: nginx-sacc4.conf.j2 dest: /etc/nginx/sites-available/sacc4 owner: root group: root mode: '0644' notify: restart nginx - name: Habilitar sitio nginx file: src: /etc/nginx/sites-available/sacc4 dest: /etc/nginx/sites-enabled/sacc4 state: link notify: restart nginx - name: Deshabilitar sitio default file: path: /etc/nginx/sites-enabled/default state: absent notify: restart nginx handlers: - name: restart nginx service: name: nginx state: restarted - name: Despliegue de microservicios hosts: all become: yes vars: sacc4_user: "osiris" services: - { name: api-sacc4-authentication, port: 8080 } - { name: api-sacc4-users, port: 8081 } - { name: api-sacc4-tickets, port: 8082 } - { name: api-sacc4-privileges, port: 8083 } - { name: api-sacc4-rols, port: 8084 } - { name: api-sacc4-associates, port: 8085 } tasks: - name: Crear directorios para cada servicio file: path: "/opt/sacc4/{{ item.name }}/current" state: directory owner: thoth group: duat mode: '2775' with_items: "{{ services }}" - name: Crear directorios de logs file: path: "/var/log/sacc4/{{ item.name }}" state: directory owner: "{{ sacc4_user }}" group: duat mode: '0755' with_items: "{{ services }}" - name: Crear archivos systemd template: src: systemd-service.j2 dest: "/etc/systemd/system/{{ item.name }}.service" owner: root group: root mode: '0644' with_items: "{{ services }}" notify: reload systemd - name: Habilitar servicios systemd: name: "{{ item.name }}" enabled: yes daemon_reload: yes with_items: "{{ services }}" handlers: - name: reload systemd systemd: daemon_reload: yes