knowledge-base/records/plugin-dev/KB-PLUGIN-011-mindplace-release-zip-procedure.md

2.6 KiB

id title domain tags status severity created_at updated_at applies_to supersedes
KB-PLUGIN-011 Procedimento de Release do Plugin Mindplace (LEGADO — GitHub) plugin-dev
github
release
secrets
deprecated
deprecated medium 2024-05-10 2026-05-21
Plugin Mindplace (versão pré-Forgejo)
KB-PLUGIN-013

⚠️ DEPRECATED — O procedimento aqui descrito refere-se à fase em que o Mindplace usava o GitHub como backend de releases. Desde 2026-05, o backend é o Forgejo da Mindtek (servicedesk.mindtek.com.br/git) e o fluxo de release é automatizado pelo script bin/mindplace-release.sh.

Para o procedimento atual, ver KB-PLUGIN-013.

KB-PLUGIN-011 — Procedimento de Release do Plugin Mindplace (legado)

Contexto

O plugin Mindplace usa um GitHub PAT (secrets.php) para autenticar chamadas à API do GitHub e aumentar o rate limit de 60 para 5.000 req/hora. Esse arquivo é gitignored — nunca entra no repositório público — mas precisa estar presente no ZIP distribuído aos clientes.

O ZIP gerado automaticamente pelo GitHub (Source code) não inclui arquivos gitignored. Por isso o ZIP de release deve ser criado manualmente.

Arquivos sensíveis

Arquivo Git ZIP cliente
config/secrets.php gitignored ✗ incluído ✓
config/secrets.php.example commitado ✓ excluído ✗

Procedimento para gerar o ZIP de release

cd docker/glpi/plugins/mindplace

zip -r mindplace-1.0.0.zip . \
  --exclude "*.git*" \
  --exclude "config/secrets.php.example"

Substitua 1.0.0 pela versão da release.

Upload no GitHub

  1. Acesse o repositório rodolphoolopes/mindplace no GitHub
  2. Releases → Draft a new release
  3. Crie a tag da versão (ex: v1.0.0)
  4. Em Assets, faça upload do mindplace-1.0.0.zip gerado acima
  5. Não usar o ZIP automático "Source code" gerado pelo GitHub

Estrutura do secrets.php

<?php
define('MINDPLACE_GITHUB_PAT', 'github_pat_...');

O PAT deve ter permissões:

  • Repositório: rodolphoolopes/mindplace
  • Contents: Read-only
  • Metadata: Read-only (obrigatório pelo GitHub)

Como o código lê o PAT

PluginConfig::getGithubPat() faz include_once do secrets.php se ele existir. Se o arquivo não existir, retorna string vazia e o plugin funciona sem autenticação (rate limit de 60 req/hora).

Atenção

  • Nunca commitar secrets.php — o GitHub faz varredura automática em repos públicos e revoga o token imediatamente se detectar
  • Ao renovar o PAT, atualizar o secrets.php local e regerar o ZIP de todas as versões ativas