migetpacks supports app.json as an application manifest file. This file defines environment variables, process formation, deployment scripts, and buildpack configuration for your application.

Supported Fields

Environment Variables

The env field defines environment variables that are exported during the build and included in the result JSON. Each variable can specify a fixed value, a generator, or be marked as required.

Variable Properties

Formation

The formation field defines process types with their replica count and compute size. This information is passed through to the result JSON for use by deployment orchestrators.

Formation Properties

Scripts

The scripts field defines lifecycle hooks that run at specific points during deployment. These are included in the result JSON for the deployment system to execute.

Supported Scripts

Buildpacks

The buildpacks field maps to migetpacks language support. Heroku-style buildpack URLs are automatically translated to migetpacks language identifiers.

Buildpack URL Mapping

When multiple buildpacks are specified, the order defines the build sequence. The first buildpack becomes the primary language (determines the runtime base image), and subsequent buildpacks provide additional build stages.
The buildpacks field in app.json is equivalent to setting the BUILDPACKS environment variable. If both are provided, the BUILDPACKS env var takes precedence.

Addons

The addons field declares service dependencies for your application. Each addon can be specified as a simple string or as an object with additional configuration.

String Format

Object Format

Addon Properties

String-format addons are normalized to object format in the result JSON with as and options set to null.

Full Example

Result JSON Output

Values defined in app.json appear in the build result JSON output. Here is how each field maps:
Variables with "generator": "secret" will have their generated value populated in the env section of the result JSON. Variables with "required": true appear with a null value, indicating they must be supplied by the deployment system.