diff --git a/docs/architecture.md b/docs/architecture.md index c74281cb..487f308c 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -4,29 +4,30 @@ The EIC container infrastructure uses a multi-stage build approach with separate ## Build Strategy -The container build follows a two-track approach: +The container build follows a three-track approach: ```mermaid flowchart TB - subgraph "Builder Track" + subgraph "Builder Concretization Track" A[builder_image
debian_stable_base] --> B[builder_concretization_default
Concretize spack environment] - B --> C[builder_installation_default
Build packages] - C --> D[builder_concretization_custom
Concretize custom versions] - D --> E[builder_installation_custom
Build custom packages] + B --> C[builder_concretization_custom
Concretize custom versions] + end + + subgraph "Builder Installation Track" + B --> D[builder_installation_default
Build packages] + C --> E[builder_installation_custom
Build custom packages] end subgraph "Runtime Track" - F[runtime_image
debian_stable_base] --> G[runtime_concretization_default
Copy spack.lock from builder] - G --> H[runtime_installation_default
Install from buildcache] - H --> I[runtime_concretization_custom
Copy custom spack.lock] - I --> J[runtime_installation_custom
Install custom from buildcache] - J --> K[Final Image
eic_ci / eic_xl] + F[runtime_image
debian_stable_base] --> G[runtime_default
Copy spack.lock, install from buildcache] + G --> H[runtime_custom
Copy custom spack.lock, install from buildcache] + H --> K[Final Image
eic_ci / eic_xl] end - C -.->|spack.lock| G - C -.->|buildcache| H - E -.->|spack.lock| I - E -.->|buildcache| J + D -.->|spack.lock| G + D -.->|buildcache| G + E -.->|spack.lock| H + E -.->|buildcache| H ``` ## Multi-Architecture Support