Ir para o conteúdo

Branching

Quando o plugin netbox-branching está instalado no NetBox de destino, a TUI principal ganha dois pontos de interação adicionais:

Ctrl+B — Trocador de branch

Um atalho global abre um modal listando todas as branches. Use as setas e Enter para ativar; Escape sai sem alterar nada. A primeira entrada, "main (no active branch)", limpa a branch ativa.

┌── Switch Branch ─────────────────────────────────────────┐
│ Enter to activate · Escape to cancel                     │
│                                                          │
│   main (no active branch)                                │
│ ● td5smq0f · feature-x   [ready]                         │
│   ab12cd34 · hotfix      [merged]                        │
└──────────────────────────────────────────────────────────┘

Pílula no topbar

Quando há uma branch ativa, uma pílula colorida ● <schema_id> · <name> aparece no topbar (à esquerda do breadcrumb). Em main (sem branch ativa) nenhuma pílula é mostrada — o topbar permanece inalterado. A pílula é totalmente removida quando o plugin não está instalado.

Persistência

A branch ativa é persistida no arquivo tui_state.*.json específico para cada base-URL, dentro do diretório de configuração. Na próxima vez que a TUI for aberta contra o mesmo host NetBox, a branch é reaplicada automaticamente.

Se a detecção de funcionalidade indicar mais tarde que o plugin foi removido, o estado persistido é limpo na inicialização.

Como o header se propaga

Ao ativar uma branch, o header X-NetBox-Branch é gravado no dicionário persistent_headers do cliente SDK. Toda requisição — inclusive as disparadas por tasks @work em background no Textual — usa esse header, mantendo recarregamentos de listas, paineis de detalhe e navegadores dinâmicos de recursos consistentes com a branch ativa.