fagnerlopes/cloud-weaver

cloud-weaver-offboard

Use this skill when the participant is returning a borrowed machine at the end of the workshop (or wants to take over from a new machine).

소스 보기

사용 방법

  1. 설치 명령을 복사하고 자신의 에이전트 환경에 설치하기 전에 소스 패키지를 확인하세요.
  2. 필요한 도구, 인증 정보, 지원 환경은 원본 문서에서 확인하세요.
  3. 입력과 원하는 산출물을 설명하고 출처와 결과를 대조하세요.
npx skills add https://github.com/fagnerlopes/cloud-weaver --skill cloud-weaver-offboard

시작 전 확인

  • 설치에는 모델 구독, API 한도, 파일 접근 권한이 포함되지 않습니다.
  • 별점 수와 설치 수는 활동 지표이며 독립적인 품질·보안 검증이 아닙니다.
원본 Skill 문서

원본 저장소의 제목, 예시, 코드, 표, 링크, 이미지를 유지해 표시합니다.

CloudWeaver Offboard — desligamento pós-workshop

Nota v2: Para destruir os recursos na Locaweb Cloud (VM, rede, IP), use o workflow de teardown: gh workflow run teardown.yml --repo <user>/<repo>. Este guia cobre o offboard de credenciais na máquina do evento.

Contexto

Três segredos ficaram na máquina do evento. Cada um tem um desligamento remoto — mais confiável do que apagar arquivos de um equipamento que você já devolveu.

SegredoOnde ficouAção
LOCAWEB_API_KEY / LOCAWEB_API_SECRETShell da máquina do eventoRegerar no painel → invalida imediatamente
Chave SSH privada~/.ssh/cw-<repo-name> na máquina do eventoRegenerar + atualizar GitHub Secret SSH_PRIVATE_KEY → chave antiga não abre mais a VM
Chave de LLM (ANTHROPIC_API_KEY ou equivalente).env dentro da VMRotacionar no painel do provedor

Execute os quatro passos em ordem. Não pule nenhum.


Passo 1 — Revogar a credencial Locaweb

Esta é a credencial mais crítica — com ela alguém pode criar VMs na sua conta. É o único segredo sem rotação por API; o revogador é o próprio painel da Locaweb.

Instrua o participante:

Acesse console.locaweb.com.br → API → regenere a API Key e o API Secret. Os valores antigos deixam de funcionar instantaneamente — mesmo que ainda estejam no shell da máquina do evento.

Aguarde confirmação de que o participante regenerou as credenciais antes de prosseguir.

Avise que as novas credenciais precisarão ser exportadas no terminal desta máquina antes do Passo 2:

bash
export LOCAWEB_API_KEY="<nova key>"
export LOCAWEB_API_SECRET="<novo secret>"
export LOCAWEB_API_ENDPOINT="https://api.cloud.locaweb.com.br/api/v1"

Nunca peça nem exiba os valores na conversa. Peça ao participante que exporte no terminal e confirme exportando em seguida.


Passo 2 — Rotacionar a chave SSH

Gerar um novo par Ed25519 local e registrar via API do CloudStack. A VM é parada brevemente, a chave é trocada, e a VM é reiniciada — sem acesso físico à máquina do evento.

2a. Identificar as chaves per-repo

Em v2 cada repositório tem uma chave dedicada ~/.ssh/cw-<repo-name>. Listar as chaves presentes:

bash
ls ~/.ssh/cw-* 2>/dev/null || echo "Nenhuma chave cloud-weaver encontrada"

Perguntar o REPO_NAME de cada deployment que o participante instalou (pode ser mais de um). O Passo 2b abaixo trata cada repositório individualmente.

2b. Atualizar o GitHub Secret com a nova chave

Em v2 cada repositório guarda sua própria chave SSH como GitHub Secret (SSH_PRIVATE_KEY). Perguntar ao participante o nome do repositório (REPO_NAME, ex: meu-hermes) e rodar:

bash
GITHUB_LOGIN="$(gh api user --jq .login)"
FULL_REPO="${GITHUB_LOGIN}/${REPO_NAME}"
SSH_KEY="$HOME/.ssh/cw-${REPO_NAME}"

# Generate a new per-repo key replacing the old one
rm -f "$SSH_KEY" "$SSH_KEY.pub"
ssh-keygen -t ed25519 -f "$SSH_KEY" -N "" -C "cloudweaver-${REPO_NAME}"
chmod 600 "$SSH_KEY"

# Update the secret in GitHub — the pipeline will use the new key on next run
gh secret set SSH_PRIVATE_KEY --repo "$FULL_REPO" < "$SSH_KEY"
echo "Secret SSH_PRIVATE_KEY atualizado em $FULL_REPO"

A VM não precisa ser reiniciada: a nova chave pública deve ser adicionada ao authorized_keys da VM. Fazer isso via SSH ainda com a chave antiga (se disponível), ou orientar o participante a fazer pelo console da Locaweb Cloud.

Verificar que o novo acesso funciona:

bash
ssh -i "$HOME/.ssh/cw-${REPO_NAME}" root@"$public_ip" echo "SSH OK"

Passo 3 — Limpeza local

Remover os arquivos do cloud-weaver desta máquina (a nova máquina, se for uma adoção; a mesma se for apenas limpeza pós-workshop).

bash
# Remove all per-repo SSH keys (v2 pattern: cw-<repo-name>)
rm -f ~/.ssh/cw-* 

# Remove session and report files
rm -f ~/.cloud-weaver-*-session.json
rm -f ~/.cloud-weaver-*-report.json

# Remove the cloud-weaver block from AGENTS.md (if present)
if [ -f AGENTS.md ]; then
  sed -i '/# cloud-weaver:begin/,/# cloud-weaver:end/d' AGENTS.md
fi

(No cenário de adoção — rodar na máquina de casa — o Passo 2b já criou novos pares; não remover as chaves novas.)


Passo 4 — Instruir sobre a chave de LLM na VM

A chave de LLM (ANTHROPIC_API_KEY ou equivalente) fica em ~/.hermes/.env dentro da VM — não na máquina do evento. Rotacionar no painel do provedor usando o terminal web (https://<hostname>) ou via SSH com a nova chave:

bash
ssh -i ~/.ssh/cloud-weaver root@"$public_ip" \
  "sudo nano /data/${env_name}/hermes_data/.env"

Mensagem final ao participante

✅ Offboard concluído. A máquina do evento não tem mais acesso à sua VM. Sua VM continua rodando — você tem créditos por mais um mês. Para acessá-la da sua máquina de casa, use: ssh -i ~/.ssh/cw-<repo-name> root@<public_ip> Para deletar a VM e parar a cobrança: diga "quero fazer o teardown" em uma nova sessão.

관련 작업

같은 저장소의 Skills

더 많은 Skills

모든 Skills