Mohit
07/21/2026, 12:02 PMAsk Inkeep
07/21/2026, 12:02 PMAsk Inkeep
07/21/2026, 12:02 PMapi_decision_logs_ingress.go code you mentioned is internal SDK infrastructure, not something your application should invoke. (1)
*2. Configuration Requirements*
Decision logs are enabled by default. The key environment variables are:
• PDP_OPA_DECISION_LOG_ENABLED - defaults to True, so logs are automatically uploaded
• PDP_API_KEY - must be set (which you have as PERMIT_IO_API_KEY)
Optional tuning parameters include:
• PDP_OPA_DECISION_LOG_MIN_DELAY - minimum time between uploads (default: 1 second)
• PDP_OPA_DECISION_LOG_MAX_DELAY - maximum backoff time (default: 10 seconds)
• PDP_OPA_DECISION_LOG_UPLOAD_SIZE_LIMIT - upload size limit in bytes (default: 65536)
You can also enable console logging of decisions locally with PDP_OPA_DECISION_LOG_CONSOLE=True
*3. Verification Methods*
To verify decision logs are reaching the cloud: (2)
• *Audit Logs UI*: Decision logs from the container PDP appear in the Audit Logs UI in the same format as Cloud PDP logs
• *PDP Container Logs*: Look for log messages about decision log uploads in your PDP container output (1)
• *Debug Mode*: You can enable PDP_DEBUG=True to inject additional debug attributes into decision logs for richer context
*4. Known Considerations for v0.9.9*
The documentation doesn't indicate specific issues with decision log sync on v0.9.9. However, if you encounter upload failures, the PDP performs exponential backoff between PDP_OPA_DECISION_LOG_MIN_DELAY and PDP_OPA_DECISION_LOG_MAX_DELAY until successful.
*Troubleshooting Steps*
If you're not seeing logs in the dashboard, please share with our engineers:
1. Which Workspace / Project / Env you are using
2. What calls you're performing (as SDK code or CURL)
3. Which PDP version you're running (you mentioned 0.9.9)
4. Relevant logs from your PDP container, especially any errors related to decision log ingress or uploads
The PDP should automatically chunk uploads to stay within the size limit and handle retries with backoff.Ask Inkeep
07/21/2026, 12:02 PMdavid
07/21/2026, 12:11 PMPDP_API_KEY (an Environment-level API key), not PERMIT_IO_API_KEY — that latter name is the SDK-side token convention and isn't read by the container.
On your specific questions:
1. Yes, shipping is automatic — the PDP uploads OPA decision logs to the cloud on its own. api_decision_logs_ingress.go is generated SDK client code and is not part of the runtime path; your app shouldn't call it.
2. Nothing extra to enable — PDP_OPA_DECISION_LOG_ENABLED defaults to True. Just the correct PDP_API_KEY.
3. Verify in Audit Logs in the dashboard. To watch it live from the container, set PDP_OPA_DECISION_LOG_CONSOLE=True and look for upload log lines; /health reports sync/connection status.
4. No decision-log issue specific to 0.9.9, but you're a few patches behind — worth pulling latest if the problem persists.Mohit
07/21/2026, 3:04 PM