From 7b5b619222b97ee3c0c7da16c225cd69cd7080e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Le=20Barbier?= Date: Tue, 30 Apr 2024 13:27:10 +0200 Subject: [PATCH] Document the proof of concept and its testsuite --- development/makedoc | 11 ++++++++- doc/org.melusina.cid.texinfo | 13 ++++------ doc/poc.texinfo | 47 ++++++++++++++++++++++++++++++++++++ org.melusina.cid.asd | 4 ++- src/poc.lisp | 2 +- testsuite/package.lisp | 45 +++++++++++++++++++++++++++++++++- 6 files changed, 110 insertions(+), 12 deletions(-) create mode 100644 doc/poc.texinfo diff --git a/development/makedoc b/development/makedoc index 7182ef8..bfa2775 100755 --- a/development/makedoc +++ b/development/makedoc @@ -39,6 +39,15 @@ makedoc_runpatches() makedoc_extract() { + local makedocsystem + if [ $# -gt 1 ]; then + for makedocsystem in "$@"; do + makedoc_extract "${makedocsystem}" + done + return + elif [ $# -eq 1 ]; then + makedocsystem="$1" + fi makedoc_sbcl \ --eval "(unless (ql:where-is-system :${makedocsystem}) (pushnew #p\".\" ql:*local-project-directories*) @@ -80,7 +89,7 @@ makedoc_main() exit 1 fi set -e - makedoc_extract + makedoc_extract org.melusina.cid org.melusina.cid/poc org.melusina.cid/testsuite makedoc_runpatches makedoc_info makedoc_html diff --git a/doc/org.melusina.cid.texinfo b/doc/org.melusina.cid.texinfo index 7b2c066..8574b0a 100644 --- a/doc/org.melusina.cid.texinfo +++ b/doc/org.melusina.cid.texinfo @@ -70,8 +70,7 @@ are also available at https://opensource.org/licenses/MIT * Steward:: * Resource:: * Simulator:: -@c * Local Filesystem Subtree:: -@c * Docker Engine:: +* Proof of Concept:: @end menu @end ifnottex @@ -93,14 +92,12 @@ are also available at https://opensource.org/licenses/MIT @chapter Stewards and Resources -@c @node Simulator, Local Filesystem Subtree, Top -@node Simulator, , Top +@node Simulator, Proof of Concept, Top @include simulator.texinfo -@c @node Local Filesystem Subtree, Docker Engine, Top -@c @include local-filesystem-subtree.texinfo +@chapter Proof of Concept -@c @node Docker Engine, , Top -@c @include docker-engine.texinfo +@node Proof of Concept, , Top +@include poc.texinfo @bye diff --git a/doc/poc.texinfo b/doc/poc.texinfo new file mode 100644 index 0000000..f0e3be0 --- /dev/null +++ b/doc/poc.texinfo @@ -0,0 +1,47 @@ +@section Cloud Vendor Simulator + +@include include/class-org.melusina.cid-slash-poc-cloud-vendor.texinfo +@include include/fun-org.melusina.cid-slash-poc-make-cloud-vendor.texinfo + +@section Private Network Simulation + +@include include/class-org.melusina.cid-slash-poc-private-network.texinfo +@include include/fun-org.melusina.cid-slash-poc-make-private-network.texinfo + +@section Container Image and Registry Simulation + +@include include/class-org.melusina.cid-slash-poc-container-image.texinfo +@include include/fun-org.melusina.cid-slash-poc-make-container-image.texinfo +@include include/class-org.melusina.cid-slash-poc-container-image-registry.texinfo +@include include/fun-org.melusina.cid-slash-poc-make-container-image-registry.texinfo +@include include/fun-org.melusina.cid-slash-poc-find-container-image.texinfo + +@section Container Cluster Simulation + +@include include/class-org.melusina.cid-slash-poc-container-cluster.texinfo +@include include/fun-org.melusina.cid-slash-poc-make-container-cluster.texinfo + +@section Container Service Simulation + +@include include/class-org.melusina.cid-slash-poc-container-service.texinfo +@include include/fun-org.melusina.cid-slash-poc-make-container-service.texinfo + +@section Public Load Balancer Simulation + +@include include/class-org.melusina.cid-slash-poc-public-load-balancer.texinfo +@include include/fun-org.melusina.cid-slash-poc-make-public-load-balancer.texinfo + +@section Infrastructure Stack Simulation + +@include include/class-org.melusina.cid-slash-poc-infrastructure-stack.texinfo +@include include/fun-org.melusina.cid-slash-poc-make-infrastructure-stack.texinfo + +@section Testsuite + +@include include/fun-org.melusina.cid-slash-testsuite-demonstrate-that-infrastructure-errors-can-be-resumed.texinfo +@include include/fun-org.melusina.cid-slash-testsuite-demonstrate-that-infrastructure-stack-can-be-created-and-destroyed.texinfo +@include include/fun-org.melusina.cid-slash-testsuite-demonstrate-that-infrastructure-stack-can-be-modified.texinfo +@include include/fun-org.melusina.cid-slash-testsuite-demonstrate-that-infrastructure-stack-can-be-persisted.texinfo +@include include/fun-org.melusina.cid-slash-testsuite-demonstrate-that-infrastructure-stacks-can-be-promoted-through-environments.texinfo +@include include/fun-org.melusina.cid-slash-testsuite-demonstrate-that-infrastructure-stacks-cannot-be-misadvertently-duplicated.texinfo +@include include/fun-org.melusina.cid-slash-testsuite-demonstrate-that-infrastructure-stacks-modification-can-be-reviewed-before-being-committed.texinfo diff --git a/org.melusina.cid.asd b/org.melusina.cid.asd index 05d91da..24c32bf 100644 --- a/org.melusina.cid.asd +++ b/org.melusina.cid.asd @@ -132,6 +132,7 @@ #:org.melusina.confidence #:org.melusina.rashell #:org.melusina.cid + #:org.melusina.cid/poc #:org.melusina.cid/development #:org.melusina.cid/operation #:org.melusina.cid/build @@ -151,7 +152,8 @@ #+org.melusina.cid/poc (:file "local-filesystem-subtree") #+org.melusina.cid/poc - (:file "docker-engine"))))) + (:file "docker-engine"))) + (:file "poc"))) (:module "libexec" :components ((:module "lisp" diff --git a/src/poc.lisp b/src/poc.lisp index ae57708..3e78739 100644 --- a/src/poc.lisp +++ b/src/poc.lisp @@ -20,7 +20,7 @@ #:make-cloud-vendor #:private-network #:make-private-network - #:container-image-registry + #:container-image #:make-container-image #:container-image-registry #:make-container-image-registry diff --git a/testsuite/package.lisp b/testsuite/package.lisp index f96f399..f6a368f 100644 --- a/testsuite/package.lisp +++ b/testsuite/package.lisp @@ -25,7 +25,50 @@ (#:operation #:org.melusina.cid/operation)) (:export #:connect-database - #:disconnect-database) + #:disconnect-database + #:build-component-test + #:component-tests + #:database-unit-test + #:demonstrate-that-infrastructure-errors-can-be-resumed + #:demonstrate-that-infrastructure-stack-can-be-created-and-destroyed + #:demonstrate-that-infrastructure-stack-can-be-modified + #:demonstrate-that-infrastructure-stack-can-be-persisted + #:demonstrate-that-infrastructure-stacks-can-be-promoted-through-environments + #:demonstrate-that-infrastructure-stacks-cannot-be-misadvertently-duplicated + #:demonstrate-that-infrastructure-stacks-modification-can-be-reviewed-before-being-committed + #:docker-component-test + #:docker-engine-unit-test + #:ensure-that-delete-signals-resource-no-longer-exists + #:ensure-that-every-image-can-be-built + #:ensure-that-image-can-be-built + #:ensure-that-image-does-not-exist + #:ensure-that-image-exists + #:ensure-that-image-is-valid + #:ensure-that-infrastructure-stack-can-be-created-and-destroyed + #:ensure-that-infrastructure-stack-can-be-modified + #:ensure-that-infrastructure-stack-can-be-persisted + #:ensure-that-not-created-resources-cannot-be-deleted + #:ensure-that-resources-are-created-only-once + #:ensure-that-trac-instance-is-available + #:ensure-that-volume-does-not-exist + #:ensure-that-volume-exists + #:integration-tests + #:local-filesystem-subtree-unit-test + #:project-integration-test + #:project-unit-test + #:resource-unit-test + #:run-all-tests + #:simulator-unit-test + #:steward-component-test + #:steward-unit-test + #:tenant-unit-test + #:unit-tests + #:validate-docker-image-lifecycle + #:validate-docker-volume-lifecycle + #:validate-poc + #:validate-project-lifecycle + #:verify-resource-lifecycle-invariants + #:verify-steward-resource-relationships) (:import-from #:org.melusina.confidence #:define-testcase