dpndncY

Troubleshooting

Start here when something does not work. Find the symptom, then the cause. Commands assume Docker Compose in /opt/dpndncy; on Kubernetes use kubectl logs and kubectl describe.

#First, three commands

curl -sS https://<api address>/health        # is it running, and which version
docker compose ps                            # are both containers up and healthy
docker compose logs --tail 100 dpndncY       # what the application says (JSON lines)

#It will not start

Symptom Cause Fix
Container restarts at once; log says CORS_ORIGIN missing in production The console address is not configured Set CORS_ORIGIN to the console address. Compose and Helm derive it from DOMAIN / config.publicUrl
Log says APP_SECRET env var missing in production No APP_SECRET Set it (openssl rand -hex 32)
helm install stops with "Set config.publicUrl" The chart needs the console address Set config.publicUrl, or enable the ingress with a host
Container exits straight after start with Express exited before becoming ready The API failed to start; the line before it says why Read the log above that line
docker compose up says set DOMAIN in .env A required value is missing Fill in DOMAIN and API_DOMAIN in .env
Pod Pending No volume could be created kubectl get pvc -n dpndncy; fix the StorageClass
Container is killed for memory The limit is too low for the scan Raise the memory limit (4 GB or more)

#I cannot reach it

Symptom Cause Fix
Browser cannot connect DNS does not point at the machine, or port 443 is closed Check the name resolves, and the firewall and security group
Browser warns about the certificate Not issued yet, or an internal authority the browser does not trust Wait a minute and check docker compose logs caddy. Both names must resolve here and ports 80 and 443 must be open. For an internal authority, distribute its root certificate
502 Bad Gateway The proxy is up but the application is not (yet) Wait for the application to become healthy, or read its log
Console works, the CLI gets 404 The CLI is pointed at the console address Use the API address. See Ports and networking
CLI exits 5 Cannot connect: wrong address, blocked by a firewall, or an untrusted certificate curl the API /health from the runner. For a private certificate authority set NODE_EXTRA_CA_CERTS
curl https://<api>/health works, pipelines still cannot connect The runner is behind a proxy Set HTTPS_PROXY on the runner

#Signing in

Symptom Cause Fix
"The request could not be verified" The address in the browser is not the configured console address Browse to exactly the address in CORS_ORIGIN / NEXT_PUBLIC_APP_ORIGIN: same scheme, name and port
Sign-in works, then you are signed out on the next click Secure cookies over plain HTTP Use HTTPS. For a test over HTTP only, COOKIE_SECURE=false
Everyone is signed out after a restart Expected: browser sessions end when the server restarts Sign in again. API tokens are not affected
"Too many sign-in attempts" The sign-in rate limit (20 per 15 minutes per address) Wait. Behind a proxy make sure TRUST_PROXY=true, or everyone shares one address
The operator password stopped working after a restart ENABLE_BOOTSTRAP_SUPERADMIN is still true, which resets it at every start Sign in with the configured password, change it, set the flag to false
"Tenant membership is required" with single sign-on The person is not a member of any tenant Add them under Settings, Users
Two-step verification locked someone out Lost device A tenant owner resets it for them under Settings, Users

#Scans

Symptom Cause Fix
CLI exit 4 Token invalid or expired, or its user is not an analyst Create a new token for a user with the analyst role
CLI exit 1 with "scan policy" The scan broke the tenant's policy Read the violations in the result. Fix, or adjust the policy
Everything lands in one project named source or workspace The CI checkout folder has a meaningless name Pass --project <name> or set DPNDNCY_PROJECT
Upload refused as too large The archive exceeds MAX_ZIP_UPLOAD_MB, or a proxy body limit Exclude build output with a .dpndncyignore file, or raise the limits
Scans stop after about a minute A proxy or load balancer timeout Raise the read timeout on the API name to 600 seconds
No vulnerabilities found for a project that has them A lockfile is missing, so versions are unknown Commit the lockfile. Some ecosystems need one
Scans fail with network errors Outbound access is blocked Allow the destinations in Ports and networking, or configure a proxy
The queue keeps growing Too many concurrent scans for the machine Settings, System health. Give the machine more CPU and memory
"The installation is read-only" The trial or licence ended Apply a licence under Settings, License

#Data and upgrades

Symptom Cause Fix
History is gone after replacing the container The data volume was not mounted at /app/data Mount the volume exactly there. Restore from a backup if it was lost
Stored git tokens or integrations stopped working APP_SECRET was changed without re-encrypting Put the old value back, or run the rotation tool (Running dpndncY)
Upgrade failed part-way A migration did not finish Restore the backup you took before upgrading, with the previous image version
Disk is filling Scan history and logs Check the volume size. Docker logs rotate at 10 MB x 5 files. Audit logs are kept 90 days (AUDIT_LOG_RETENTION_DAYS)

#Collecting information for support

docker compose ps
docker compose logs --tail 300 dpndncY > dpndncy.log
curl -sS https://<api address>/health

Send the version, what you expected, what happened, the CLI exit code if relevant, and dpndncy.log. Remove anything you do not want to share: logs do not contain passwords or tokens, but they do contain project names and addresses.