Instalação do Portal de Serviços
- Esta documentação tem como objetivo orientar a implantação de um grupo de aplicações para disponibilizar o Portal de Serviços.
Pré Requisitos
- Preferencialmente o sistema operacional do servidor deve ser Rancher OS, mas qualquer distribuição Linux que tenha suporte a plataforma 64 bits pode ser utilizada.
- No servidor deve estar instaladas as seguintes aplicações:
- Docker 18.05.0+
- Docker Compose 1.17.0+
Neste processo serão implantados
OpenSource
- Nginx v1.16 (Proxy Reverso)
- Postgres v9.6 (Banco de dados)
Desenvolvidas pelo Sebrae CE
- Portal de Serviços
- Fila de e-mail
- Menageira
- Porta de Assinatura
- Carteira digital
- WebSIAC
Montando a infraestrutura
Definir topologia
-
Topologia 1
- 1 VPS Nginx
- 1 VPS Ambiente de Produção
- 1 VPS Ambiente de homologação
- 1 VPS Bases de Produção (Com as Base de dados)
- 1 VPS Infra DevOps (Rancher Server, GOGS, Nexus, Sentry) OPCIONAL
-
Topologia 2
- 1 VPS Nginx
- 1 VPS Ambiente de Produção (Com as Base de dados)
- 1 VPS Ambiente de homologação (Com as Base de dados)
-
Topologia 3
- 1 VPS Ambiente de Produção (Com Base de dados e Nginx)
- 1 VPS Ambiente de homologação (Com Base de dados e Nginx)
Criação das VPC
- Definir IPs, endereços de DNS e gateway (*1)
- Seguir processo de instalação do RancheOS (instalacao/rancher-server)
Definir a URLs que serão utilizadas
- Exemplo (*2)
- Portal de Serviços: (www.)portaldeservicos.ma.sebrae.com.br
- Portal de Assinatura: (www.)portaldeassinatura.ma.sebrae.com.br
- Portal de Serviços: (www.)hmgportaldeservicos.ma.sebrae.com.br
- Portal de Assinatura: (www.)hmgportaldeassinatura.ma.sebrae.com.br
Criar repositório com as configurações dos ambientes
- Parametrizar os Allowed_hosts nas envs das aplicações (*2)
- Gerar senhas para acesso aos bancos para cada aplicação (*3)
- Definir IP e porta do banco que atenderá ao ambiente
- Ajustar prefixo container_name
- Em especial definir:
- AJ1015:
- Obter endereços do web service do SIAC e token para acesso
- DJN00A:
- Definir se Lacuna opera em modo DEV ???
- Em modo PROD deve ser parametrizadas as variáveis: RESTPKI_ACCESS_TOKEN e WEBPKI_LICENSE
- DJN018:
- Gerar UUID v4 para o ambiente (*4)
- Gerar CSRF_COOKIE_PUBLIC_NAME para o ambiente
- Obter chave do SAS ???
Configurar Proxy Reverso - Nginx
- Definir IPs e portas dos upstream (*1)
- Ajustar as URL que serão utilizadas (*2)
- Ajustar UUID do Portal de Serviços (*4)
- Configurar certificado coringa
- Ou gerar certificado na Let's Encrypt
- Gerar configurações adicionais para o Rancher Server e GOGS. OPCIONAL
Subir containers do Nginx e do SSHD
script ???
Levantando bases de dados
- Copiar o repositporio para /home/rancher/geomk
- Gerar senha para o banco (usuário postgres) e parametrizar em ./envs/postgres.env
- Rodar script (*3)
bash create-dbs.sh
Levantando o Portal de Serviços
- Copiar o repositporio para /home/rancher/geomk
- Execute
bash start.sh
Cadastre as aplicações no Portal de Serviços
Levantando demais aplicações
- Execute ???
bash ./scripts/2step.sh
Parametrizando o Portal de Serviços
Cadastro do Menu de Monitoramento
Acesse a API do Portal de Serviços
http://portal.sebrae.com.br/api/ExtraMenu/
- No final da página se encontra um formulário para cadastro de Menus. O preenchimento deve ocorrer como no exemplo:
- Pattern : Monitoramento
- Verbose : Dashboard Usuario
- Name : dashboard_usuario
- Iframe : (Ver sessão abaixo: Intruções para obter Iframe)
- Icon: zmdi zmdi-view-dashboard
- Papeis: Portal de Serviços - Administrador Do Portal De Servicos
- Preenchido click em POST
Intruções para obter Iframe
-
Acesse o kibana
http://portal.sebrae.com.br/kibana/
-
No menu Management procure a opção Save Objects
- Nesta tela procure a opção Import. As configurações de dashboards e métricas padrão do portal de serviço serão importadas. Com os dashbords e métricas importados prossiga.
- No menu Dashboard selecione Dashboard de Usuários. Click nele e procure no menu superior o botão share, selecione Embed_code posteriormente Saved object. Click no botão Copy iFrame code, será copiado algo parecido com:
<iframe src="http://portal.sebrae.com.br/kibana/app/kibana#/dashboard/657ab8a0-352e-11e9-b812-c15327643d3f?embed=true&_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-7d%2Cmode%3Aquick%2Cto%3Anow))" height="600" width="800"></iframe>
- Deve ser removido:
<iframe src = "> & "" height="600" width="800"></iframe>
Resultando em :
http://portal.sebrae.com.br/kibana/app/kibana#/dashboard/657ab8a0-352e-11e9-b812-c15327643d3f?embed=true&_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-7d%2Cmode%3Aquick%2Cto%3Anow))
- Esse resultado será usao no prenchido no campo iframe.
Demais boards do Monitoramento
Pattern : Monitoramento
Verbose : Dashboard de Serviços
Name : dashboard_servicos
+ Iframe : ___(Ver sessão acima: Intruções para obter Iframe)___
Icon: zmdi zmdi-view-dashboard
Papeis: Portal de Serviços - Administrador Do Portal De Servicos
Pattern : Monitoramento
Verbose : Dashboard Inicial
Name : dashboard_inicial
+ Iframe : ___(Ver sessão aceima: Intruções para obter Iframe)___
Icon: zmdi zmdi-view-dashboard
Papeis: Portal de Serviços - Administrador Do Portal De Servicos
Comandos Portal de Seviços Monitoramento
- Comunicação com API Bulk do ElasticSearch
python manage.py updatelogs
python manage.py seedlog
python manage.py seedfakelog
Cadastro do Menu do Fila de E-mails
Cadastrar as rede sociais
- Para que o Portal de Serviços opere com login via rede social é necessário que a instituição crie uma conta de desenvolvimento junto a rede social desejada e cadastre a rede social no Portal de serviços. Este procedimento esta limitado a ambientes publicados na internet, não compatível com este ambiente de demonstração.
- Caminho: Menu Admin > Contas Sociais > Aplicativos Sociais
- Links para consulta:
- Office365: https://apps.dev.microsoft.com/#/appList
- Facebook: https://developers.facebook.com/apps/
- Google: https://console.cloud.google.com/apis/credentials/oauthclient/
- Linkedin: https://www.linkedin.com/developer/apps/
Envio de e-mail pelo Fila de e-mails
- Para que o Portal de Serviços opere enviando e-mail, deve ser configurada uma conta no menu/sessão Remetentes.
- Caminho: Menu Admin > Email > Remetentes
Integração com o WebService do SIAC
- Para que o Portal de Serviços se integre com SIAC, deve ser criada uma conta de acesso ao webservice do SIAC.
- Procurar no arquivo ./envs/aj1015.env a variável TOKEN_ACESSO_SIAC, que defini o token a ser utilizado.
- Para ajustar o endereço do WebService do Siac ajuste na sessão SERVICES_WSDL do arquivos ./conf/settings.py os endereços.