71be2abd2e
- Terraform modules: VPC, EC2, RDS, S3, CloudFront, Route53, Lambda, IAM, Security Groups - Ansible playbooks for server configuration - Scripts: create-test-environment.sh, destroy-test-environment.sh, validate-environment.sh - Documentation: README, QUICKSTART, AGENTS - Jenkins pipeline for automated deployment - Jenkins pipeline for environment destruction
175 lines
4.0 KiB
YAML
175 lines
4.0 KiB
YAML
---
|
|
- 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 |