True Zero-Config: Native Runtime Detection

May 5, 2026
3 min read
17 reads
True Zero-Config: Native Runtime Detection

We have all been lied to. For years, "Zero-Config" has been the holy grail of cloud platforms, but the reality was often a messy compromise of hidden defaults, manual environment overrides, and the constant fear that your "latest" tag might break your production build on a Tuesday morning.

At ODAC, we believe your infrastructure should adapt to your code, not the other way around. Today, we are closing the gap between your source code and your production environment with Native Runtime Detection.

The End of "It Works on My Machine"

Previously, when you deployed an application on ODAC, we assigned a sensible default (usually the latest LTS image for your chosen strategy). It worked for 90% of cases, but that final 10% required you to dive into settings and manually override environment variables to specify a Node.js or Go version.

No more.

ODAC Cloud now natively understands your application’s exact requirements by reading your repository’s configuration files directly. Whether you are building with Node.js, Go, Python, PHP, or Rust, ODAC’s builder intelligently parses your source to resolve and pull the precise environment your project demands.

How It Works (From Your Perspective)

The beauty of this update is that you don't have to do anything differently. You just keep writing code.

1. The Setup

Declare your required version in your project files as you normally would. For a Node.js application, that means your package.json:

{
  "name": "my-ultra-cool-app",
  "engines": {
    "node": "20.x"
  }
}

2. Connect and Deploy

Head over to the Dashboard at app.odac.run. Open the Live Canvas, hit the plus icon (or double-click anywhere), and find your repository in the Launcher.

Launcher with GitHub Repo

Once you select your repo and drop it onto your server, the magic starts.

3. Intelligent Resolution

As your application enters the "loading" state on the Live Canvas, ODAC is already hard at work. It scans your repository for files like package.json, go.mod, pyproject.toml, composer.json, or rust-toolchain.

Live Canvas Loading State

4. Deterministic Builds

Open the Inspector for your new app and click on Build Logs. You’ll see ODAC identifying your SemVer constraints in real-time and provisioning the exact Alpine-based container image required. No more manual overrides. No more version mismatch.

Inspector Build Logs

Supported Environments

We have launched with deep support for the most popular runtimes in the ecosystem:

  • Node.js: Parses the engines field in package.json.
  • Go: Detects the version specified in go.mod.
  • Python: Reads pyproject.toml or runtime.txt.
  • PHP: Understands constraints in composer.json.
  • Rust: Respects the rust-toolchain file.

Safe Fallbacks

What if you haven't specified a version? Don't worry. ODAC is designed with a "Secure by Default" philosophy. If your repository lacks a recognized version file or if the string is malformed, we safely fall back to the most recent, secure LTS image for that strategy. Your deployment will still succeed, and it will be running on a battle-tested foundation.

Experience the Magic

This update is about more than just automation; it is about peace of mind. By making the deployment environment a direct reflection of your source code, we have made builds deterministic, reproducible, and truly zero-config.

Stop wasting time on infrastructure settings. Drag, drop, and let ODAC handle the rest.

Log in to app.odac.run and try it today.