- Visão geral do Jelina
- JelinaCloud
- Primeiros passos
Introdução
A plataforma Jelina inclui software para dispositivos, servidores e clientes, projetado para implantar seu código com segurança em um grupo de dispositivos.
O conceito geral é simples: depois de instalar o sistema operacional JelinaOS, você pode gerenciar, monitorar e atualizar os dispositivos e suas aplicações pelo painel do JelinaCloud. O JelinaCloud armazena a configuração da aplicação em uma unidade independente e a entrega à frota, facilitando a implantação.
Este guia apresenta os componentes e fluxos de uma implantação típica do Jelina e explica seu funcionamento interno com detalhes suficientes para responder às dúvidas mais comuns.
Quando estiver pronto, comece seu projeto.
No dispositivo
Seção intitulada “No dispositivo”
Os dispositivos do ecossistema Jelina executam o JelinaOS, um sistema operacional host mínimo baseado nas distribuições padrão Debian ou Ubuntu, fornecido com o mecanismo de contêineres Docker. O sistema host inicia o Jelinvisor, agente de gestão do dispositivo, os serviços em contêineres e os serviços de programas. Cada sistema operacional base do Jelina pode executar imagens Docker e programas Linux ELF compatíveis com a arquitetura do dispositivo. O sistema base compartilha o kernel com o host, mas opera de forma independente nos demais aspectos. Você pode configurar os serviços em contêineres para executar com privilégios, acessar diretamente o hardware e até carregar módulos no kernel. O gerenciador de dispositivos Jelina executa em seu próprio contêiner, permitindo que o dispositivo continue funcionando mesmo se uma aplicação falhar.
Atualizações do sistema e do kernel
Seção intitulada “Atualizações do sistema e do kernel”O objetivo do Jelina é permitir atualização completa. O sistema JelinaOS e o kernel são atualizados de forma independente e têm seus próprios conjuntos de partições A/B. Se o dispositivo estiver executando pela partição A, a atualização é gravada na B e, após o sucesso, o sistema passa a utilizá-la. Se a atualização falhar ou surgir um erro inesperado após a troca, o dispositivo permanece na A ou retorna a ela. O Jelina mantém sempre pelo menos uma partição utilizável para proteger as aplicações e os dados.
Todos os dispositivos com JelinaOS, de desenvolvimento ou de produção, podem receber atualizações do sistema e do kernel. Você pode controlar essas atualizações pelo painel do JelinaCloud.
Configuração do dispositivo
Seção intitulada “Configuração do dispositivo”Como adicionar um dispositivo à sua frota?
Primeiro, baixe a imagem JelinaOS. A cada download, uma configuração exclusiva do dispositivo é inserida na imagem. Se você já tiver a imagem, poderá baixar apenas a configuração e inseri-la com a ferramenta jelina_flash_stream, ainda não disponibilizada. O arquivo contém a configuração básica da frota, uma chave de registro exclusiva vinculada à frota e o endereço de registro.
Depois de gravar a imagem JelinaOS no dispositivo, confirme a conectividade. Na inicialização, o agente Jelinvisor é iniciado e conclui automaticamente o registro, sem intervenção. Ele registra o dispositivo na frota de destino conforme a configuração e gera uma API Key exclusiva para as comunicações futuras com a nuvem. Após o registro, a nuvem armazena a API Key, remove a chave de registro e mantém as informações do dispositivo, que passa a aparecer no painel.
Após o registro na frota, se houver um Release disponível, o dispositivo instalará automaticamente a versão mais recente. Se a frota tiver um Release fixado, será instalado esse Release.
Criar um Release
Seção intitulada “Criar um Release”Um Release reúne várias aplicações em contêineres e aplicações nativas (Program). Sua configuração é baseada no docker-compose2.0, com campos adicionais para aplicações fora de contêineres. Desenvolvedores podem escrever o compose manualmente; outros usuários podem gerá-lo preenchendo a lista de serviços na interface. Após configurar, envie as imagens e os programas e publique o Release para implantá-lo nos dispositivos da frota.
Criar um Increment (opcional)
Seção intitulada “Criar um Increment (opcional)”Para garantir o ambiente necessário à execução de aplicações nativas, você pode configurar o dispositivo por meio do envio de um Increment, ou pacote incremental.
Atenção: o Increment é enviado pelo dispositivo ao JelinaCloud. Primeiro, configure o ambiente de execução em um dispositivo e depois selecione-o no painel para enviar o Increment. O dispositivo empacotará seu ambiente e enviará o pacote à frota à qual pertence.
Para que o Increment seja aplicado, vincule-o a um Release. Antes de instalar esse Release, o dispositivo instala o Increment associado, garantindo o ambiente necessário às aplicações. Em teoria, os pacotes incrementais permitem que o JelinaOS execute qualquer tipo de aplicação, dependendo do conteúdo do Increment.
Acessar o dispositivo
Seção intitulada “Acessar o dispositivo”Periodicamente, conforme a configuração da frota, o dispositivo consulta na nuvem seu estado de destino. Esse estado inclui as versões de Release, JelinaOS, Kernel e Jelinvisor, o Increment a executar, as configurações do dispositivo e as variáveis de serviço.
A cada 30s, o dispositivo informa seu próprio estado, incluindo suas informações e os serviços em execução. Também envia logs ao JelinaCloud por uma conexão persistente, permitindo acompanhar a execução do sistema e das aplicações.
O painel do dispositivo mostra informações detalhadas, como serviços em execução, atualizações previstas e logs. Nele, você também pode controlar o ciclo de vida do dispositivo e de suas aplicações.

Notificações de anomalias
Seção intitulada “Notificações de anomalias”Para informar rapidamente problemas nos dispositivos e nas aplicações, enviamos automaticamente notificações a todos os membros da frota quando um dispositivo fica offline, um serviço falha ou há anomalias no dispositivo ou no uso de recursos. Os limiares de alerta de recursos podem ser personalizados. Se a mesma anomalia ocorrer novamente em até 3 horas, o JelinaCloud enviará apenas uma notificação.

Apoio ao desenvolvimento
Seção intitulada “Apoio ao desenvolvimento”O Jelina permite padronizar os ambientes de teste e desenvolvimento, implantar rapidamente e testar as funcionalidades das aplicações. Os logs ajudam a analisar o comportamento em dispositivos reais e acelerar o desenvolvimento e a implantação do projeto.