Você está na página 1de 9

Nome do Software: AGATHA

Versão do Software: 1.0


1. Visão Geral

O Objetivo deste manual é fornecer informações e dados técnicos aos


envolvidos no processo de instalação do Sistema AGATHA – Sistema de
Gestão de Riscos.

2. Requisitos de Instalação

2.1. Requisitos de Hardware


● 4 GB de RAM
● 4 CPUs

2.2. Requisitos de Software

Sistema Versão do Kernel


Operacional
Linux 3.10+
Ferramenta de Versão
container
Docker 1.12+
Docker Compose 1.21.0+
Ferramenta de
build
Node.js 6.10.1
Apache Maven 3.x
Java JDK 8+
Banco de Dados Versão
PostgreSQL 9.5.4
Servidor de Versão
Aplicação
Spring Boot 1.3.8 release
Navegador Web Versão
Google Chrome
Internet Explorer -
Mozilla Firefox
Safari
Biblioteca/Compo Versão Onde pode ser
nente obtido?
Angular 1.6.9 https://angular.io/
Hibernate 4.1.4 http://hibernate.org/
Material Design - https://material.io/
Spring 5.0 http://spring.io/
3. Instalação

Para a instalação do sistema é necessário realizar antes o build do código-


fonte.

Para frontend deverá ser utilizada a ferramenta NPM do Node.js e para a


build do back-end é utilizada a ferramenta Maven.

O deploy da aplicação é feita em containers Docker. Como existe mais de


um serviço Docker, banco de dados, frontend, backend, etc. Para gerenciar
essa complexidade utilizamos o Docker Compose para execução coordenada
dos mesmos.

A autenticação do usuário e cliente são feitas pelo Brasil Cidadão, as


credenciais de acesso client-id e client-secret deverão ser solicitadas ao
Departamento de Governo Digital da Secretaria de Tecnologia da Informação e
Comunicação do Ministério do Planejamento, por meio do do encaminhamento
do documento preenchido "plano-configuracao-brasil-cidadao-sistema-
agatha.doc" para o email higo.gomes@planejamento.gov.br. A Secretaria de
Tecnologia da Informação e Comunicação do Ministério do Planejamento é a
detentora do Brasil Cidadão..

Estas credenciais de acesso deverão ser inseridas nos arquivos docker-


compose.yml e application.yaml.

3.1. Checkout do código-fonte

Execute o comando abaixo para realizar o clone do código fonte para sua
máquina local.
git clone <repositorio>

Repositório: git@softwarepublico.gov.br:agatha/agatha.git
Repositório: http://softwarepublico.gov.br/gitlab/agatha/agatha.git
3.2. Instalação do frontend
É necessário ter o Node.js (6.10.1) para executar o build do frontend.
NPM é uma ferramenta de build do Node.JS (3.10.10)

3.2.1.Build do frontend

Execute o comando abaixo no diretório “agatha\docker” para executar o


script de build do frontend.
./build-frontend-source-code.sh

Obs: O arquivo compilado referente ao frontend do Projeto se encontra no


diretório: agatha\docker\nginx\dist.tar.gz
3.3. Instalação do backend

3.3.1.Build do backend

Para compilar o código e criar o arquivo .JAR execute o código abaixo


na pasta serviço.
mvn -Dmaven.test.failure.ignore -U clean package

Obs: O arquivo compilado referente ao backend do Projeto se encontra no


diretório: agatha\docker\spring\app.jar

3.4. Execução do docker-composer.yml

O arquivo docker-compose.yml deverá ter as variáveis de


ambiente editadas como a senha do banco de dados, a senha de root
do Postgree e os dados do Client-ID e o Client-Secret do e-Cidadão.
DATABASE_NAME: gestaoriscos
DATABASE_USER: gestaoriscos
DATABASE_PASSWORD: mude-isso
POSTGRES_PASSWORD: mude-isso

ECIDADAO_CLIENT-ID: solicitar-ao-MP
ECIDADAO_CLIENT-SECRET: solicitar-ao-MP

Execute o script abaixo para execucão dos containers.


Cd docker
docker-compose -d up

Após a execução do docker-compose a aplicação poderá ser


acessada localmente pelo link: http://localhost.
3.5. Application.yaml
Dentro do projeto existe um arquivo de propriedades chamado
"application.yaml" que contêm as configurações para autenticação com
o Brasil Cidadão. Segue abaixo as configurações que necessitam ser
realizadas no referido arquivo para o correto funcionamento do Sistema:

Campos em vermelho:

As credenciais de acesso client-id e client-secret deverão ser solicitadas


ao Departamento de Governo Digital da Secretaria de Tecnologia da
Informação e Comunicação do Ministério do Planejamento, por meio do
do encaminhamento do documento preenchido "plano-configuracao-
brasil-cidadao-sistema-agatha.doc" para o email
higo.gomes@planejamento.gov.br. A Secretaria de Tecnologia da
Informação e Comunicação do Ministério do Planejamento é a detentora
do Brasil Cidadão..

Campos em azul:
Para cada ambiente que exista (desenvolvimento, testes, treinamento,
etc) é necessário informar o DNS definido para a utilização do Sistema.
Importante ressaltar que no parâmetro “pre-established-redirect-uri”
precisa-se manter o final da URL “gestaoriscos/api/login/openid”
Até o presente momento, para cada ambiente é necessário entrar
no container do backend e adicionar/editar o arquivo "application.yaml",
através de processo manual, na pasta "/config" mapeada dentro de um
volume.
-mounts: [
-{
type: “mountEntry”,
volumeName: “/opt/volume/sgr/config”,
instanceName: ”gestao-dev-sgr-servico-1”,
path: “/config”,
permission: “rw”,
instanceId: “1i533335”,
volumeId: “1v556804”
}
],

OBSERVAÇÕES GERAIS:
a) O procedimento no passo 3 é feito hoje para todos os arquivos de
configuração de ambientes (application.properties,
application.yaml, etc).

3.6. Criando um usuário administrador

Utilize o passo a passo abaixo para criação de um usuário


“administrador”. O perfil administrador é o “Núcleo”, somente ele possui acesso
a criação de novos usuários.

1)Insere o usuário “JOSE...” na tabela de usuário utilizando o


próximo valor da sequence ‘gestaoriscos.sk_usuario’.
insert into gestaoriscos.tb_usuario values
(nextval(‘gestaoriscos.sk_usuario’), ‘JOSÉ GONÇALVES BASTOS SILVA
FILHO’, ‘00002037343’, null, ‘alterar@planejament.gov.br’);
Após esse comando, será inserido um novo registro na tabela
‘tb_usuario’ e gerado um ‘id’ para o usuário José.
2) Em seguida, você deve:
2.1 – substituir o trecho ‘<ID_USUARIO>’ da query abaixo pelo
‘id’ do usuário gerado no passo anterior;
2.2 – substituir o trecho ‘<ID_PERFIL>’ da query abaixo pelo
‘id’ do perfil desejado.
Insert into gestaoriscos.tb_permissao values
(nextval(‘gestaoriscos.sk_permissao‘), <ID_USUARIO>, <ID_PERFIL>,
false, current_timestamp);
Após esse comando, será vinculado o perfil desejado ao usuário
informado.
Lista de possíveis perfis:
ID Descrição
1 Comitê
2 Subcomitê
3 Núcleo (Administrador)
4 Unidade
5 Gestor do Processo
6 Analista de Risco

3.7.Alteração da estrutura organizacional


arquivo.home.html
Alterando componente autocomplete para um select (combo box).

home.service.js
Adicionando rota de requisição para o back-end.

home.controle.js
Adicionando tratamento para a implementação do novo componente.

back-end
Criando endpoint para consulta de órgão específico de regra negocial.

Abaixo segue as imagens da parte do código onde é feita essa


alteração.
3.8.Integração com o Brasil Cidadão

Para maiores informações sobre como é realizada a integração com


Brasil Cidadão, acesse os links abaixo:

http://www.planejamento.gov.br/antigocidadaniadigital/brasil-cidadao

https://www.governodigital.gov.br/documentos-e-arquivos/sdk-Brasil-
cidadao.pdf