Developer
News and Updates
Get Support
Sign in
Get Support
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Reference
Integrating a service
Last updated Feb 9, 2026

Forge Containers reference: manifest (EAP)

Forge Containers are now available through Forge's Early Access Program (EAP). To start testing this feature, submit your app's ID to our team through this link.

EAPs are offered to selected users for testing and feedback purposes. APIs and features under EAP are unsupported and subject to change without notice. APIs and features under EAP are not recommended for use in production environments.

For more details, see Forge EAP, Preview, and GA.

Forge features a top-level manifest property named services that lets you define a service and its corresponding container. It supports the following properties:

PropertyRequired?Description
keyYesA key for the service, which modules (like endpoint) can refer to. Each service in the manifest must have a unique key (regex: ^[a-zA-Z0-9_-]+$)
containersYesDefines a container (and its properties) within the service. The containers property supports its own set of properties to configure a container; see Property: containers for details.
tunnelNoDefines the local port that invocations of the service should be made to whilst tunnelling. If undefined, requests will be made to port 7071. See Property: tunnel for details.
scalingNoHorizontal scaling configuration defining the min & max number of container instances to run. See Property: scaling for details.

The ability to configure multiple services and containers per app is available behind a feature flag. Contact us if your app requires multiple services. See Roadmap for details on upcoming updates.

Containers

The containers property lets you configure a container’s resource, scaling, and health check settings:

PropertyRequired?Description
keyYesA unique key that maps to the container’s image repository URI. This key is created with the forge containers create command; to view all container keys and their corresponding repository URIs, use the forge repositories list command.
tagYesThe tag of the image that Forge should use to deploy the container. This image (and tag) must exist in the Forge Container Registry.
resourcesYesVertical scaling configuration defining CPU and memory available to your container, using the following settings:
  • cpu: reserved amount of CPU units for the container in either cpu or millicpu, for example "1" or "1000m".
  • memory: reserved amount of memory units for the container in either mebibytes or gibibytes, for example "2048Mi" or "2Gi".
healthYesConfiguration for an HTTP Health check that the Forge Platform will poll for a 2xx response before directing traffic to your container.
tunnelNoConfiguration to deploy the container locally and start it automatically with forge tunnel. These settings follow the same syntax as a standard docker compose file. See Testing a containerised service locally for more information.

Scaling

The scaling property defines how the service should scale the number of instances.

PropertyRequired?Description
minYesThe minimum number of instances that the service can scale down to.
maxYesThe maximum number of instances that the service can scale up to.
profileNoThe scaling configuration used by this service.

Scaling profiles

For now, the only supported profile is default. With this profile, scaling behaviors are triggered whenever the average CPU or memory usage reaches the following thresholds:

ResourceAverage resource usage threshold
CPU50%
Memory70%

The following table describes the default profile’s scaling behavior:

Scaling behaviorScale byTrigger
Scale Up100%Instances reached the average usage threshold.
Scale Down50%Instances stay under the average usage threshold for a full 300 seconds.

Forge Containers checks average resource usage every 15 seconds.

Tunnel

The tunnel property lets you configure which port service invocations should be made to.

PropertyRequired?Description
portYesThe port of the locally-deployed service. While tunnelling, any invocations of this service will be made to localhost:${port}.

Example

The following snippet shows a service named java-service, which is backed by a container of the same name. The service is accessible via the /webtrigger route on the webtrigger-ep endpoint module.

1
2
modules:
  webtrigger:
    - key: container-webtrigger
      endpoint: webtrigger-ep
  endpoint:
    - key: webtrigger-ep
      service: java-service
      route:
        path: /webtrigger

services:
  - key: java-service
    containers:
      - key: java-service
        tag: latest
        resources:
          cpu: "1"
          memory: "2Gi"
        health:
          type: http
          route:
            path: "/healthcheck"
    scaling: 
      min: 1
      max: 1

Rate this page: