
Privacidade e escopo
Este relato descreve uma implantação de referência da Takotsubo Life Sciences. Nomes de máquinas, endereços de rede, contas, chaves, credenciais, endpoints internos e demais identificadores operacionais foram removidos. Os exemplos explicam decisões e controles; não reproduzem a infraestrutura de produção.
Quando um computador deixa de acompanhar as versões recentes de um sistema operacional como estação pessoal, sua utilidade parece ter terminado. Para um servidor pequeno, porém, os critérios são diferentes. Ele não precisa renderizar uma interface gráfica nem manter dezenas de aplicativos abertos. Precisa ser estável, administrável, observável e compatível com a carga que recebe.
Foi dessa diferença que nasceu o Mac Transformer: um Mac mini Intel de 2012, equipado com SSD e Debian sem ambiente gráfico, reaproveitado como base privada de engenharia. O objetivo nunca foi imitar um datacenter. Foi concentrar repositórios confiáveis, automação moderada e evidências operacionais em um equipamento já disponível, sem esconder seus limites.

O primeiro projeto é o limite
A referência adota poucos usuários, repositórios de confiança, capacidade moderada de CPU e memória e, por padrão, um job pesado por vez. Grandes modelos de IA não são executados localmente. Serviços não são expostos automaticamente à internet. Mudanças destrutivas exigem backup independente e confirmação humana.
Essas restrições não diminuem o projeto. Elas o tornam operável. Em hardware antigo, a fila, a concorrência, o armazenamento temporário e a retenção de artefatos são decisões de arquitetura, não detalhes a corrigir depois.

Debian mínimo: menos superfície, mais previsibilidade
O Debian foi instalado sem desktop, e a máquina passou a operar em modo headless. Isso reduz consumo permanente de memória, remove dependências que não servem ao papel de servidor e favorece uma configuração reproduzível: arquivos versionados, comandos auditáveis e verificações objetivas.
A instalação física permaneceu deliberadamente humana. Escolher o disco, particionar e alterar a inicialização são ações capazes de destruir dados. Um guia responsável pode explicar essas etapas, mas não deve entregar a um agente a permissão implícita para apagá-las.
Hard stop
Backup verificável vem antes do instalador
A cópia deve estar em destino independente e ser testada antes de qualquer alteração do disco interno. “O comando terminou” não é evidência de que arquivos importantes podem ser recuperados.
A primeira recuperação foi de rede
A instalação mínima foi concluída sem acesso funcional ao network mirror. O sistema iniciava, mas ainda não possuía todos os pacotes necessários para administração e expansão. A solução foi simples e estratégica: Ethernet temporária para estabelecer uma rota confiável, atualizar o sistema, instalar componentes oficiais e habilitar o SSH.
A interface Wi-Fi Broadcom BCM4331 era detectada, mas o rádio só se tornou operacional depois que dispositivo, módulo de kernel e firmware foram verificados separadamente. O método importa mais do que o chipset: reconhecer uma interface não prova associação, rota, DNS nem reconexão após reinício.

SSH foi o ponto de virada
Antes do SSH, cada ajuste dependia de monitor e teclado. Depois dele, o host pôde ser inventariado, configurado e documentado remotamente. A abertura do acesso veio acompanhada de endurecimento progressivo: limitar administração direta, registrar configurações em arquivos de drop-in e revalidar uma nova sessão antes de fechar a conexão existente.
Senhas e chaves privadas não entraram em conversas, tickets ou repositórios. A automação recebeu caminhos, permissões e estados; os valores sensíveis continuaram sendo fornecidos localmente pelo operador.
Forgejo no centro, execução fora da forge
Forgejo organiza permissões, revisão, issues, releases e automação ao redor do Git. Os workflows ficam versionados no repositório, enquanto os jobs são entregues a runners. Essa separação é essencial: a forge coordena e preserva o código; o runner executa comandos potencialmente arbitrários.
A própria documentação do Forgejo alerta que runners de host não oferecem isolamento real e que containers continuam dependendo de configuração correta. Por isso, a referência reserva runners a repositórios confiáveis, mantém baixa concorrência e evita expor o socket Docker do host a workflows comuns.

Política inicial de CI/CD
Concorrência baixaUm job pesado por vez, com filas visíveis.
Recursos limitadosCPU, memória, armazenamento temporário e tempo máximo definidos.
Artefatos com prazoRetenção e limpeza previsíveis, sem tocar em dados de produção.
Código não confiávelPull requests externos não recebem segredos nem acesso privilegiado.
DevSecOps é uma composição de evidências
Nenhum scanner observa sozinho a segurança de um produto. A arquitetura proposta combina análise estática, detecção de segredos, dependências, imagens, infraestrutura como código e inventário de componentes. Cada resultado precisa chegar com arquivo, regra, contexto e severidade para triagem humana.
Esse desenho é uma expansão controlada da plataforma. A base do host, Forgejo, observabilidade e varredura de segredos foram implantados e validados. Perfis mais amplos de CI/CD, DAST e pentest são habilitados por projeto, capacidade e autorização. Intenção arquitetural não é apresentada como produção concluída.

Licença também é arquitetura
CodeQL entra por elegibilidade, não por conveniência
A capacidade técnica de executar uma ferramenta localmente não concede, por si só, o direito de usá-la em qualquer repositório ou pipeline. A plataforma mantém um gate por projeto: quando os termos ou a licença comercial permitem, CodeQL pode ser incluído; quando não permitem, as outras camadas e a revisão humana continuam operando.
DAST começa pela autorização
OWASP ZAP e Nuclei interagem com aplicações e superfícies de rede. Podem gerar carga, criar dados de teste e afetar sistemas frágeis. Por isso, não pertencem a um workflow genérico que aceite qualquer URL. O alvo precisa pertencer ao operador ou estar coberto por autorização expressa, preferencialmente em homologação, laboratório ou ambiente efêmero.
A lista de alvos deve ser versionada e aprovada; taxa, tempo e métodos agressivos precisam de limites; relatórios devem ser protegidos; e scans ativos devem ter janela e responsável. Automação não transfere responsabilidade.
Codex funcionou melhor como operador sob contrato
Depois de rede e SSH, o Codex ajudou a inventariar serviços, ler logs, criar documentação, propor mudanças incrementais e executar verificações. O ganho não veio de um pedido vago para “configurar um servidor”, mas de um contrato operacional: não apagar discos, não expor serviços, não revelar segredos, preservar acesso, versionar alterações e só concluir cada etapa com evidência.
Esse contrato foi organizado em gates. Cada um define pré-condição, ação permitida, prova de conclusão e ponto de retorno. Assim, a automação acelera o trabalho sem receber autonomia silenciosa sobre decisões irreversíveis.

Contrato mínimo para um agente
Não destruirDiscos e dados exigem identificação, backup e confirmação.
Não exporServiços continuam privados até decisão explícita.
Não capturar segredosValores sensíveis são digitados localmente.
Não presumir sucessoEstado real é lido de volta e testado.
Codex Security entra quando o alerta precisa virar investigação
Pedir genericamente a um assistente que “olhe a segurança” não equivale a executar um processo especializado. Na plataforma, o Codex Security é acionado explicitamente quando um repositório, uma alteração ou um achado exige descoberta estruturada, modelagem de ameaça, análise de caminho de ataque, validação cética ou verificação de correção.
A função dessa camada é reduzir dois erros comuns: aceitar como vulnerabilidade tudo o que um scanner reporta e ignorar falhas lógicas que uma regra automática não consegue enxergar. O resultado esperado não é uma lista maior de alertas, mas uma conclusão sustentada por origem, fluxo, pré-condições, alcance, impacto e evidência reproduzível.
Disponibilidade inclui saber recuperar
A observabilidade privada acompanha capacidade, armazenamento, rede, temperatura, serviços, atualizações e cópias de segurança. Painéis e métricas também revelam topologia e padrões de uso, portanto permanecem protegidos como parte da infraestrutura.
O backup cobre repositórios, banco de dados da forge, configuração, segredos mantidos fora do Git e documentação de restauração. A prova decisiva não é o log da cópia. É restaurar em ambiente separado e demonstrar que o serviço pode voltar a operar.

Um roteiro reproduzível para outro Mac Intel
O método pode ser adaptado a outros equipamentos, desde que seja usado como sequência de decisões e não como coleção de comandos mágicos. Chipset, EFI, disco, memória e rede variam até entre máquinas visualmente iguais.
Checklist de saída
Antes de chamar a plataforma de pronta
□ O equipamento e o disco foram identificados sem ambiguidade.
□ Existe backup independente e ao menos uma restauração foi testada.
□ Rede, DNS e SSH sobrevivem a uma reinicialização.
□ Serviços críticos têm limites, monitoramento e procedimento de recuperação.
□ Runners aceitam apenas repositórios e workflows compatíveis com sua confiança.
□ Segredos permanecem fora de Git, logs e conversas.
□ Ferramentas de segurança têm escopo, licença, responsável e tratamento de achados.
□ Achados de maior risco passaram por investigação e verificação do Codex Security ou por processo especializado equivalente.
O projeto aberto deve preservar o método
Um repositório público do Mac Transformer pode reunir inventário não sensível, documentação de instalação, matrizes de compatibilidade e automação não destrutiva. O que deve ser reproduzido não é a identidade da máquina original, mas a disciplina: configuração revisável, scripts idempotentes, hard stops e evidência de cada estado.
O prompt não é a infraestrutura. Arquivos versionados, decisões documentadas, validações e caminhos de recuperação são a infraestrutura. O agente é um operador assistido que precisa conhecer as regras e parar quando a próxima ação ultrapassa sua autorização.
Ciência em cada decisão
Hardware antigo se torna útil por método, não por nostalgia
Debian mínimo, rede recuperável, SSH endurecido, Forgejo separado dos runners, segurança em camadas, observabilidade privada, backups testados e automação sob gates transformaram um equipamento limitado em uma plataforma pequena, responsável e realmente operável.
Projeto e código-fonte
Mac Transformer, em evolução aberta
A documentação pública, os artefatos não sensíveis e a estrutura reprodutível do projeto estão disponíveis no repositório joaotakotsubo/mac-transformer no GitHub. O repositório não expõe credenciais, endereços internos ou identidade operacional da implantação.
Referências oficiais
Forgejo: proteção de deployments de Actions
Trivy: análise de configurações
OSV-Scanner: análise de projetos e artefatos
CodeQL: termos e condições de uso