LogoCyanPrint
Basics

Architecture

CyanPrint system architecture and container communication

Architecture Overview

CyanPrint uses a containerized architecture where each artifact runs in its own isolated environment.

System Components

Component Overview

ComponentDescription
Iridium CLIUser interface for running templates
Zinc APIRegistry for discovering artifacts
Argon Web UISvelteKit web interface for browsing templates
CoordinatorOrchestrates artifact execution
ContainersIsolated environments for each artifact

Execution Flow

This is a simplified view of the execution flow. The actual process includes additional phases such as container warming, session management, and zipping.

Step-by-Step

Discovery

CLI queries the registry for template metadata

Initialization

Coordinator starts the template container

Collection

Template collects user input and returns a Cyan config

Processing

Processor transforms files using the config

Delivery

Coordinator returns processed files to the CLI

Container Communication

ContainerRoleEndpoints
TemplateCollects user input, returns Cyan configPOST /api/template/init, /api/template/validate
ProcessorReads files, transforms, writes outputPOST /api/process
PluginPost-processing on generated filesPOST /api/plug
ResolverResolves file conflicts from layersPOST /api/resolve
MergerMerges processor outputs into final resultPOST /merge/:sessionId, POST /zip

Container Path Mechanics

Critical Paths

PathOwnerWarning
/workspaceCoordinatorWILL BE OVERRIDDEN - never store files here
/workspace/cyanprintBlobExtraction target; becomes processor's read_dir
/workspace/area/<uuid>ProcessorIndividual processor output directory
/workspace/area/<merge-uuid>MergerMerged output before delivery to CLI

SDK Port Assignments

ArtifactPortEndpoints
Template5550POST /api/template/init, /api/template/validate
Processor5551POST /api/process
Plugin5552POST /api/plug
Resolver5553POST /api/resolve
Merger9000POST /merge/:sessionId, POST /zip (served by Coordinator)
Coordinator9000Internal orchestration

Each artifact SDK starts an HTTP server on its assigned port. The Coordinator communicates with containers via these endpoints.