O diacetyl é um servidor especial da Iongrade. Não tem deploys de Accelero, mas tem vários serviços importantes. Muita coisa depende dele, e mantê-lo funcionando é PRIORIDADE ZERO para bom funcionamento de todos os Accelero.
Cada serviço está em um diretório próprio dentro de /root/docker, e todos são stacks Docker pra padronizar a admnistração.
BORE
Serviço para "tunelamento TCP". Usado pra fazer forward de portas de clientes "on-premises plugados na internet" pra facilitar o acesso ao sistema do cliente quando necessário.
Geralmente fica desligado, e só é ativado quando necessário.
Existe um manual de como usar o serviço no Google Drive.
BROKERDISCOVERY
Serviço que atende a TODOS OS CONTROLADORES E GATEWAY IONGRADE para "resolução de broker MQTT".
Em resumo, um controlador "bate no brokerdiscovery" dizendo seu deviceID + facility aonde deseja conectar, e o serviço do brokerdiscovery devolve um JSON com os dados de conexão.
É possível simular o processo com cURL:
# REQUEST
curl "https://brokerdiscovery.iongrade.com.br/?facilityID=DEMO&deviceID=neon123456"
# RESPOSTA
{"endpoint":"demo.accelerobr.com.br","port":8461,"porttls":8462}
Durante o processo de criar um novo deploy de Accelero é feita automaticamente a atualização do brokerdiscovery pra que ele "conheça" essa nova instalacão.
Se esse serviço parar, existem boas chances de que nenhuma controladora consiga achar seu broker, ou seja, TODAS AS PLACAS DA IONGRADE PASSARÃO A OPERAR OFFLINE.
GENERICPRODUCTIONHANDLER
Sempre que um controlador/gateway é fabricado, a última etapa produtiva é "bater via HTTP no genericproductionhandler". Esse request contém o número de série + deviceID + informações gerais sobre o equipamento, e a resposta contém uma senha aleatória que fica gravada de forma permanente na memória do equipamento produzido. Chamamos isso de "produzir o equipamento".
Isso alimenta um DB com a relação de todos os equipamentos que já foram fabricados pela Iongrade.
Todos os Accelero SaaS utilizam o DB desse serviço (readonly) quando um novo controlador é cadastrado no sistema para verificar se o deviceID informado existe, e pra obter a "senha MQTT" dele.
SE O DB DESSE SERVIÇO PARAR, NINGUÉM CONSEGUE CADASTRAR NOVOS CONTROLADORES EM ACCELERO SAAS
SE O DB/WEBSERVER DESSE SERVIÇO PARAR, NINGUÉM CONSEGUE PRODUZIR CONTROLADORES/GATEWAYS
GITREPO
É um servidor Git (Gogs - https://gogs.io/) que usamos para abrigar repositórios de customizações feitas para clientes.
Esses repositórios ficam aqui (e não no Bitbucket) apenas por conveniência. Se for necessário, podem ser movidos.
HTTPMAILER
Todos os Accelero sabem enviar e-mail por SMTP por conta própria. Mas isso significa que todos os Accelero devem conhecer credenciais de acesso da Amazon.
Em algum momento, isso foi percebido como um problema, e criou-se um "gateway de e-mails" (o HTTPMailer). Ao invés do Accelero falar direto com o servidor SMTP da Amazon, ele fala via HTTP com esse serviço, e esse serviço faz o efetivo despacho da mensagem. Dessa forma, as credenciais ficam centralizadas e é mais fácil de administrar.
Salvo engano, isso foi ativado apenas nos nossos deploys internos (demo, homologacao), e nunca foi colocado em produção ampla, embora toda a infra-estrutura esteja pronta.
Avaliar se vale a pena manter ativo ou se é melhor aposentar esse serviço.
INTERNAL.IONGRADE.COM.BR
Uma espécie de "repositório HTTP" de várias coisas:
- scripts/bundles para produção de gateways;
- scripts/bundles para produção de Accelero on-premises;
- SATIS (composer self-hosted) para bibliotecas PHP internas;
- etc...
Em geral, se tem um script pra automatizar algum processo, ou algum arquivo que é necessário durante um install/upgrade, ele estará aqui.
LOGGER_CENTRALIZER
Serviço de "centralização de logs de todos os Accelero SaaS".
Vide artigo ACCINFRA-A-9.
NTPSERVER
Servidor NTP que é usado como padrão em todos os controladores (ntp.iongrade.com.br).
OZONE
Ozone. Auto-explicativo.
PUBLIC_MQTT
Servidor MQTT público sem controle de login.
Geralmente é usado para testes ou durante processo de fabricação (o facility FACTORY no brokerdiscovery aponta para esse broker MQTT).
SSHSERVER
Servidor SSH para "acesso via SSH reverso em gateways e Accelero on-premises".
Fica geralmente desligado, e é ativado quando se deseja abrir uma conexão remota.
Podem existir "cópias" desse diretório em outros servidores, pq no formato atual é possível abrir apenas uma conexão remota ao mesmo tempo por servidor.
WEBSITES_NGINX
Sites públicos da Iongrade.
ar.iongrade.com.br
Faz a "realidade aumentada" quando se scanneia o QRCode em uma Aurum.
stats.iongrade.com.br
Accelero on-premises enviam periodicamente para esse "site" informações estatísticas sobre si mesmos (versão, status, licença, etc...). Essas informações depois são recuperadas pelo Ozone.
treinamentos.iongrade.com.br
Página para validação de certificados de treinamentos (todo certificado de treinamento tem um código impresso que pode ser validado nesse site).
Tem uma pequena integração com o Ozone: quando um treinamento é cadastrado no Ozone, o Ozone envia pra cá os dados do certificado para que possa ser feita a validação pelo usuário.
updates.iongrade.com.br
Sistema legado para download de firmware de controladores. Toda a estrutura já foi movida para o Ozone, e permanece aqui apenas "porque sim" (não ocupa muito espaço e de vez em quando aparece algum request batendo nesse endereço).
Um dia precisa ser excluído, junto com a entrada DNS.
www.iongrade.com.br
Site da Iongrade feito em Wordpress.