Archi Forum

Archi => General Archi Discussion => Topic started by: maksim aniskov on January 05, 2024, 18:27:38 PM

Title: archi-powertools-verifier: model drift detection, validations, and more
Post by: maksim aniskov on January 05, 2024, 18:27:38 PM
Hi all,

I'm going to share with you what I was working on recently.
This tool helps me keep my models sane https://github.com/MaksimAniskov/archi-powertools-verifier

It allows me detecting drift between my models and the infrastructure.
E.g.
QuoteExecuting verification scripts...
...
Error!
"S3 bucket not represented in model:  yet_another_example_bucket"
"Model contains bucket that does not exist:  bucket-in-model"
Verification completed

It allows me automating basic validity checks.
E.g.
QuoteExecuting verification scripts...
...
Error! Duplicate element names, Type, Name
"id-5b620626cb01470fa03cc24e69cfebf6", "ApplicationService", "Order processor"
"id-906aee6b07e443fbbaeca8138c89baa2", "ApplicationService", "Order processor"
...
Verification completed

Also it allows performing delicate model analysis in Neo4j Browser Web UI.
(https://github.com/MaksimAniskov/archi-powertools-verifier/raw/0.x/.README.images/00.png)

This first version requires knowledge of Cypher Query Language. I plan to add SQL capability soon.

Check it out on GitHib https://github.com/MaksimAniskov/archi-powertools-verifier

Happy modeling!
Title: Re: archi-powertools-verifier (Neo4j): model drift detection, validations, and more
Post by: Phil Beauvoir on January 05, 2024, 19:32:02 PM
That's really neat, thanks for sharing this with the community!
Title: Re: archi-powertools-verifier (Neo4j): model drift detection, validations, and more
Post by: maksim aniskov on January 13, 2024, 19:09:07 PM
Just published version that adds capability for using SQL for verification scripts.
Check it out on GitHub https://github.com/MaksimAniskov/archi-powertools-verifier

SQL capability plays nicely, for example, as an extension to Archi's Generate View For feature.
The view you once generate for an element can become misleading as you later add relations to the element of interest. This SQL script (https://github.com/MaksimAniskov/archi-powertools-verifier/blob/0.x/examples/view-for-element/verification_scripts_sql/view-for-app-service-1.sql) I include into the examples demonstrates how one can automate verification that the view always shows all relations of the element.


@Phil Beauvoir Can you help changing headline for this topic? I'd like to remove mentioning Neo4j from it.
Title: Re: archi-powertools-verifier: model drift detection, validations, and more
Post by: Phil Beauvoir on January 13, 2024, 19:44:10 PM
Quote from: maksim aniskov on January 13, 2024, 19:09:07 PM@Phil Beauvoir Can you help changing headline for this topic? I'd like to remove mentioning Neo4j from it.

Done.
Title: Re: archi-powertools-verifier: model drift detection, validations, and more
Post by: maksim aniskov on January 13, 2024, 19:59:03 PM
Quote from: Phil Beauvoir on January 13, 2024, 19:44:10 PM
Quote from: maksim aniskov on January 13, 2024, 19:09:07 PM@Phil Beauvoir Can you help changing headline for this topic? I'd like to remove mentioning Neo4j from it.
Done.
Thank you!