Registro
O registro é o armazenamento central de configuração do Wippy. Todas as definições — pontos de entrada, serviços, recursos — residem aqui, e as mudanças se propagam reativamente pelo sistema.
Entradas
O registro armazena entradas — definições tipadas com IDs únicos:
app.api:get_user → Handler HTTP
app.workers:email_sender → Processo em segundo plano
app:database → Conexão de banco de dados
app:templates → Conjunto de templates
Cada entrada tem um ID (formato namespace:nome), um kind que determina seu handler, campos meta arbitrários, e data específico do kind.
Handlers de Kind
Quando uma entrada é submetida, seu kind determina qual handler a processa. O handler valida a configuração e cria recursos de runtime — uma entrada http.service inicia um servidor HTTP, uma entrada function.lua cria um pool de funções, uma entrada sql.database estabelece um pool de conexões. Veja o Guia de Tipos de Entradas para kinds disponíveis e Tipos de Entradas Personalizados para implementar handlers.
Atualizações ao Vivo
O registro suporta mudanças em tempo de execução — adicionar, atualizar ou remover entradas enquanto o sistema executa. Mudanças fluem através do barramento de eventos onde listeners podem validar ou rejeitá-las, e transações garantem atomicidade. O histórico de versões permite rollback.
Arquivos de definição YAML são snapshots serializados do registro carregados na inicialização. Veja o módulo Registry para acesso programático.
Veja Também
- YAML e Estrutura do Projeto - Arquivos de definição
- Tipos de Entradas Personalizados - Implementando handlers de kind
- Modelo de Processos - Como processos funcionam