Skip to content

Configure your app

Forge reads mithran.yaml from the repository root. Commit this file with the application source so each deployment uses the configuration that belongs to its selected commit.

Initialize existing source

Run initialization from your application's repository root:

aegis forge init

An existing valid forge.mithran/v1 or map.mithran/v1 manifest is validated and preserved byte for byte. Initialization leaves application source unchanged when a valid manifest already exists.

Without a manifest, initialization detects a static application when index.html exists at the root and no competing build manifest exists. It writes this configuration while preserving the existing source:

apiVersion: forge.mithran/v1
kind: ForgeApp
source:
  root: .
runtime:
  kind: static
  entrypoint: index.html

An empty directory, including one containing only .git, receives this manifest and a starter index.html.

Resolve an initialization refusal

Automatic detection covers the root-level static layout. A package.json, Cargo.toml, pyproject.toml, requirements.txt, go.mod, or Dockerfile prevents that automatic choice.

For an application requiring a build or another runtime, provide a manifest for its supported runtime before rerunning initialization. Use Manifest reference and your application's runtime requirements to choose the configuration.

If initialization reports invalid YAML, an unsupported schema, or invalid fields, correct the reported problem in your existing manifest. Keep your source files and rerun initialization after the correction.

Prepare for deployment

Review the manifest diff and test the app locally. Image-based runtimes also need the build files required by their manifest, including a Dockerfile where applicable.

Keep credentials and private keys out of the manifest and committed source. Read HTTP app contract for runtime behavior and Security and trust for authority boundaries.

The GitHub origin identifies the default repository, and committed HEAD identifies the source. Commit and push your reviewed changes before requesting deployment.