'hub', 'summary' => (string) $notice[0]]); } } $key = hub_api_key(); $fromEnv = hub_api_key_is_from_env(); $opsKey = hub_ops_key(); $opsFromEnv = hub_ops_key_is_from_env(); $backups = hub_backup_summary(); $hubUrl = $hubUrlJustSaved ?? hub_url(); $pairing = hub_pairing_state(); if ($justAnnounced) { // Idem: o estado do emparelhamento acabou de mudar neste request. $pairing['state'] = 'announced'; $pairing['hub'] = $hubUrl; $pairing['expired'] = false; } $backupsUrl = function_exists('platform_admin_url') ? platform_admin_url('backups.php') : null; $page_title = 'Integração com o hub'; $pageTitle = $page_title; // os headers da frota não usam todos o mesmo nome $layout_header = $platform_layout_header ?? ($repo_root . '/includes/header.php'); if (is_file($layout_header)) include $layout_header; $csrfField = function_exists('csrf_field') ? csrf_field() : platform_csrf_field(); $h = fn($s) => htmlspecialchars((string) $s, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8'); ?>

Integração com o hub

Cópias de segurança
Esta instalação não tem a tabela system_settings. É onde as chaves e o URL do hub são guardados — sem ela não há emparelhamento nem geração de chaves. Aplica as migrações pendentes em Sistema → Atualizar plataforma e volta aqui.
Chave de API
Chave de — copia-a agora
Fica guardada cifrada. Esta é a única vez que aparece em claro — se a perderes, gera outra.

Fixada no .env

Esta instalação define no .env, e o .env ganha. É a configuração mais segura — um valor no .env nunca entra numa cópia da base de dados. Para gerir por aqui, remove-a de lá.

Configurada guardada cifrada na base de dados

Por configurar

Duas chaves de propósito: a de leitura é sondada de poucos em poucos minutos e só devolve estado; a de operações dispara cópias e atualizações e usa-se à mão. Assim, quem sonda não consegue disparar nada.

Leitura (estado)

Operações (cópias e atualizações)
Ligação rápida ao hub
value="">
HUB_URL no .env desta instalação.' : 'Em desenvolvimento aponta para o hub de desenvolvimento; em produção, para o de produção.' ?>

Define o URL acima para poderes anunciar esta plataforma.

Anunciada a — falta aprovar na Frota do hub. As chaves só são geradas nesse momento.
Emparelhada com .
O anúncio anterior expirou sem ser aprovado. Anuncia outra vez.

O anúncio leva só o URL e um código de emparelhamento — nenhuma chave sai daqui. Voltar a anunciar gera um código novo e invalida o anterior.

O que dar ao hub

No hub, em Frota → esta app, cola o URL base e a chave.

Estado (leitura)
GET
Operações
POST
Cabeçalho
X-Hub-Key: <chave> — a de leitura no estado, a de operações no resto

O Authorization: Bearer também é aceite, mas o proxy à frente dos contentores remove esse cabeçalho — daí o X-Hub-Key ser o caminho principal.

O que o hub vai ver
  • Base de dados, SMTP, fila de envios, migrações por aplicar, espaço em disco
  • Última cópia de ficheiros e da base de dados, com a idade
  • Ramo e último commit, quando esta instalação é um repositório git
O que o hub vai poder disparar
  • backup.trigger — cópia de ficheiros ou da base de dados
  • git.pull + migrations.apply_pending — atualização da plataforma

Num alojamento cPanel o git.pull costuma não estar disponível. Isso está previsto: a resposta explica-o e as cópias continuam a funcionar, que é a parte que protege o cliente.

Cópias agora

Cópias não disponíveis nesta instalação.

Base de dados
nenhuma' ?>
Ficheiros
nenhuma' ?>
Total
ficheiro(s)