Preparing a Worker Application for Deployment

You can deploy a worker application to Oracle Application Container Cloud Service. A worker application is accessible over a private overlay network to the other applications deployed within your identity domain and is not accessible to end users.

You can’t access a worker application using a public URL, the public REST API, or the PaaS Service Manager command-line interface. It doesn’t need to read the PORT environment variable, although it can do so. Like a public application, it can use environment variables and service bindings, and it can be scaled and monitored.

To specify a worker application, set the following parameters in the manifest.json file:

  • "type":"worker" – (Required) Specifies a worker application.

  • "isClustered":"true" – (Optional) Specifies that the application is clustered, which is often necessary for a worker application to communicate with a public application.

You can’t change a worker application to a public application by redeploying it. You must delete the application, make the change, then deploy it as a new application.

A private application communicates with other applications asynchronously, by generating or listening to messages. These messages can be to or from a publish/subscribe service such as Oracle Event Hub Cloud Service. Direct point-to-point communication is not supported.

Deploying the Archive Using the Command-Line Interface

To deploy your private application using the command-line interface, create your archive and place it in your Oracle Cloud Infrastructure Object Storage Classic account.

Then use the accs push command. See accs push in PSM CLI Reference.

Deploying the Archive Using the REST API

To deploy your private application using the REST API, create your archive and place it in your Oracle Cloud Infrastructure Object Storage Classic account.

This example shows how to deploy a Java application called MyPrivateApp by submitting a POST request using cURL. The archiveURL points to the location of your archive within your storage service account.

curl -X POST -u joe@example.com:password \
-H "X-ID-TENANT-NAME:ExampleIdentityDomain" \
-H "Content-Type: multipart/form-data" -F "name=MyPrivateApp" \
-F "runtime=java" -F "subscription=Monthly" \
-F "deployment=@deployment.json" \
-F "archiveURL=mydomain/binaries/myprivapp.zip" \
-F "notes=notes for deployment" \
https://apaas.oraclecloud.com/paas/service/apaas/api/v1.1/apps/ExampleIdentityDomain

Any option on the command line (such as subscription or name) takes precedence over the same option in a metadata file, if there is a difference.

To learn more about the REST API, see REST API for Managing Applications.