Alshival.Ai Docs
Portal ↗Wiki ↗

DEVELOPER DOCUMENTATION

Desktop-to-cloud forwarding

Use forwarding when applications should keep sending to the desktop while the desktop also delivers copies to the cloud. If local storage is unnecessary, send directly to the cloud using the same logging contract.

Configure a target

  1. Confirm the cloud workspace and resource exist and the cloud credential has logs:write access.
  2. Open the desktop resource's Logs panel and its cloud-forwarding controls.
  3. Enter the complete cloud JSON logs URL: https://api.alshival.ai/v1/workspaces/WORKSPACE_UUID/resources/RESOURCE_UUID/logs.
  4. Provide the cloud token, enable forwarding, and send a new event to the local listener.
  5. Check forwarding status and query the cloud resource with a cloud read credential to confirm receipt.

The cloud token is stored in the operating-system keyring. Forwarding is disabled by default and is independent of workspace/project synchronization. Connecting a workspace does not automatically upload its logs. Forwarding applies to newly received events; it is not a historical backfill operation.

Queues and outages

The local event is stored before a remote copy is queued. The durable forwarding queue is bounded at 16 MiB. When full, additional remote copies are skipped while local ingestion continues; inspect the status panel for this condition.

Transient failures back off. Credential/configuration failures pause the target until Retry. Correct the destination or credential before retrying. Disabling forwarding stops delivery and retains queued copies locally. Refresh setup/status after changes; do not assume the panel is a continuously updating delivery dashboard.

Delivery can duplicate events after uncertain acknowledgments. If the computer sleeps, logs out, or loses network access, delivery may pause. Closing the app window normally leaves the background service running.

Another machine sending to desktop

Keep the listener on loopback. With an already configured SSH server and access, run on the sending machine:

ssh -N -L 18765:127.0.0.1:8765 desktop-user@desktop-host

Then use base URL http://127.0.0.1:18765 and the desktop resource token. Authentication is still required through the tunnel.