Edge Plug-ins
If a term is unfamiliar, open the Glossary.
Use these plug-ins when you want NGINX or Cloudflare to forward header posture data to Dralvia, without shipping full traffic off-prem.
Workspace API workflow
- Send each sanitized header capture to the workspace-scoped Edge Activity Signals ingest endpoint from the API reference.
- Headers:
X-API-KEY(required), optionalX-Edge-Type,X-Client-IP,X-TLS-Version - Body: JSON containing
request_host,request_path, and a list of headers.
- Headers:
- Use the Edge Activity Signals dashboard (
#/edge-beacons) to review recent captures for only your workspace. - Use the Edge Connector Downloads workflow to review version rollout status for your workspace.
Downloading the bundle
Workspace operators can download the signed edge plug-in bundle from Workspace Agents & Downloads -> Edge Connector Downloads. The bundle includes both the NGINX Lua snippet and the Cloudflare Worker script, plus a README. The latest update manifest is available from the Edge Connector Downloads surface and its matching API reference entry.
Verify integrity (recommended)
sha256sum dralvia-edge-plugins-<version>.zip
Compare the hash to the SHA-256 value shown in the UI or the .sha256 file.
If your org publishes a public signing key, verify the signature:
openssl dgst -sha256 -verify dralvia-edge-plugins-public.pem \
-signature dralvia-edge-plugins-<version>.zip.sig \
dralvia-edge-plugins-<version>.zip
OpenResty/NGINX (Lua)
- Install OpenResty or NGINX with
lua-resty-http. - Copy
agents/edge/nginx_lua_beacon.confinto yourserver {}block. - Set
DRALVIA_API_KEY=<your key>in the environment before starting NGINX. - Optional: set
DRALVIA_EDGE_ENDPOINT(defaults to yourhttps://dralvia.tech/api/tenantbase URL plus the packaged edge ingest path),DRALVIA_EDGE_VERSION, andDRALVIA_TENANT_ID. - Reload the service. Every request posts a sanitized header list + TLS info.
Cloudflare Worker
- Create a Worker in the Cloudflare dashboard.
- Paste
agents/edge/cloudflare_worker.jsas the script. - Add a secret named
DRALVIA_API_KEY. - Optional: add
DRALVIA_EDGE_ENDPOINTandDRALVIA_TENANT_IDas Worker secrets. - Update
EDGE_VERSIONin the worker script when you deploy new versions. - Attach the Worker to the routes you want to monitor.
Reviewing captures
Open Edge Activity Signals (#/edge-beacons) in the admin console to view the latest 25 submissions for your workspace. Each tile shows:
- Host/path and timestamp
- Edge type (nginx/cloudflare) + version
- Client IP, geo, TLS version
- The header list (JSON)
Privacy
- Only headers and connection metadata are collected. No bodies, cookies, or query parameters leave your infrastructure.
- Payloads are capped at 60 KB per request.
- Authorization/cookie headers are filtered out by default in the plug-ins.
- Remove any header you don’t want to share by editing the Lua/Worker script.
Self-check playbook
Use this 5-step isolation flow before escalating:
- Configuration: confirm required inputs are present and formatted correctly.
- Permission: confirm your role can perform the action (
401/403usually indicates authz/authn mismatch). - License/feature: confirm the feature is enabled for your workspace plan and module toggles.
- Quota/rate limit: check for
429responses and cooldown windows. - Service health: if you see
5xx, retry once after 30-60 seconds and capture exact error text.
If still failing, escalate with workspace ID, UTC timestamp, route, action, payload shape (no secrets), and screenshot/error response.
Troubleshooting
| Symptom | Fix |
|---|---|
401 Unauthorized | Verify the API key configured in the plugin. |
| HUD shows nothing | Refresh #/edge-beacons, then confirm your workspace is sending captures to the workspace-scoped Edge Activity Signals ingest endpoint. |
| Cloudflare errors | Check Worker logs; ensure the secret DRALVIA_API_KEY is set. |
For deployment automation details in workspace context, use the API guidance in this page and contact support if you need rollout templates.
Who this is for
This guide is for workspace owners, workspace admins, and security operators who need clear, repeatable steps without support intervention for day-to-day execution.
Role-based start here
- Workspace Owner: Start with Before you start, then complete Step-by-step and Known limits and rate limits.
- Workspace Admin: Focus on Step-by-step, What each button does, and API and automation.
- Security Analyst: Start at Day-2 operations and Troubleshooting, then use API error quick reference.
- Integrator/Engineer: Start at API and automation, then validate with Step-by-step and FAQ.
Before you start
Use this short checklist before making changes:
- Confirm you are signed into the correct workspace account.
- Confirm your role includes the permissions needed for this page.
- Confirm your browser session is fresh (if pages behave unexpectedly, sign out/in once).
- Confirm required prerequisites (API keys, agent enrollment, license, upstream integrations) are already in place.
Step-by-step
Follow this sequence for predictable results:
- Open the workspace from the workspace menu.
- Review current status/health/last update indicators before making changes.
- Apply one change at a time and save.
- Run the available validate/probe/refresh action.
- Confirm the expected output appears (status change, new event, successful result).
- If behavior is not as expected, use Troubleshooting below before repeating actions.
Day-2 operations
After initial setup, keep this surface healthy with a simple routine:
- Daily: verify data freshness and error banners.
- Weekly: review trends, limits, and failed actions.
- Monthly: review permissions, keys/tokens, and stale entities.
- After any incident: capture evidence and update your internal operating notes.
What each button does
Button labels can vary by module, but behavior is consistent:
- Refresh: reloads the latest data from backend APIs without changing configuration.
- Save: persists workspace-scoped configuration changes.
- Run/Probe/Validate: executes a non-destructive health or verification action.
- Download: fetches workspace-scoped artifact(s) (for example bundle, checksum, signature, or report).
- Verify: checks integrity/consistency and returns pass/fail details.
- Enable/Disable: toggles module behavior for your workspace; audit evidence should be recorded.
If a button appears disabled, check role permissions, required fields, and workspace license/feature entitlement first.
API and automation
Everything in this page should remain workspace-scoped. If your team prefers automation, use the corresponding API endpoints with the same guardrails as the UI:
- Use authenticated requests bound to your workspace context.
- Use idempotency/retry controls where available.
- Validate outcomes in the UI after automated runs.
If your endpoint mapping is not obvious, start from Help Center and follow the linked API docs.
Next best actions
After finishing this page, continue with related workflows so your workspace setup stays end-to-end complete:
- EDR response and host actions
- Web Access Protection and dry-run events
- Identity risk and OAuth response
- EvidencePack verification and transparency log
- Risk economics and plan recommendation
FAQ
Q: I clicked save but nothing changed. A: Refresh once, confirm permissions, and verify required fields.
Q: Why do I see missing API key/unauthorized errors? A: Confirm your workspace API key/session is valid and mapped to the correct workspace scope.
Q: Can non-admin users use this page? A: Usually read-only access is possible; write actions require workspace-admin or equivalent roles.
Next steps
After finishing this guide:
- Validate the result in the related dashboard/workspace.
- Export or capture evidence if this affects compliance/incident operations.
- Share the same runbook internally so other operators follow identical steps.
- Return to Help Center for adjacent workflows.
API error quick reference
Use this matrix when a UI action fails with an HTTP/API error.
| Error | Meaning | What to do now |
|---|---|---|
401 Unauthorized | Session token is missing/expired or request is not authenticated. | Sign out/in, refresh once, then retry. Confirm your session is active in the correct workspace. |
403 Forbidden | You are authenticated but your role is not allowed to perform this action. | Confirm your role includes the required permission for this button/action. Ask workspace admin to grant access. |
404 Not Found | The route/resource does not exist in current workspace context (or feature not enabled). | Confirm URL/route, workspace context, and feature availability. Refresh and retry; if persistent, capture timestamp and route and contact support. |
429 Too Many Requests | Rate limit/quota window was exceeded. | Wait for cooldown/reset window, retry once, then reduce burst traffic/backoff if automated. |
500 Internal Server Error | Backend failed unexpectedly while processing the request. | Retry after 30-60 seconds. If still failing, escalate with workspace ID, UTC time, route, action, and full error text. |
Known limits and rate limits
These limits can vary by plan and feature, but behavior is consistent:
- Burst traffic can trigger
429 Too Many Requests. - Workspace quotas apply per feature/module and reset on configured windows.
- Repeated retries without backoff can extend recovery time during saturation.
Recommended operator behavior:
- Retry once after cooldown for 429 responses.
- Use exponential backoff in automation.
- Monitor usage/quota dashboards for sustained high utilization.
- Request quota review when normal workload regularly approaches limits.