Skip to content

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.