Execution Environment

Execution environment

An introduction to execution environment in the Nextmv Platform.

The execution environment is the environment in which an app runs remotely. It is characterized by features such as:

The execution environment is specified in part by the app manifest. All applications that run on the Nextmv Platform must contain this file in the root of the project.

App manifest

An application that runs on the Nextmv Platform must contain a file named app.yaml which is known as the app manifest. This file is used to specify the execution environment for the app. These are the attributes of the app manifest:

  • type (mandatory): the language type to use for the app.
    • go for Go
    • python for Python
    • java for Java
  • runtime (mandatory): the runtime to use for the app.
  • files (mandatory): the files to include in the app. Globbing is supported so you may specify individual files or whole directories. Java only supports a single main.jar file.
  • pre-push (optional): a bash command to run before the app is pushed to the Nextmv Cloud. This command can be used to compile a binary or run tests.

You can port any custom app into the Nextmv Platform. You just need the app.yaml manifest in the root of the project with the appropriate attributes. The entrypoint of the app should be:

  • main for Go
  • main.py for Python
  • main.jar for Java

Here are various examples of app.yaml manifests present in our community apps:

  • go apps.
# This manifest holds the information the app needs to run on the Nextmv Cloud.
type: go
runtime: ghcr.io/nextmv-io/runtime/default:latest
pre-push: GOOS=linux GOARCH=arm64 go build -o main
files:
  - main
Copy
  • python apps.
# This manifest holds the information the app needs to run on the Nextmv Cloud.
type: python
runtime: ghcr.io/nextmv-io/runtime/ampl:latest
# List all files/directories that should be included in the app. Globbing
# (e.g.: configs/*.json) is supported.
files:
  - main.py
  # If you have an AMPL license, uncomment the following line and make sure to
  # store your license information in that file.
  # - ampl_license_uuid
Copy
  • java apps.
# This manifest holds the information the app needs to run on the Nextmv Cloud.
type: java
runtime: ghcr.io/nextmv-io/runtime/java:latest
files:
  - main.jar
pre-push: mvn package
Copy

Page last updated

Go to on-page nav menu