Portal de Sistemas
Micro-serviço de um portal de single sign on para cadastro e autenticação de sistemas e usuários
Módulos
O projeto é dividido entre os seguintes módulos do Maven:
-
Login: Responsável por autenticar usuários e sistemas. Implementa um AuthorizationServer usando bibliotecas do Spring Boot.
-
Controle: Construído usando como API de backend o Spring Boot e no frontend Angular. Responsável por fazer os cadastros de usuários e sistemas.
-
Portal: Aplicação web em Angular responsável em navegar pelos sistemas existentes.
-
Services: Biblioteca de serviços compartilhados entre os módulos
-
PostgreSQL: Os dados são armazenados em um banco PostgreSQL.
Execução
O sistema é executado a partir container, inclusive seu banco de dados. Por isso é necessário ter uma instalação de docker no servidor.
Docker Compose
A maneira mais simples é utilizando o comando docker compose
.
A partir do diretório raíz do projeto, basta executar:
docker compose -f .ansible/files/docker-compose.yml up -d
Deploy com Ansible
Em um ambiente de produção, é possível automatizar o processo de deploy com Ansible
Docker Swarm
Em um servidor com docker swarm
, além dos componentes do projeto,
também é feito deploy do proxy reverso Traefik para acesso às APIs.
A partir do diretório raíz, acesse a pasta .ansible/
e configure a pasta
de instalação editando o arquivo docker-swarm.yml
. Feito isso, basta executar:
ansible-playbook docker-swarm.yml
Kubernetes
Em uma máquina onde é possível acessar um servidor com kubernetes
, basta executar:
ansible-playbook kubernetes.yml