The SFTP Gateway exposes a small internal HTTP API used by its SSH and key management processes. It is not an authenticated public API: deploy it on a private network and restrict access with Kubernetes NetworkPolicies, an ingress rule, or equivalent controls.
- Base URL:
http://localhost:8080(configurable viaNODE_PORT) - Response format: Kubernetes responses are JSON; some utility endpoints return plain text.
- Authentication: The application does not enforce HTTP authentication.
Proxy the Kubernetes GET /api/v1/pods response using the gateway's configured
service-account token. The gateway does not implement query filtering; callers
receive the Kubernetes API response unchanged.
# Example
curl http://localhost:8080/v1/podsSuccess response: Kubernetes PodList JSON.
Failure response: HTTP 502 with:
{
"error": "Unable to retrieve Kubernetes pods",
"message": "…"
}Return the in-memory SSH-user state as { "items": … }. The exact item shape
depends on the configured state source and may be absent before the first key
refresh.
# Example
curl http://localhost:8080/usersResponse:
{
"items": {}
}Resolve an SSH-user label or pod name to the command fragment consumed by the forced SSH command. This is an internal integration endpoint, not a client connection string.
# Example
curl http://localhost:8080/_cat/connection-string/dev-userResponse:
-n default exec web-app-dev
List the current in-memory application records.
# Example
curl http://localhost:8080/appsResponse:
{
"items": []
}Clean up stale container data from Firebase.
container collection. The application
does not authorize this endpoint; only expose it to trusted operators.
# Example
curl -X DELETE http://localhost:8080/flushFirebaseContainersResponse:
{
"ok": true,
"message": "Successfully flushed container data",
"removedCount": 42
}This operation:
- Removes stale container records
- Triggers automatic container re-sync
- Logs all changes for audit
- Helps resolve memory issues