Loading…
Loading…
Lists the required database, container runtime, network, and resource specifications for deploying and operating the SOAP-to-REST platform.
This document specifies the system requirements for deploying and running the SOAP-to-REST platform. It covers the necessary database, container runtime, supported deployment targets, network configuration, and resource baselines. The platform is designed to run entirely within an API publisher's own infrastructure, such as a private VPC, with no public-facing endpoints of its own. It transforms SOAP services into RESTful APIs, and all configuration, state, and traffic data reside within the publisher's environment.
Before beginning installation, confirm that your target environment meets these requirements. These requirements apply to the General Availability (GA) product, version 1.0 and later.
The platform uses a PostgreSQL database as its source of truth for all persistent data, including service configurations, mappings, audit logs, and pre-computed aggregation tables for reporting. All application tables are prefixed with s2r_.
postgres:16-alpine container.ENCODING 'UTF8'). This is critical to ensure that SOAP envelopes, REST payloads, generated API contracts, and content in right-to-left (RTL) languages like Hebrew can be processed without data corruption.pgcrypto extension is required for encrypting credentials stored for backend services.IMPORTANT
The pgcrypto extension must be enabled on the target database. On managed database services where the application's database user lacks superuser privileges, a privileged user must execute the following command once:
CREATE EXTENSION pgcrypto;
Failure to enable this extension will cause operations involving backend credentials to fail with error code S2R-ADM-0421.
Database connection details are configured via environment variables (e.g., S2R_DB_HOST, S2R_DB_NAME, S2R_DB_USER). For a complete list, see the Installation Configuration reference.
The platform is delivered as a set of container images: admin-api, runtime, worker, admin-ui, and a PostgreSQL container for standalone deployments.
The core application components (admin-api, runtime, worker) are built on a Java 25 and Spring Boot 3.5 stack. The Java Virtual Machine (JVM) is bundled inside the container images.
-XX:+UseContainerSupport and a container-aware heap percentage, allowing them to respect memory limits assigned by the container runtime.As of version 1.0, the platform officially supports the following deployment targets:
| Target | Notes |
|---|---|
| GCP-native | Deploys to Cloud Run, using Cloud SQL for PostgreSQL (with IAM DB auth), Cloud Storage, and protected by Cloud IAP. |
| Kubernetes / OpenShift | Deploys via a Helm chart. Can use either an in-cluster or an external PostgreSQL database. |
| GCP Marketplace | A marketplace listing is available for streamlined deployment on Google Cloud Platform. |
| Standalone Docker Compose | Deploys all components (control plane, runtime, worker, PostgreSQL) on a single host. Requires a separate, user-provided reverse proxy or load balancer. |
The platform uses a cloud-adapter abstraction for interacting with object storage, compute provisioning, and secret stores, with existing adapters for Google Cloud, Azure, and VMware.
NOTE
The following are not supported as standard targets in v1.0 and are considered bespoke engagements:
The platform is designed to operate exclusively within your private network (e.g., a VPC). It has no public-facing endpoints by default. All traffic, API payloads, and metadata remain within your infrastructure. Access to the platform is managed through your existing network gateways and security controls.
The platform requires outbound HTTPS (TLS 1.3+) connectivity to the Specaria platform for license verification and to check for updates.
The application containers communicate internally over plain HTTP. A TLS-terminating reverse proxy or load balancer (such as F5 BIG-IP, Citrix ADC, NGINX, HAProxy, or a cloud provider's load balancer) must be placed in front of the platform.
IMPORTANT
The reverse proxy must be configured to pass the following headers to the admin-ui container for the application to function correctly:
HostX-Forwarded-ForX-Forwarded-Proto: httpsThe following default limits and settings are configured out of the box. Most are configurable on a per-operation basis.
| Parameter | Default Value | Description |
|---|---|---|
| Synchronous Payload Ceiling | 30 MB | Requests with payloads larger than this are rejected with an HTTP 413 status and error code S2R-RUN-0413. |
| Per-Operation Timeout | 100 ms | The default timeout for a backend operation. This can be configured for each operation. |
| Default Retries | 2 | The default number of retries for a failed backend operation. This can be configured for each operation. |
| Data Retention | 60 days | The default retention period for operational data. This is configurable. See Data Retention. |
The platform is engineered and load-tested to support a baseline of approximately 1 million calls per day.
Dashboard and UI performance remain fast (sub-second response times) even with large numbers of services because all time-bucketed data is read from pre-computed aggregation tables, not from raw logs at query time. Higher throughput requirements can be met by scaling resources as described in the Operations guide.
Access to the Admin UI and its Role-Based Access Control (RBAC) features (admin, operator, reader roles) is managed by integrating with an external identity provider.
S2R-ADM-0421): This error indicates that the pgcrypto extension is not enabled in the PostgreSQL database. A privileged user must run CREATE EXTENSION pgcrypto; on the database.S2R-RUN-0413): This error occurs when a synchronous request payload exceeds the configured maximum size (default: 30 MB). The request is rejected by the runtime.