Loading...
Loading...
Deploy and debug Eve-compatible apps via the CLI, with a focus on staging environments.
npx skill4agent add eve-horizon/eve-skillpacks eve-deploy-debuggingeve profile create staging --api-url https://api.eve.example.com
eve profile use stagingkubectl applyhelm installeve enveve env deploy# Create env if needed
eve env create staging --project proj_xxx --type persistent
# Deploy (requires --ref with 40-char SHA or a ref resolved against --repo-dir)
eve env deploy staging --ref main --repo-dir .
# When environment has a pipeline configured, the above triggers the pipeline.
# Use --direct to bypass pipeline and deploy directly:
eve env deploy staging --ref main --repo-dir . --direct
# Pass inputs to pipeline:
eve env deploy staging --ref main --repo-dir . --inputs '{"key":"value"}'eve env deploydeployment_statusready === truepipeline_run_idGET /pipelines/{name}/runs/{id}ready === trueactive_pipeline_run === nulleve job list --phase active
eve job follow <job-id> # Real-time SSE streaming
eve job watch <job-id> # Poll-based status updates
eve job diagnose <job-id> # Full diagnostic
eve job result <job-id> # Final result
eve job runner-logs <job-id> # Raw worker logs# Terminal 1: Pipeline/job progress
eve job follow <job-id>
# Terminal 2: Environment health
eve env diagnose <project> <env>
# Terminal 3: System-level logs
eve system logseve job dep list <job-id>eve job show <job-id>blocked_byeve env show <project> <env>eve system orchestrator statuseve job diagnose <job-id>eve job follow <job-id>eve job runner-logs <job-id>eve build diagnose <build-id>eve secrets list --project <project_id>eve job show <job-id>effective_phaseeve thread messages <thread-id>eve system podseve system healtheve system orchestrator statuseve system eventseve env diagnose <project> <env>eve env diagnoselast_deploy_failuremanifest_hashHTTP request failedx-eve.ingress.domainseve domain list --env <env> # what is bound where
eve domain verify <hostname> # DNS check + cert state + next steps
eve domain status <hostname> # which env owns it today
eve domain transfer <hostname> --to <env> # move ownership across envs in same project
eve domain unbind <hostname> # release so the next deploy claims itowned by environment "<A>"transferenvironments.<env>.overrideseve env diagnose <project> <env>eve system env-cost --all| Error | Cause | Fix |
|---|---|---|
| Token expired | |
| Missing credentials | Set |
| Environment not created | |
| Registry auth failed | If using BYO/custom registry, verify |
| App not starting | Check app logs, verify ports in manifest |
eve build list --project <project_id>
eve build diagnose <build_id>
eve build logs <build_id>
eve secrets list --project <project_id> # Required for BYO/custom registry: REGISTRY_USERNAME, REGISTRY_PASSWORDREGISTRY_USERNAMEREGISTRY_PASSWORDbuild.contexteve build diagnosepublic.ecr.aws/w7c4v0w3/eve-horizon/worker:<platform-version>release-v*apissogatewayagent-runtimeorchestratordashboardEVE_RUNNER_IMAGEworker-fullworker-python| Variable | Purpose |
|---|---|
| Internal cluster URL for server-to-server calls |
| Public ingress URL for browser-facing apps (when configured) |
| SSO broker URL for user authentication (when configured) |
| Current project ID |
| Current organization ID |
| Current environment name |
EVE_API_URLEVE_PUBLIC_API_URLenvironment{service}.{orgSlug}-{projectSlug}-{env}.{domain}lvh.me| Environment | How to Debug |
|---|---|
| Local (k3d) | Direct service access via ingress, |
| Docker Compose | |
| Kubernetes | Ingress-based access, |
# Register a private endpoint
eve endpoint add \
--name lmstudio \
--provider tailscale \
--tailscale-hostname mac-mini.tail12345.ts.net \
--port 1234 \
--org org_xxx
# List and inspect
eve endpoint list --org org_xxx
eve endpoint show lmstudio --org org_xxx
# Diagnose connectivity
eve endpoint diagnose lmstudio
# Remove
eve endpoint remove lmstudio --org org_xxxhttp://{orgSlug}-{name}.eve-tunnels.svc.cluster.local:{port}eve secrets set LLM_BASE_URL \
"http://myorg-lmstudio.eve-tunnels.svc.cluster.local:1234/v1" \
--scope project# Check if toolchains are declared in agent config
# agents.yaml: toolchains: [python]
# If a toolchain binary is missing at runtime:
# 1. Verify agent config has the toolchain declared
# 2. Check init container logs on the runner pod
# 3. Verify the configured toolchain image prefix/tag resolves in the registryruntime_meta.toolchainsEVE_TOOLCHAIN_IMAGE_PREFIXEVE_TOOLCHAIN_IMAGE_TAG# Undeploy services from an environment (stops pods, keeps env record)
eve env undeploy <project> <env>
# Delete the environment entirely (removes env record, managed DB, secrets)
eve env delete <project> <env>eve env deleteeve project delete <project-id>EVE_WORKSPACE_MAX_GBEVE_WORKSPACE_MIN_FREE_GBEVE_SESSION_TTL_HOURSrejectUnauthorized: falsessl: { rejectUnauthorized: false }${managed.<db>.url}services:
poller:
x-eve:
networking:
egress: stable # default is 'nat'hostNetwork: trueeve-manifest-authoringeve-local-dev-loopeve-auth-and-secretseve-manifest-authoring