# Alterações do pacote OKE load test — 2026-08-17

- substituído o fluxo de criação de novo OCI Load Balancer pelo reaproveitamento de `EXISTING_LB_OCID`;
- Service externo alterado para `NodePort`, com `BACKEND_NODE_PORT` configurável;
- `configure_existing_lb.sh` cria/reutiliza backend set, backends dos workers e listener;
- smoke/load test externo resolvem o IP do LB existente ou usam `LOADTEST_EXTERNAL_URL`;
- bootstrap headless do Langfuse passa a ser validado com API autenticada;
- criado `sync_langfuse_client_secret.sh` para copiar as keys do projeto Langfuse para o namespace do backend;
- backend recebe `LANGFUSE_PUBLIC_KEY`, `LANGFUSE_SECRET_KEY` e `LANGFUSE_HOST` explicitamente do Secret `langfuse-client`;
- checksum de runtime no pod template força rollout quando env/keys mudam;
- `validate_dependencies.sh` agora valida Oracle, Mongo, health do Langfuse e API autenticada;
- smoke test confirma ingestão do trace no Langfuse (`LANGFUSE_TRACE_OK`);
- `01_deploy_all.sh` executa configuração do LB existente antes das validações;
- manual reescrito com fluxo completo, troubleshooting e critérios de aprovação.

## v4 - Langfuse Secret synchronization fix

- `sync_langfuse_client_secret.sh` no longer sources `.env.runtime`, preventing backend OCI variables from altering the OCI CLI exec-plugin environment used by `kubectl`.
- A failed `kubectl get secret` is no longer mislabeled as `Secret not found`; the actual Kubernetes authentication/context error is printed.
- `deploy_langfuse.sh` verifies `Secret/langfuse-runtime` immediately before synchronization and explicitly passes Langfuse/backend namespaces to the child script.
- Synchronization can fall back to `.env.langfuse` only for key values after Kubernetes Secret access has been validated.

## Documentação — inicialização manual do Langfuse

- README atualizado para documentar explicitamente o fluxo pela UI após subir o Langfuse.
- Passos incluídos: criação de usuário, organização/empresa, projeto e API keys.
- Documentado onde copiar `pk-lf-*` e `sk-lf-*` em `.env.langfuse` e `.env.runtime`.
- Incluída atualização de `Secret/langfuse-runtime`, sincronização para `Secret/langfuse-client` e validação obrigatória com `LANGFUSE_AUTH_OK` antes do deploy do backend.
- O bootstrap headless continua existente no código, mas o procedimento operacional recomendado para esta validação passa a confirmar/criar o projeto e as chaves pela UI.


## v6 - Langfuse validation fix
- Replaced `kubectl run --overrides` JSON with a regular Pod YAML manifest.
- Fixed `Invalid JSON Patch` caused by invalid JSON escaping in the validator.
- Validator no longer sources `.env.runtime`; it reads only required keys.
- Added Kubernetes authentication preflight and explicit Langfuse HTTP auth result.
