Pular para o conteúdo
JelinaJelina DocumentationDocumentação técnica
Voltar ao site oficial

Aplicações nativas e conjuntos de programas

As instalações industriais utilizam muitos programas tradicionais: scripts de aquisição, daemons de conversão de protocolos e binários de terceiros. Antes, eles dependiam de inicialização manual, operavam isoladamente e podiam falhar sem aviso. O JelinaOS os integra ao conjunto de programas (ProgramSet), um sistema declarativo unificado que oferece gestão por configuração, recuperação automática e inicialização com o sistema.

Um conjunto de programas reúne aplicações fora de contêineres, cada uma descrita por configuração declarativa:

  • Inicialização: comando, diretório de trabalho e identidade de execução.
  • Origem do programa: download do pacote pelo endereço definido no Release.
  • Política de execução: política de reinício, variáveis de ambiente e sinal de parada.
  • Dependências: ordem de inicialização, exclusão mútua e dependências obrigatórias ou opcionais.
  • Supervisão: limites de reinício, manutenção do estado após a saída e comandos anteriores e posteriores à execução.

Após a configuração, o sistema gerencia as aplicações de forma unificada, sem necessidade de criar scripts de inicialização manualmente.

Configure o conjunto de programas na nuvem ou pela interface de gestão local. O agente do dispositivo executa a configuração:

Interface Cenário Descrição
Release na nuvem — recomendado Dispositivo conectado ao JelinaCloud Declare o conjunto de programas ao criar o Release e distribua-o em lote aos dispositivos
Interface de gestão local Ambiente local ou isolado Envie a configuração de destino pela interface local do dispositivo

Exemplo de declaração de um conjunto de programas em um Release na nuvem, com distribuição do pacote por endereço de download:

programs:
collector:
uri: http://files.example.com/collector/collector.tar.gz # Endereço de download do pacote do programa
command: collector --config /data/collector.conf
running: true
restart: always
environment:
SITE_ID: plant-01
working_directory: /opt/collector
user: root
  • command: comando de inicialização, obrigatório.
  • running: define se o programa deve executar; padrão true.
  • restart: política de reinício; always reinicia automaticamente após uma saída anormal.
  • environment: variáveis de ambiente.
  • working_directory: diretório de trabalho.
Configuração Descrição
uri Endereço de download do pacote do programa
command Comando de inicialização, obrigatório
running Executar ou não; padrão true
restart Política de reinício: no, on-failure, always etc.
environment Variáveis de ambiente
working_directory Diretório de trabalho
user / group Identidade de execução
after / before, wants / requires, conflicts Dependências e ordem
start_limit_*, remain_after_exit, exec_start_* etc. Comportamento de supervisão e recuperação

Consulte todos os campos em compatibilidade e extensões do docker-compose.

Configuração avançada: inicialização automática e verificação de condições

Seção intitulada “Configuração avançada: inicialização automática e verificação de condições”
programs:
myapp:
command: run.sh
restart: always
Install:
WantedBy: multi-user.target # Inicialização automática com o sistema
Unit:
ConditionPathExists: /data/app/config.json # Verificação de condição: inicia somente se o arquivo de configuração existir

As aplicações do conjunto de programas são gerenciadas pelo agente e executadas como serviços do sistema. Seus nomes seguem as regras de nomenclatura do sistema; consulte os nomes reais com os comandos de estado do dispositivo antes de operar:

Terminal window
systemctl status <nome_do_serviço_do_conjunto> # Consulta o estado; use o nome de serviço exibido no dispositivo
systemctl restart <nome_do_serviço_do_conjunto> # Reinicia
systemctl stop <nome_do_serviço_do_conjunto> # Para
  • Programas industriais tradicionais: gestão moderna de programas de aquisição, controle e daemons de comunicação.
  • Scripts e cadeias de ferramentas: inclusão de scripts temporários na gestão formal, com recuperação automática.
  • Arquiteturas híbridas: integração com aplicações em contêineres no mesmo sistema de orquestração.
Cenário Recomendação
Acesso direto ao hardware e requisitos elevados de tempo real Aplicação nativa (conjunto de programas)
Programas legados existentes e sensibilidade ao custo de migração Aplicação nativa (conjunto de programas)
Várias linguagens e dependências, com necessidade de isolamento do ambiente Aplicação em contêiner
Arquitetura moderna de microsserviços e evolução rápida Aplicação em contêiner