Repository navigation
Operations
Este guia cobre a administração contínua, deployment de aplicações e resolução de problemas no cluster Yby.
O comando yby access abre túneis seguros para todos os serviços internos.
yby access- Argo CD: Gestão de GitOps.
- Grafana: Métricas e dashboards.
Para alternar o contexto do kubectl para seu cluster de produção:
yby context use prodO yby context use (o mesmo que yby env use) marca o ambiente ativo e, quando ele tem kube_context, troca o contexto do kubectl.
O Viz e o Sentinel não leem o ambiente ativo: ficam no current-context do kubeconfig. Para abrir um deles no cluster de um ambiente do .yby/environments.yaml sem trocar nada, passe -c (ou YBY_ENV) antes do nome do plugin; depois do nome, a flag é do plugin.
yby -c staging viz # kubeconfig, contexto e namespace do ambiente
yby -c staging sentinel scan # kubeconfig, contexto e namespace do ambiente
YBY_ENV=staging yby vizSem -n, o sentinel scan e o investigate usam o namespace do ambiente pedido; sem ambiente (ou num ambiente sem namespace), o do contexto do kubeconfig, como o kubectl e o Viz; default só quando nenhum dos dois diz. Em scripts, passe -n.
Rode na pasta que tem o .yby/ (num monorepo, em infra/): o -c lê o environments.yaml só da pasta atual. Ambiente que não existe no environments.yaml dá erro antes de o plugin abrir.
Regra de Ouro: Nunca edite recursos manualmente (kubectl edit). Toda mudança deve vir do Git.
- Edite
config/cluster-values.yaml. - Commit e Push.
- O Argo CD sincronizará automaticamente.
O Yby usa Zero-Touch Discovery. Para criar um novo app:
- Crie um novo chart autogerenciado:
yby chart create nome-do-app
- Commite e envie para o repositório (Git Push).
- Adicione o tópico
yby-cluster(ou o tópico configurado novalues.yaml) nas configurações do repositório GitHub.- Nota: Sem essa tag, o Argo CD ignorará o repositório como medida de segurança.
- O Argo CD detectará o app e fará o deploy automaticamente.
O Yby suporta três estratégias de segredos. As práticas de DR dependem da estratégia escolhida.
Se você usar sealed-secrets, a chave privada vive dentro do cluster. Se perder as chaves mestras, perde todos os segredos.
Backup das Chaves Mestras (Critical):
yby secret backup master-key-backup.yamlArmazene este arquivo OFFLINE (Pen Drive, Cofre, 1Password). Nunca commite no Git.
Restaurando um Cluster:
- Provisione um novo cluster (
yby bootstrap vps). -
ANTES de instalar qualquer app, restaure a chave mestra:
yby secret restore master-key-backup.yaml
- Reinicie o controlador:
kubectl delete pod -n yby-system -l app.kubernetes.io/name=sealed-secrets
Rotação de Chaves: O controlador cria nova chave a cada 30 dias. Faça backup após cada rotação.
Se você usar sops, as chaves age ficam no seu ambiente local. O DR depende de manter backup seguro do arquivo de chave age (o que o yby gera fica em ~/.sops/age-key.txt).
Para gerar as chaves age: yby secret init-sops (grava a chave privada em ~/.sops/age-key.txt e mostra a pública para o .sops.yaml).
Se usar external-secrets, os segredos ficam em provedores externos (Vault, AWS, GCP, Azure). O DR é responsabilidade do provedor. Garanta que as credenciais de acesso ao provedor estejam seguras e documentadas.
Por padrão, o Argo CD verifica mudanças a cada 3 minutos. Para deploys instantâneos, configure o Webhook:
- Gere o segredo:
yby secret webhook. - Adicione no GitHub (Webhooks, Push Event) apontando para o Ingress do ArgoCD.
O CLI pode se atualizar automaticamente via GitHub Releases:
# Verificar se há atualização disponível
yby upgrade --check
# Atualizar para a versão mais recente
yby upgrade
# Atualizar para uma versão específica
yby upgrade --version v0.6.0O processo de upgrade:
- Verifica a versão mais recente no GitHub.
- Baixa o asset correto para seu OS/arquitetura.
- Verifica checksum SHA256 contra
checksums.txt. - Substitui o binário com rollback automático em caso de falha.
Use --force para reinstalar mesmo se já estiver na versão mais recente.
O Yby coleta métricas de execução (duração, sucesso/falha) para diagnóstico de performance. Os dados são persistidos em ~/.yby/telemetry.jsonl com rotação automática (5MB).
# Exportar dados de telemetria
yby telemetry export
# Desabilitar telemetria
# Em ~/.yby/config.yaml:
# telemetry:
# enabled: falseA telemetria pode ser desabilitada via config (telemetry.enabled: false) ou variável de ambiente (YBY_TELEMETRY_ENABLED=false).
Beta: os comandos
yby cloudforam testados com os CLIsaws,azegcloude conferidos contra a documentação oficial, mas ainda não contra clusters reais. Login, tokens e kubeconfig podem falhar de jeitos que os testes não pegaram; relate nas issues. O que falta para sair do beta está no ROADMAP.
O Yby suporta clusters K8s gerenciados em clouds públicas (AWS EKS, Azure AKS, GCP GKE) através dos comandos yby cloud.
# Conectar a um cluster EKS
yby cloud connect --provider aws --cluster meu-cluster --region sa-east-1
# Conectar a um cluster AKS (o grupo de recursos vem da listagem do az)
yby cloud connect --provider azure --cluster meu-cluster --region brazilsouth
# Conectar a um cluster GKE (zona ou região; o projeto é o do gcloud config)
yby cloud connect --provider gcp --cluster meu-cluster --region us-central1-a
# Sem flags, o connect detecta os CLIs, lista os clusters e guia a escolha
yby cloud connectO Yby usa AutoRefreshTransport para renovar tokens de autenticação automaticamente durante operações longas (deploy, monitoring, bootstrap). Isso evita falhas de 401 Unauthorized em operações que excedem o TTL do token cloud.
Antes de operações críticas, verifique o estado das credenciais:
# Status das credenciais e conectividade
yby cloud status
# Forçar refresh manual do token
yby cloud refresh
# Listar clusters configurados
yby cloud list# 1. Conectar ao cluster
yby cloud connect --provider aws --cluster prod --region sa-east-1
# 2. Verificar credenciais
yby cloud status
# 3. Operar normalmente (token refresh automático)
yby bootstrap cluster
yby sentinel scan -n default
yby vizNota: O build padrão (
yby) não inclui SDKs cloud. Para suporte nativo a AWS/Azure/GCP, use o build variantyby-cloud.
O Yby registra automaticamente todas as operações de autenticação cloud (connect, refresh, token renewal) em ~/.yby/audit.log (formato JSONL com rotação em 10MB).
# Consultar log de auditoria
yby cloud audit
# Filtrar por período e provider
yby cloud audit --since 24h --provider aws
# Exportar para compliance/SIEM
yby cloud audit --since 30d --export json > audit-export.json
yby cloud audit --since 30d --export csv > audit-export.csvCada entrada registra: provider, método de auth, cluster, identidade, timestamp e resultado da operação.
O comando yby cloud dashboard abre o painel dos clusters dos CLIs instalados, com a validade de cada token:
yby cloud dashboard
- Resumo no topo (prontos, tokens perto de vencer, vencidos, clusters parados) e releitura periódica.
- Detalhe do cluster com a identidade (conta, papel, método) e a auditoria recente.
- Leitura parcial (um CLI que não respondeu) avisa na tela e mantém os dados da última leitura, com o horário.
| Tecla | Ação |
|---|---|
↑ ↓ (ou j k) |
mover |
↵ |
abrir o cluster no Viz; abaixo de 120 colunas, abre o detalhe |
t |
renovar o token do cluster |
r |
recarregar |
/ |
buscar pelo nome do cluster |
? |
ajuda |
esc |
fecha a camada de cima ou limpa a busca |
q |
sai do nível de cima |
ctrl+c |
sai de qualquer lugar |
Antes de abrir uma issue, sempre rode yby doctor.
O doctor verifica:
- Ferramentas obrigatórias: kubectl, helm, argocd, git, direnv, docker
- Ferramentas opcionais (por estratégia de secrets): kubeseal, sops, age
- Conexão ao cluster e CRDs instalados (Prometheus, Cert-Manager, KEDA)
| Sintoma | Causa Provável | Solução |
|---|---|---|
| ArgoCD Travado / App Unhealthy | Rede ou OOM | kubectl rollout restart deploy argocd-server -n argocd |
| TLS Handshake Timeout | Falta de RAM (Cluster) | Aumente VM para 4GB+. Verifique kubectl top nodes. |
| Permission Denied (Docker) | Usuário fora do grupo | sudo usermod -aG docker $USER |
| SealedSecret Error (Key) | Chave errada ou cluster novo | Restaure o backup da chave mestra (yby secret restore). |
| "Type mismatch" (Helm) | Dependência desatualizada | helm dependency update infra/charts/bootstrap |
Se precisar começar do zero localmente:
yby destroyIsso remove o cluster k3d criado pelo yby up.
Yby CLI — Infraestrutura Soberana & Autônoma
Repositório • Reportar Bug • Licença MIT
Idealizado e mantido por Casheiro
🛡️ Governado pelo Matrix Protocol