Corrected API dependency handling

Added automation for OpenAPI scan
documentation
meerkat-manor 2023-07-23 22:19:27 +10:00
parent c8a71c9be5
commit 2b1b52cc2d
2 changed files with 41 additions and 9 deletions

View File

@ -48,12 +48,18 @@ sequenceDiagram
Note over git, devops: The OpenAPI and devops files are stored in Git Note over git, devops: The OpenAPI and devops files are stored in Git
alt If no OpenAPI dependency linked
vsc -) devops: Update OpenAPI dependency entry
end
vsc ->>+ term: start vsc ->>+ term: start
term ->>+ qaskx: New CI term ->>+ qaskx: New CI
qaskx ->>+ devops: Read qaskx ->>+ devops: Read
devops -->>- qaskx: Contents devops -->>- qaskx: Contents
qaskx ->>+ oas3f: Read loop Read called dependencies
qaskx ->>+ oas3f: Read dependency
oas3f -->>- qaskx: Contents oas3f -->>- qaskx: Contents
end
Note over cmdb, git: qaskx devops ci cmd Note over cmdb, git: qaskx devops ci cmd
qaskx ->>+ cmdb: qaskx ->>+ cmdb:
cmdb -->>- qaskx: New CI value cmdb -->>- qaskx: New CI value
@ -62,27 +68,30 @@ sequenceDiagram
term ->>+ qaskx: Generate code term ->>+ qaskx: Generate code
Note over qaskx, cmdb: qaskx gen client cmd Note over qaskx, cmdb: qaskx gen client cmd
qaskx ->>+ devops: Read qaskx ->>+ devops: Read dependency list
devops -->>- qaskx: Contents devops -->>- qaskx: Contents
qaskx ->>+ oas3f: Read loop Read called dependencies
qaskx ->>+ oas3f: Read dependency
oas3f -->>- qaskx: Contents oas3f -->>- qaskx: Contents
qaskx -) qaskx: Auto generate client code qaskx -) qaskx: Auto generate client code
end
qaskx -) qaskx: Auto generate sequence diagram qaskx -) qaskx: Auto generate sequence diagram
qaskx -) qaskx: Auto generate gateway infra
qaskx -) qaskx: Auto generate feature flags qaskx -) qaskx: Auto generate feature flags
qaskx -) devops: Auto update entries, including build, test qaskx -) devops: Auto update entries, including build, test
qaskx -->>- term: Success qaskx -->>- term: Success
alt Register API if not already done alt Register using API dependencies if not already done
term ->>+ qaskx: Register API term ->>+ qaskx: Register API dependencies
Note over cmdb, git: qaskx devops register cmd Note over cmdb, git: qaskx devops register cmd
qaskx ->>+ devops: Read qaskx ->>+ devops: Read
devops -->>- qaskx: Contents devops -->>- qaskx: Contents
loop Read called dependencies
qaskx ->>+ oas3f: Read qaskx ->>+ oas3f: Read
oas3f -->>- qaskx: Contents oas3f -->>- qaskx: Contents
qaskx ->>+ apip: qaskx ->>+ apip:
apip -->>- qaskx: Registered apip -->>- qaskx: Registered as consumer
end
qaskx -) devops: Auto update API entry qaskx -) devops: Auto update API entry
qaskx -->>- term: Success qaskx -->>- term: Success
@ -152,9 +161,9 @@ sequenceDiagram
vsc -) vsc: Manually write Gateway infra vsc -) vsc: Manually write Gateway infra
vsc -) vsc: Manually write feature flags vsc -) vsc: Manually write feature flags
alt Register API if not already done alt Register using API dependencies if not already done
dev ->>+ apip: Register API dev ->>+ apip: Register as consuming APIs
apip -->>- dev: Registered apip -->>- dev: Registered
end end
@ -182,6 +191,9 @@ expected to have been done.
# Reading Notes # Reading Notes
For automation, some activities can be performed by GitActions calling
qaskx-cli.
The Visual Studio Code, CMDB and Github components can be substituted for The Visual Studio Code, CMDB and Github components can be substituted for
other software products such IntelliJ and Bitbucket. other software products such IntelliJ and Bitbucket.

View File

@ -53,6 +53,14 @@ sequenceDiagram
term ->>+ qaskx: New CI term ->>+ qaskx: New CI
qaskx ->>+ devops: Read qaskx ->>+ devops: Read
devops -->>- qaskx: Contents devops -->>- qaskx: Contents
alt If no OpenAPI linked
qaskx ->>+ git:
Note over oas3f, devops: Scan for OpenAPI file in Git
git -->>- qaskx:
qaskx -) devops: Update OpenAPI entry
end
qaskx ->>+ oas3f: Read qaskx ->>+ oas3f: Read
oas3f -->>- qaskx: Contents oas3f -->>- qaskx: Contents
Note over cmdb, git: qaskx devops ci cmd Note over cmdb, git: qaskx devops ci cmd
@ -65,6 +73,14 @@ sequenceDiagram
Note over qaskx, cmdb: qaskx gen server cmd Note over qaskx, cmdb: qaskx gen server cmd
qaskx ->>+ devops: Read qaskx ->>+ devops: Read
devops -->>- qaskx: Contents devops -->>- qaskx: Contents
alt If no OpenAPI linked
qaskx ->>+ git:
Note over oas3f, devops: Scan for OpenAPI file in Git
git -->>- qaskx:
qaskx -) devops: Update OpenAPI entry
end
qaskx ->>+ oas3f: Read qaskx ->>+ oas3f: Read
oas3f -->>- qaskx: Contents oas3f -->>- qaskx: Contents
qaskx -) qaskx: Auto generate server code qaskx -) qaskx: Auto generate server code
@ -140,6 +156,10 @@ sequenceDiagram
vsc -) devops: Update CI entry vsc -) devops: Update CI entry
alt If no OpenAPI linked
vsc -) devops: Update OpenAPI entry
end
vsc ->>+ term: start vsc ->>+ term: start
Note over git, oas3: Set generation parameters Note over git, oas3: Set generation parameters
term ->>+ oas3: Generate code cmd term ->>+ oas3: Generate code cmd