46370 - Adicionar instalação do agente TIFlux na execução do Wizard
Proposta (O quê)
Adicionar instalação do agente TIFlux na execução do Wizard.
Por que implementar? (O porquê)
Principalmente porque precisamos identificar quantos servidores o parceiro já instalou.
Expectativas para a solução
- Adicionar novo step no final do Wizard para instalação do TIFlux
- Servidor deve consultar no repo (arquivo conf) se é para exibir o step ou não
- Arquivo chave valor informa quais usuários NÃO deve exibir step do TIFlux
- Padrão: Exibir sempre
- Verificação é feita com base no usuário que foi inserido no Wizard
- Futuramente a mesma validação será feita com base na licensa
- O step deve exibir campo para colar o Link de instalação do TIFlux
- O script de instalação da TIFlux será baixado via GET http
- Valida se download foi executado (200 ok)
- Se sim, continua para execução
- Senão, deve estourar erro e IMPEDIR a finalização do Wizard. Deverá acionar o suporte.
- Executa o script baixado como root
Avaliar:
- Executar via websocket ou estourar erro no sentry
exemplo de script em anexo
Critérios de aceitação padrões de RFC
Os critérios de aceitação são uma lista específica e definida de condições que devem ser atendidas antes que seja considerado concluído e as entregas do projeto sejam aceitas pelo cliente
- Se mudar fluxo de uso do produto, desenho/documentação precisam ser atualizados ao final do desenvolvimento
- Permitir fazer deploy/atualização forma automática (através de pacote, scripts, migração de banco)
- Se atualização exigir execução de procedimento procedimento manual, é requisito documentar e compartilhar com o suporte.
Mais informações
Problemas:
- TIFlux não possui repo. Cada parceiro/cliente recebe um script
.sh
que faz a instalação dos binários viawget
e comclient_id
etoken
de autenticação. - Via KS não é possível rodar diretamente esse script, pois a raiz do sistema está montada no tmp. Teria que ser feito via itflex-provision, no próximo reboot.
- Como é script individual, cada parceiro/cliente teria de ser uma ISO separada.
- Colocar no KS ficaria vulnerável, pois o script estaria acessível com o login do repo de instalação.
Por estes problemas, foi definido melhor solução executar durante a execução do Wizard, quando o login do parceiro para o repo já foi cadastrado.
Link de download para testes: https://central.tiflux.com.br/agent/download?linux=NjFmVzZiS2NzYzhyelIrWFAvejhHU2c0UllMYlFBZE4yL3EwTGdWUElqc0t5REtabURhK3Q3U0lWdktYYUxJdi0tbTNWZU9PRnpWN2VLbnNrc0wvZi9adz09--dc929ff4e11ed0c09005f0f64a1a8abb0abd0684
Usuário para testar sem TIflux: test-no-tiflux Usuário para testar com TIflux: repo
Senha será passada por outro canal.
.
Software Arch
Tempo
- Backend: 9h
- Frontend: 12h
Validar se precisa instala o TIFlux (10h)
-
Backend (4h)
- Adicionar download do arquivo
https://repo02.itflex.com.br/data/tiflux/ignore.txt
- Adicionar API que retorna se precisa instala o ITFlux. No wizard apos inserido o usuário de acesso ao repo02, consegue valida se precisa instala o TIFlux
- Adicionar download do arquivo
-
Frontend (6h)
- Adicionar nova etapa do tiflux no wizard
- Adicionar store para buscar api e validar se precisa de instalação
- Validar na tela e pula etapa
// GET /api/tiflux
{
ignore: true/false
}
Instalação do TIFlux (11h)
-
Backend (5h)
- Adiciona instalação do TIFlux
- Adiciona websocket para instala o TIFlux
-
Frontend (6h)
- Adicionar campo de link do tiflux
- Criar modal do WS para acompanhamento da instalação e configuração
- Adicionar ws para buscar no store e validar a instalação
- validar se foi instalado para prosseguir
// WS /ws/tiflux
tiflux.install, data = {url: "http://cacca.com.br"}
tiflux.updated
tiflex.finished, response = {error:true/false}?