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:
@@ -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
|
||||
Reference in New Issue
Block a user