App Manifest v2

Every published Flowgear App ZIP contains an app.json manifest that identifies the App and controls how it appears in Console navigation. The package also contains the static frontend files hosted by Flowgear.

Manifest location

Place app.json at the root of the ZIP. The filename must be exactly app.json.

When you use the current sample App, edit public/app.json before running npm run build. The build copies it to the root of the build output. Zip the contents of build, not the build folder itself.

Manifest example

{
  "Name": "your-company.finance-remediation",
  "Version": "1.0.0.0",
  "DisplayName": "Finance Remediation",
  "Rank": 10
}

Manifest fields

Field Type Description
Name String Stable internal identity used to create or update the App. Use a unique, namespaced value and do not change it when publishing a new Version of the same App.
Version String Published App Version. It must differ from the currently published Version when updating an App. Use a consistently increasing version such as 1.0.0.1.
DisplayName String User-facing name shown in the App list and Console navigation. It can contain spaces.
Rank Integer Controls App order in Console navigation. Lower values appear first. Apps with no Rank appear after ranked Apps; equal ranks are ordered by DisplayName.

Use the exact field casing shown above.

Package layout

The ZIP root must contain:

  • app.json.
  • A landing page named index.html, index.htm, default.html, or default.htm.
  • The asset folders and files referenced by the landing page.

You can also include icon.svg at the ZIP root. When present, the Console uses it for the App's navigation and title icon.

A typical package is:

app.json
icon.svg
index.html
assets/
  index.css
  index.js

The Console accepts ZIP uploads up to 30 MB. Use relative asset URLs because Flowgear publishes the files beneath an App-specific public path. The current sample configures its build base as ./ for this reason.

Treat every packaged file as public client-side content. Do not include Connection values, API-key tokens, client secrets, or private keys.

Publishing a new App

When no published App has the same Name, Flowgear creates a service-generated App key and assigns ownership to the Account selected in Publish new App.

Package publish and Site assignment are separate. After the package is published, open its details and publish it to each Site where it should appear.

Publishing a new Version

To update an existing App:

  1. Keep the existing Name.
  2. Change Version to a value different from the published Version.
  3. Build and upload the complete package under the same owning Account.

Flowgear retains the App key, owning Account, and existing Site assignments. Files at the same package paths are overwritten by the uploaded Version.

The Version comparison checks that the string changed; it does not require a specific versioning scheme. Use an increasing four-part version so operators can understand publish order.

An App Name already owned by another Account cannot be republished under a different Account.

Package validation errors

Publish fails when:

  • The ZIP does not contain root app.json.
  • app.json is not valid JSON for the App manifest.
  • The package has no supported root landing page.
  • The selected Account does not own an existing App with the same Name.
  • The uploaded Version matches the current Version.
  • The upload exceeds the Console size limit.

The Console displays the upload or publish failure in an alert. Correct the manifest or package, rebuild the complete output, and upload it again.

See also

See Manage Apps screen for publish and Site assignment, and Apps for the end-to-end development journey.