About Synchronous API
    • PDF

    About Synchronous API

    • PDF

    Article Summary

    Glasswall's Synchronous REST API enables real time responses to analysis and file rebuild requests.

    A single API request is issued to sanitize a file and to receive a file analysis report.

    The Glasswall API runs on a Kubernetes cluster with a group of other microservices.

    It integrates with:

    • ICAP Plug-in
    • Clean Room
    • REST-API

    CDR Platform BASIC.png

    How it works

    High Level Architectural Components for Sync REST API.png

    • Clean Room and ICAP both have subordinate HPAs (Horizontal Pod Autoscalers) which contain PODs that forward all requests to the REST-API service.
    • The REST-API service, when receiving a file for processing (either to rebuild, file type detection, or file analysis) gets copied to the Shared Source Directory and creates an Adaptation Request Message in the corresponding message queue.
    • The file then gets copied to the cluster’s Minio Server and the preassigned-URL is passed to the Processing Queue with source and destination locations using the Storage Converter Service (SRV).
    • The processing POD then downloads the file from the Minio Server using the preassigned-URL, then Glasswall Engine processes it, uploads the clean version to the Minio Server and creates a corresponding message in the Processing Outcome Queue.
    • The clean version of the file is then downloaded from the Minio Server, stored in the Target Files Directory, and the Adaptation Outcome Message is created in the corresponding queue by Storage Converter Service (SRV).
    • As soon as the REST API pod gets the Adaptation Outcome Message, it picks up the clean file from the Target Files Directory and forwards it to the user of the REST API service who initiated the file processing request. The user may be a person or service outside the K8s cluster or the Clean Room or ICAP service.
    • The cluster also has a Logging Service that shares the Logging API with all other microservices with in the cluster. The Logging API upon receiving logs from the PODs, stores them in a Log Storage. A Filebeat POD watches modifications of the Log Storage and when a new file is added there, sends it to the pre-configured Elasticsearch Server. The logs can then be utilized for creating real-time visualizations in the Kibana dashboards.
    Note

    File sanitisation policies can be set via the Synchronous API Endpoints when initiating the requests, enabling different protection options for different user groups.

    Find out more about our Synchronous API Endpoints

    Network Architecture Diagram for Synchronous API

    Network Arch Diagram for Sync REST API.png


    Was this article helpful?