From e0084abe8e451b78f6695d3c726fc5932de79d69 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Fri, 16 Jul 2021 16:48:46 -0400 Subject: [PATCH] contrib: add CA manager states diagram --- docs/service-mesh/ca/README.md | 11 +++++++++++ docs/service-mesh/ca/state-machine.mmd | 23 +++++++++++++++++++++++ docs/service-mesh/ca/state-machine.svg | 1 + 3 files changed, 35 insertions(+) create mode 100644 docs/service-mesh/ca/state-machine.mmd create mode 100644 docs/service-mesh/ca/state-machine.svg diff --git a/docs/service-mesh/ca/README.md b/docs/service-mesh/ca/README.md index 2a3d14d63..cd63244ee 100644 --- a/docs/service-mesh/ca/README.md +++ b/docs/service-mesh/ca/README.md @@ -101,3 +101,14 @@ Periodic (or background) opeartions are started automatically by the Consul lead ####TODO: - sequence diagram for leaf signing - sequence diagram for CA cert rotation + +## CAManager states + +This section is a work in progress + +TODO: style the diagram to match the others, and add some narative text to describe the +diagram. + +![CA Mananger states](./state-machine.svg) + + diff --git a/docs/service-mesh/ca/state-machine.mmd b/docs/service-mesh/ca/state-machine.mmd new file mode 100644 index 000000000..214e31167 --- /dev/null +++ b/docs/service-mesh/ca/state-machine.mmd @@ -0,0 +1,23 @@ +stateDiagram-v2 + + [*] --> Uninitialized + Uninitialized --> Initializing : InitializeCA + Uninitialized --> Reconfig : UpdateConfiguration + Reconfig --> Uninitialized : return + + # Initialized can transition to any state + Initialized --> Renew : RenewIntermediate + Initialized --> Uninitialized : Stop + Initialized --> Reconfig : UpdateConfiguration + Initialized --> Initializing : INVALID + + # Initialized is set using validate=false + Uninitialized --> Initialized : INVALID + Reconfig --> Initialized : return + Initializing --> Initialized : InitializeCA complete + Renew --> Initialized : return + + # Uninitialized is set using validate=false + Renew --> Uninitialized : Stop + Reconfig --> Uninitialized : Stop + Initializing --> Uninitialized : Stop diff --git a/docs/service-mesh/ca/state-machine.svg b/docs/service-mesh/ca/state-machine.svg new file mode 100644 index 000000000..f63e880e0 --- /dev/null +++ b/docs/service-mesh/ca/state-machine.svg @@ -0,0 +1 @@ +
InitializeCA
UpdateConfiguration
return
RenewIntermediate
Stop
UpdateConfiguration
INVALID
INVALID
return
InitializeCA complete
return
Stop
Stop
Stop
Uninitialized
Initializing
Reconfig
Initialized
Renew
\ No newline at end of file