Skip to content

Development Pipelines

Document the purposes involved in all software development at Arda and their mapping to partitions.
It is geared specifically toward Q3 2025.

Purposes

This section describes the four purposes that the development and deployment process at Arda needs.

Personal

The personal purpose fulfills the need for a short development loop and experimentation. It might provide for execution locally in a runtime system such as node, a jvm, docker instance or small kubernetes cluster. As such, it is outside the scope of this document and won’t be described further.

While it typically happens on a developer’s own computer and allows the developer to quickly write and test their feature, it might also be mapped to an independent set of loosely managed infrastructure. Those infrastructures, under the responsibility of a small team, must allow direct modification of the infrastructure.

Development

The development purpose fulfills the need to deploy and test on the actual infrastructure, similar to what production will be.

It needs a partition that reflects truthfully the production partition in quality but can be at a lower scale and with limited to no real data.

It might, but should not, allow direct modification of the infrastructure.

It must allow for multiple engineers to collaborate on features involving multiple components, front and back ends.

As it is a partition where active development takes place, it is not stable.

Stage

The stage purpose fulfills the need to ensure that the system performs as expected: it doesn’t introduce regression and implements the feature as designed.

It needs a partition that reflects truthfully the production partition in quality but can be at a lower scale. It needs a faithful data set.

It must not allow direct modification of the infrastructure.

Production

The production purpose fulfills the business needs of Arda.

It must not allow direct modification of the infrastructure.

Mapping (Optimistic scenario)

Maps the four purposes described to partitions for front-end and back-end development.

This mapping assumes that JWT authentication is only set up for between browsers and the bff and that connections from Coda to the backend are not intercepted.

Personal

Front-end engineers use a mix of their personal laptop and an amplify setup in Sandbox0003 that exposes development branches.
Front-end engineers own Sandbox0003 and manage it.

Back-end engineers use their laptop to write, compile, run unit-tests and execute components in a local kubernetes cluster provided by Docker Desktop.

Development

The development partition is Alpha002/dev.
Frontend app URL: https://dev.app.arda.cards

Stage

The stage partition is Alpha002/stage.

Frontend app URL: https://stage.app.arda.cards

Production

By September 8th, the production partition for the demo is Alpha001/prod, while it is SANDBOX0001/prod for the qr-lookup and pdf-render components called exclusively by Coda.

Frontend App URL (demo): https://app.arda.cards

Soon afterwards, qr-lookup and pdf-render components migrate to Alpha001/prod, and SANDBOX0001 is decommissioned.
This migration happens earlier if we find the bandwidth (around 0.5 day).


Copyright: © Arda Systems 2025, All rights reserved

Comments