generated from finos-labs/project-blueprint
-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Typescript CALM Module Refactoring - Visualizer, Doc Publisher, Schema Directory, CALM Model #790
Comments
LeighFinegold
added a commit
to LeighFinegold/architecture-as-code
that referenced
this issue
Feb 10, 2025
LeighFinegold
added a commit
to LeighFinegold/architecture-as-code
that referenced
this issue
Feb 10, 2025
grahampacker-ms
added a commit
that referenced
this issue
Feb 11, 2025
Refactoring logging to be at top level (#790)
Discussed the model refactoring in more detail on #899 and concluded to maintain a central model and base it off classes rather than interfaces. |
LeighFinegold
added a commit
to LeighFinegold/architecture-as-code
that referenced
this issue
Feb 14, 2025
LeighFinegold
added a commit
to LeighFinegold/architecture-as-code
that referenced
this issue
Feb 16, 2025
LeighFinegold
added a commit
to LeighFinegold/architecture-as-code
that referenced
this issue
Feb 16, 2025
LeighFinegold
added a commit
to LeighFinegold/architecture-as-code
that referenced
this issue
Feb 16, 2025
LeighFinegold
added a commit
to LeighFinegold/architecture-as-code
that referenced
this issue
Feb 16, 2025
LeighFinegold
added a commit
that referenced
this issue
Feb 17, 2025
New centralised model for CALM (#790)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Background
Over recent discussions with developers (@aidanm3341, @oliviajanejohns, @willosborne, @Thels, @Budlee, @YoofiTT96, @Adwoa-Konadu-Appiah), we’ve been reviewing the current CALM codebase and future pull requests around documentation generation, CALM visualisation and the CLI server.
The current structure of the project uses the following organization:
shared
: Contains submodules likegenerate
,validate
, andvisualize
.cli
: Published separately to npm and includes CLI-specific logic.docs
: Documentation-related functionality.Relevant future contributions include:
Refactoring Discussed
Visualizer as a module to remain.:
SchemaDirectory Duplication:
shared
. The Validator module uses AJV to load schemas. The Generator using the SchemaDirectory to load calm schemas from the file system leveraging document ids to make appropriate guess as to expected file. The Visualizer only supports a file upload currently and does not have any ref resolving and the Docify POC relies on some registering URL links to file locations as to where to resolve referenced documents.bundling
and whether we should remove from liturgy to avoid confusion with typescript bundling.Introduce a New Doc Publisher Module under
shared
:Phase 1: Implement endpoints for publishing CALM documents into the SchemaDirectory (See point1). This would be supported both from the CLI and CLI Server. This would allow for folks to leverage the generator and validator without needing a CALM Hub to get started e.g. they would publish documents first to CLI Server and then call validate on the top level architecture document.
Phase 2: Extend functionality to support CALM Hub integration, enabling both registry publishing and CALM Hub interaction.
Define one CALM Model under
shared
:generate
,validate
, andvisualize
each define their own versions of the CALM model (flows, controls, patterns, etc.).Next Steps
The following diagram as drawn to show module interaction during call (#not an official or completed diagram)
The text was updated successfully, but these errors were encountered: