Loading…
Loading…
Lists the system requirements for running the SOAP-2-REST platform, including PostgreSQL database, container runtime, network access, and payload limits.
This document specifies the mandatory system requirements for deploying and operating the SOAP-2-REST platform as of version 1.0. Before installation, an administrator must ensure the target environment meets these prerequisites, which cover the database, container runtime, network connectivity, and other operational parameters.
The platform is designed to run within an API publisher's infrastructure, with all persistent configuration and state stored in a PostgreSQL database. The core components are delivered as container images. The system requires outbound network access for license verification but is otherwise designed to be internal-only, with no public-facing endpoints of its own.
Failing to meet these requirements can lead to installation failures or runtime errors. Refer to the Quickstart guide after confirming your environment is compliant.
The platform uses a PostgreSQL database as its single source of truth for all persistent data, including service configurations, mappings, audit logs, and pre-computed aggregation tables. All application tables are prefixed with s2r_.
postgres:16-alpine image. While recent prior major versions are expected to work, version 16 is the officially supported version.ENCODING 'UTF8'). This is critical to prevent data corruption and ensure that SOAP envelopes, REST payloads, generated contracts, and content in languages such as Hebrew can be processed correctly.pgcrypto extension is mandatory for encrypting credentials at rest in the database.
CREATE EXTENSION pgcrypto; on the target database before the application starts.S2R-ADM-0421.Database connection details are configured via environment variables (e.g., S2R_DB_HOST, S2R_DB_NAME, S2R_DB_USER, S2R_DB_SSL_MODE). For a complete list, see the Installation → Configuration reference.
pgcrypto ExtensionIf the application's database user is not a superuser, a database administrator must enable the pgcrypto extension manually.
CREATE EXTENSION pgcrypto;
S2R-ADM-0421 errors.The platform and its components (admin-api, runtime, worker, admin-ui) are distributed as container images.
The core application components (admin-api, runtime, worker) are built on a Java 25 + Spring Boot 3.5 stack, with the Java package root com.specaria.s2r.
The Java Virtual Machine (JVM) is bundled within the container images. You do not need to install a JDK on the host machine to run the product. The containers are configured with -XX:+UseContainerSupport to be container-aware and automatically adjust heap size based on the memory limits assigned to the container.
A local installation of JDK 25 and Maven 3.9 is only necessary if you intend to build the container images from source instead of using the pre-built images.
As of version 1.0, the platform officially supports the following deployment targets.
| Target | Notes |
|---|---|
| GCP-native | Deploys using Cloud Run, Cloud SQL (with IAM DB auth), Cloud Storage, and Cloud IAP. |
| Kubernetes / OpenShift | Deploys via a Helm chart. Can use an in-cluster or external PostgreSQL database. |
| GCP Marketplace | A marketplace listing is available for a streamlined deployment experience on Google Cloud. |
| Standalone Docker Compose | Deploys all components on a single host. Requires a user-provided reverse proxy or load balancer. |
The platform includes a cloud-adapter abstraction for integrations with object stores, compute provisioners, and secret stores, with existing adapters for Google Cloud, Azure, and VMware. Sample Terraform environments are provided for AWS, Azure, and a vSphere relay.
The following are not supported in v1.0 and are considered bespoke engagements:
The platform is designed to operate entirely within your private network (e.g., VPC). It has no public endpoints by default. All traffic, API payloads, and metadata remain within your infrastructure. Access to the platform is managed through your own gateways and load balancers.
The platform requires outbound internet access for license verification.
The application containers communicate internally over plain HTTP. A TLS-terminating reverse proxy or load balancer (such as nginx, HAProxy, or a cloud provider's load balancer) must be placed in front of the platform. This proxy is responsible for terminating TLS and forwarding traffic to the admin-ui. The following headers must be passed to the upstream application:
HostX-Forwarded-ForX-Forwarded-Proto: httpsThe following default limits and retention policies are in effect at runtime.
| Parameter | Default Value | Notes |
|---|---|---|
| Synchronous Payload Ceiling | 30 MB | Requests with payloads larger than this are rejected with HTTP status 413 and error code S2R-RUN-0413. |
| Per-Operation Timeout | 100 ms | Configurable on a per-operation basis. |
| Per-Operation Retries | 2 | Configurable on a per-operation basis. |
| Data Retention | 60 days | Configurable. See Security → Data retention. |
The platform is engineered and load-tested to support a baseline of approximately 1 million calls per day.
Administrative dashboards are designed to remain responsive (sub-second load times) even with large numbers of services. This is achieved by querying pre-computed aggregation tables for time-bucketed data, rather than processing raw logs at query time. This baseline is not a hard limit; refer to the Operations guide for information on scaling for higher throughput.
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. Supported providers include:
While an evaluation stack can run without an identity provider, all production deployments should secure the admin UI with one.
S2R-ADM-0421): If you see this error in the logs, it indicates that the pgcrypto extension has not been enabled in the PostgreSQL database. A privileged user must run CREATE EXTENSION pgcrypto; on the database.S2R-RUN-0413): If API consumers receive an HTTP 413 "Payload Too Large" response, the request body exceeds the 30 MB synchronous payload ceiling.