Firestartr: the explicit map of your software factory

How to model domains, systems, components, teams and infrastructure to build a platform with self-service and governance.

Firestartr model connecting a domain to its systems, components and responsible team

For more than 20 years, the team I am part of has been helping organisations build and operate software platforms. Those two decades have been full of lessons. The most important ones:

The conclusion is clear: the platform must guarantee self-service and governance at the same time.

For years, we applied these lessons as platform designers and maintainers in different organisations. We soon realised we needed a tool to help us adapt and standardise that work. And that making it open source made sense.

Firestartr is the result.

An open-source project that turns your organisation’s model (domains, systems, components, teams and infrastructure) into the platform’s source of truth. Real self-service + built-in governance.

An explicit model for building your Internal Developer Platform

Any organisation responsible for software will find itself with a collection of repositories, pipelines and deployed environments that, over time and as the team grows, become a maze that is difficult to manage.

One of the main reasons is that the complex network of relationships that naturally forms between all these pieces exists, and only partially, “in the heads” of those who have been around the longest. In other words, these are implicit relationships that can only be understood and known after spending time in the organisation.

We have experienced this “opaque culture” firsthand. That is why we designed Firestartr to move relationships out of people’s heads and into the model.

Our approach combines the perspective of DDD (Domain-Driven Design) with the structural hierarchy of the C4 model to achieve modelling similar to Backstage’s software catalog.

Firestartr’s organisation model, from domains to teams

How is it different from Backstage + Argo + Terraform?

📚 Backstage gives you the catalog.

🔄 Argo CD gives you continuous reconciliation.

🏗️ Terraform gives you the infrastructure.

🧩 Firestartr brings all three together under a single model of ownership and claims.

A change of ownership, a new component or a Terraform workspace is no longer spread across three separate tools: these are declarations that the engine understands and applies consistently.

Comparison of Firestartr’s model with platform tools

What about provisioning cloud services?

Terraform has become the lingua franca of cloud provisioning.

Firestartr treats a service (or an inseparable group of services) provisioned with Terraform/OpenTofu as a first-class Terraform Workspace (and models it as such in the organisation’s catalog). Treating Terraform Workspaces as explicit resources in the model bridges the gap between infrastructure and applications:

This avoids orphaned resources left forgotten in the cloud and continuing to incur costs.

GitOps engine: the heart of the factory

GitOps has become the standard for IDPs. Git as the single source of truth, changes through pull requests and continuous reconciliation.

Firestartr builds its engine on this principle, but deliberately keeps it simple:

The result is an engine anyone can follow:

Firestartr’s GitOps flow from declaration to reconciliation

you declare → it is rendered → it is reconciled → it appears in GitHub and the cloud.

Simple to understand. Lightweight to operate. Complete in what it delivers.

Stitching: weaving together intents from different sources

Our experience with GitOps has taught us three key principles:

Firestartr combines these three declarative sources in a clear order of precedence:

  1. User — Declares the fundamental intent: create a component, provision a database, add a user to a team…
  2. Defaults — The platform completes and standardises that declaration with the standard values defined by the organisation.
  3. Globals — Mandatory directives that take precedence over everything above. They sit at the top of the pyramid and cannot be overridden.

Hierarchy of user intents, defaults and global policies

As a result, the actual definition of any artefact comes from these three layers, always respecting their order of precedence. The user writes little; the platform ensures consistency and governance.

Open source and Prefapp’s services

Firestartr is Apache-2.0. All the engine’s code is at:

→ github.com/firestartr-pro/firestartr

Prefapp maintains the project and offers professional services:

design and implementation, feature and policy customisation, support, and ready-to-use skills.

If you want to try it, start with the documentation: docs.firestartr.dev.

We can help you implement it; talk to us.