aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/images/whiteboard-object-model.dot2
-rw-r--r--docs/images/whiteboard-object-model.pdfbin3266 -> 3259 bytes
-rw-r--r--docs/repository-engine-objects.dot65
-rw-r--r--docs/repository-engine-objects.pdfbin0 -> 3266 bytes
4 files changed, 66 insertions, 1 deletions
diff --git a/docs/images/whiteboard-object-model.dot b/docs/images/whiteboard-object-model.dot
index 3e9101a0..3c61f3ab 100644
--- a/docs/images/whiteboard-object-model.dot
+++ b/docs/images/whiteboard-object-model.dot
@@ -22,7 +22,7 @@ digraph rpki_engine_objects {
// Objects visible in left-to-right protocol
node [ color=blue ];
self [ label="Self|{Preferences}" ];
- parent [ label="Parent|{URI|TA|SIA Head}" ];
+ parent [ label="Parent|{URI|TA}" ];
repo [ label="Repository|{URI|TA}" ];
child [ label="Child|{TA}" ];
biz_sign [ label="Business\nSigning Context|{Keypair|CertChain}" ];
diff --git a/docs/images/whiteboard-object-model.pdf b/docs/images/whiteboard-object-model.pdf
index 7f4b9256..9b7da850 100644
--- a/docs/images/whiteboard-object-model.pdf
+++ b/docs/images/whiteboard-object-model.pdf
Binary files differ
diff --git a/docs/repository-engine-objects.dot b/docs/repository-engine-objects.dot
new file mode 100644
index 00000000..e100888f
--- /dev/null
+++ b/docs/repository-engine-objects.dot
@@ -0,0 +1,65 @@
+// $URL$
+// $Id$
+
+// This is an attempt to capture
+// http://subvert-rpki.hactrn.net/docs/prague-whiteboard-2007-03-22-23:15:01.jpg
+
+// {arrowhead,arrowtail} shapes to use for database object relationships:
+// 1- none
+// m- crow
+// Color code:
+// Blue: visible in left-right protocol
+// Green: created on the fly
+
+// Explanation for many-many mapping beween CA and child objects
+// (courtesy of RobL): Each child is an entity; each CA can have
+// multiple children, and each child can hold certs from multiple CAs.
+
+digraph rpki_engine_objects {
+ rotate=90; size="11,8.5"; splines=true; ratio=fill;
+ node [ shape=record ];
+
+ // Objects visible in left-to-right protocol
+ node [ color=blue ];
+ self [ label="Self|{Preferences}" ];
+ parent [ label="Parent|{URI|TA|SIA Head}" ];
+ repo [ label="Repository|{URI|TA}" ];
+ child [ label="Child|{TA}" ];
+ biz_sign [ label="Business\nSigning Context|{Keypair|CertChain}" ];
+
+ // Objects created on the fly by the RPKI engine
+ node [ color=green ];
+ ca [ label="CA|{CRL #|Last Issued Serial #}" ];
+ child_cert [ label="Child Certificate" ];
+ ee_cert [ label="EE Certificate|{ROA}" ];
+ ca_key_pair [ label="CA Key Pair|{Latest CA Certificate|Latest CRL}" ];
+
+ // One-many mappings
+ edge [ color=blue, arrowtail=none, arrowhead=crow ];
+ biz_sign -> child;
+ biz_sign -> parent;
+ biz_sign -> repo;
+ self -> child;
+ self -> parent;
+ repo -> parent;
+
+ // Many-many mappings
+ edge [ color=green, arrowtail=crow, arrowhead=crow ];
+ ca -> child;
+
+ // One-many mappings
+ edge [ color=green, arrowtail=none, arrowhead=crow ];
+ ca -> ca_key_pair;
+ child -> child_cert;
+ self -> ca;
+ parent -> ca;
+
+ // Weird one-many
+ edge [ color=green, arrowtail=none, arrowhead=crow, style=dashed ];
+ ca_key_pair -> child_cert;
+ ca_key_pair -> ee_cert;
+}
+
+// Local Variables:
+// compile-command: "neato -Tps2 repository-engine-objects.dot | ps2pdf - repository-engine-objects.pdf"
+// End:
diff --git a/docs/repository-engine-objects.pdf b/docs/repository-engine-objects.pdf
new file mode 100644
index 00000000..7f4b9256
--- /dev/null
+++ b/docs/repository-engine-objects.pdf
Binary files differ