Add complete SACC v4 infrastructure project

- 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
This commit is contained in:
Jenkins CI
2026-06-03 04:39:01 +00:00
commit 71be2abd2e
27 changed files with 6424 additions and 0 deletions
+175
View File
@@ -0,0 +1,175 @@
---
- 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