DEV Community

tdk-cli
tdk-cli

Posted on

Phased Rollout of an ERP With TDK CLI: Enable Stacks One Phase at a Time

An ERP is too large to build in one go. A sensible rollout turns on the core business areas first and adds the rest once they are stable. The tdk-erp-system example models that idea directly in its project configuration, with phases and the list of stacks each one enables.

The phases

The file .tdk/project.json declares the phases. The example defines at least three, with names and descriptions:

  • Pre-alpha: core infrastructure and the MVP services.
  • Alpha: essential business services.
  • Beta: extended features.

In the file I read, the pre-alpha phase enables seven stacks: analytics, finance, hr, inventory, manufacturing, sales, and supply chain. The alpha and beta phases list no stacks yet.

Why phases help

A phase is a decision about scope. It tells the team which stacks are ready for daily work, and which are waiting. A new engineer can see the phase and know what the project is for right now. A reviewer can check that a change does not quietly pull a stack from a later phase into the first one.

Adding a stack to a phase

To move a stack into a phase, add its name to that phase's enabledStacks list. Then regenerate the project configuration. The repository's own guidance is to make configuration changes in .tdk/project.json and to run the regeneration step afterwards, rather than editing generated output.

Add one stack at a time, and check each one before the next. Start it on its own with tdk up <stack>, then read its readiness with tdk status --json.

Checking what a phase starts

Before starting a phase, use the dry run:

tdk up --dry-run
Enter fullscreen mode Exit fullscreen mode

It shows the plan without starting containers, so you can confirm which stacks and services are included. If a stack you did not intend to enable appears in the plan, stop and check the phase list.

What not to do

Do not enable beta stacks on a laptop that is already running pre-alpha. Each stack adds containers, and the machine will slow down before the bug shows up. Enable the next phase on a clean run, check it, and keep the previous phase running as the baseline.

Summary

The ERP example models a rollout as phases in .tdk/project.json. Pre-alpha enables seven stacks, and later phases add more. Add stacks one at a time, check each with the dry run and readiness output, and keep the previous phase as a known-good baseline.

Top comments (0)