Guia de Configuração do Estudante Lab
Crie seu repositório privado do lab, instale as dependências e inicie o Claude Code antes do lab começar
Complete esses passos antes do lab começar. Ao final, você terá sua própria cópia privada do repositório do lab, as dependências instaladas e o Claude Code pronto para uso.
Configuração Pré-Lab
Configure um Projeto GCP via Torque
Antes de tocar no pipeline, provisione através do Torque o projeto GCP que você usará para o lab.
- Navegue até
https://laas.paloaltonetworks.com. - Faça login com o SSO corporativo.
- Se não estiver na aba Self-service, clique em Self-service.
O Torque requer a VPN de acesso corporativo. Conecte-se antes de navegar até a URL.
- Clique em Launch sob "Create a GCP Project with Owner Permissions".
- Defina o nome de ambiente que desejar e configure a duração do ambiente para 2 semanas.
- Clique em Inputs, configure "Can this be replicated in an on-premise GCS lab (VM/Physical device)?" como No, depois insira
GCS-PSOem Case or Project-Id. - Clique em Tags, configure activity_type como
developmente department comoTechnical_service. - Clique em Launch na parte inferior.
Após aproximadamente 7 minutos, você receberá um e-mail com as informações do seu projeto GCP.
Mantenha esses valores à mão; você vai precisar deles ao editar .github/pipeline-config.yaml durante o Módulo 0.
Configure seu Repositório do Lab e o Claude Code
- Abra o repositório template no seu navegador:
https://github.com/panw-airs-enablement/prisma-airs-mlops-lab - Clique no botão verde "Use this template" (canto superior direito, ao lado de "Code").
- Selecione "Create a new repository".
- Configure seu novo repo:
- Include all branches — ative em On; necessário para que você receba tanto o branch
lab(seu espaço de trabalho) quanto o branchmain(soluções de referência) - Owner — selecione sua própria conta do GitHub
- Repository name —
prisma-airs-mlops-lab(o valor padrão serve) - Visibility — selecione Private
- Include all branches — ative em On; necessário para que você receba tanto o branch
- Clique em "Create repository".
Sua tela deve ficar assim:
Os GitHub Secrets têm escopo por repositório. Seu repo conterá IDs de projeto do GCP, credenciais do AIRS e configurações de implantação específicas do seu ambiente. Um fork público exporia tudo isso.
- Clone seu novo repo privado:
git clone https://github.com/<seu-usuario-do-github>/prisma-airs-mlops-lab.git cd prisma-airs-mlops-lab - Mude para o branch
lab:git checkout labO branch
labé seu branch de trabalho. Ele tem a estrutura do pipeline mas o escaneamento do AIRS ainda não está integrado; isso é o que você vai construir durante o workshop.O branch
maincontém a implementação de referência completa. Você pode comparar com ele a qualquer momento usandogit diff lab..main. - Instale as dependências de Python:
uv sync
Se você não tem uv instalado: curl -LsSf https://astral.sh/uv/install.sh | sh e reinicie seu terminal.
Antes de iniciar o Claude Code, cadastre-se como usuário Anton e configure o Claude Code para rodar como tal. Siga os dois guias na ordem:
- Cadastre-se: Become an Anton User
- Configure o Claude Code: Using Claude Code
Estes guias são internos da Palo Alto Networks. Se as páginas não carregarem, conecte-se primeiro à rede corporativa ou à VPN.
- Abra o Claude Code no diretório do repo:
claudeO Claude foi pré-configurado como seu mentor do lab através do arquivo
CLAUDE.mdna raiz do repo. Ele conhece o código, adapta o ritmo das suas explicações e usa perguntas socráticas para guiar você. - Inicie o lab digitando:
/lab:module 0O Módulo 0 guia você na verificação do seu projeto GCP, GitHub CLI e credenciais do AIRS. O Claude também vai ajudar a conectar seu repo ao template para receber atualizações do instrutor.
Referência Rápida
| Comando | O Que Faz |
|---|---|
/lab:module N | Iniciar ou retomar o módulo N |
/lab:verify-N | Executar verificações do módulo N |
/lab:hint | Obter uma dica progressiva para seu desafio atual |
/lab:explore TEMA | Mergulho em um conceito |
/lab:quiz | Testar sua compreensão |
/lab:progress | Ver seu dashboard de progresso |
Retomando o Trabalho entre Sessões
Quando voltar ao lab depois de fechar seu terminal ou no dia seguinte, siga estes três passos.
Antes de iniciar o Claude Code, baixe quaisquer mudanças que o instrutor tenha publicado. Abra um terminal no diretório do seu repo:
cd prisma-airs-mlops-lab
claude
Depois cole este prompt no Claude:
Verifique se eu tenho um remote "upstream" apontando para panw-airs-enablement/prisma-airs-mlops-lab.
Se não, adicione. Depois faça fetch do upstream e merge de upstream/lab no meu branch atual.
Se houver conflitos de merge em lab/.progress.json ou .github/pipeline-config.yaml,
mantenha minha versão (--ours) já que contêm minha configuração pessoal. Para todo o resto,
use a versão do upstream (--theirs).
O Claude vai cuidar dos comandos de git e resolver qualquer conflito automaticamente.
Se as mudanças do upstream atualizaram CLAUDE.md ou arquivos do lab, o Claude precisa carregar essas mudanças. Saia e reinicie o Claude Code para que ele leia as instruções mais recentes:
/exit
claude
/resume recupera sua conversa anterior mas mantém as instruções antigas do CLAUDE.md. Depois de baixar atualizações do instrutor, uma sessão nova garante que o Claude trabalhe com o conteúdo mais recente do lab. Seu progresso não é perdido; está tudo no .progress.json.
Seu progresso é salvo em lab/.progress.json, então o Claude sabe exatamente onde você está. Execute:
/lab:progress
Isso mostra seu dashboard de progresso: quais módulos estão completos, seus pontos e quaisquer blockers. Depois retome seu módulo atual:
/lab:module N
Substitua N pelo módulo em que você estava. O Claude vai ler seu arquivo de progresso e continuar de onde você parou.
Adicionar o remote upstream (apenas na primeira vez):
git remote add upstream https://github.com/panw-airs-enablement/prisma-airs-mlops-lab.git
Baixar mudanças:
git fetch upstream
git merge upstream/lab --no-edit
Se tiver conflito de merge em lab/.progress.json ou .github/pipeline-config.yaml, mantenha sua versão (contêm sua configuração pessoal):
git checkout --ours lab/.progress.json .github/pipeline-config.yaml
git add lab/.progress.json .github/pipeline-config.yaml
git commit --no-edit
Para conflitos em outros arquivos (guias do lab, código, workflows), use a versão do instrutor:
git checkout --theirs caminho/para/arquivo
git add caminho/para/arquivo
git commit --no-edit
Solução de Problemas
| Problema | Solução |
|---|---|
| Botão "Use this template" não aparece | Confirme que está logado no GitHub |
Branch lab não existe após o clone | Você não ativou "Include all branches" ao criar o template; delete o repo e recrie com o toggle ativado |
uv: command not found | Instale o uv: curl -LsSf https://astral.sh/uv/install.sh | sh e reinicie seu terminal |
claude: command not found | Instale o Claude Code: npm install -g @anthropic-ai/claude-code |
| Claude não parece saber do lab | Confirme que está no diretório do repo e no branch lab; o Claude lê o CLAUDE.md da raiz do repo |
Conflito de merge em lab/.progress.json | Mantenha sua versão: git checkout --ours lab/.progress.json && git add lab/.progress.json && git commit --no-edit |
Remote upstream não encontrado | Adicione: git remote add upstream https://github.com/panw-airs-enablement/prisma-airs-mlops-lab.git |