aboutsummaryrefslogtreecommitdiff
path: root/docs/repository-engine-objects.dot
diff options
context:
space:
mode:
Diffstat (limited to 'docs/repository-engine-objects.dot')
-rw-r--r--docs/repository-engine-objects.dot86
1 files changed, 0 insertions, 86 deletions
diff --git a/docs/repository-engine-objects.dot b/docs/repository-engine-objects.dot
deleted file mode 100644
index 24abc8dd..00000000
--- a/docs/repository-engine-objects.dot
+++ /dev/null
@@ -1,86 +0,0 @@
-// $URL$
-// $Id$
-//
-// {arrowhead,arrowtail} shapes indicate database object relationships:
-// 1- none
-// m- crow
-//
-// Color code:
-// Blue: visible in left-right protocol
-// Green: created on the fly
-
-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 Base}" ];
- repo [ label="Repository|{URI|TA}" ];
- child [ label="Child|{TA}" ];
- biz_sign [ label="Business\nSigning Context|{Keypair|CertChain}" ];
- route_origin [ label="Route\nOrigin|{AS Number}" ];
-
- // Objects which left-right protocol sees as part of other
- // objects but which SQL needs to be separate for
- // normalization.
-
- addr_set [ label="Address\nPrefix", color=purple ];
-
- // Objects created on the fly by the RPKI engine
- node [ color=green ];
- ca [ label="CA|{Last CRL #|Next CRL Date|Last Issued Serial #|Last Manifest #|Next Manifest Date|SIA URI}" ];
- ca_detail [ label="CA Detail|{CA Private Key Handle|CA Public Key|Latest CA Certificate|Manifest EE Private Key Handle|Manifest EE Public Key|Latest Manifest EE Certificate|Latest Manifest|Latest CRL}" ];
-
- // Some question whether these objects need to be in database
- // per se or are just properties hanging on some other object
- // like ca or ca_detail. For manifests, we need last serial,
- // same as for CRL.
- roa [ label="ROA|{EE Certificate|ROA}" ];
-
- // This one is a table of everything we have ever issued to
- // this child, not to be confused with what's -currently-
- // issued to this child. Some question whether this hangs off
- // ca or ca_detail, but we -think- hanging off of ca_detail is
- // correct because certificates are issued by a particular
- // keypair.
-
- child_cert [ label="Child CA Certificate" ];
-
- // One-many mappings
- edge [ color=blue, arrowtail=none, arrowhead=crow ];
- self -> biz_sign;
- biz_sign -> child;
- biz_sign -> parent;
- biz_sign -> repo;
- self -> child;
- self -> parent;
- repo -> parent;
- self -> route_origin;
-
- route_origin -> addr_set [ color=purple, arrowtail=none, arrowhead=crow ];
-
- // This is many-many because each child is an entity, each CA
- // can have multiple children, and each child can hold certs
- // from multiple CAs (thanks, RobL).
- //
- ca -> child [ color=green, arrowtail=crow, arrowhead=crow ];
-
- // One-many mappings
- edge [ color=green, arrowtail=none, arrowhead=crow ];
- ca -> ca_detail;
- child -> child_cert;
- parent -> ca;
- ca_detail -> child_cert;
- ca_detail -> roa;
-
- // One-one mapping -- separate object to highlight dynamic nature
- edge [ color=green, arrowtail=none, arrowhead=none, style=solid ];
- route_origin -> roa;
-
-}
-
-// Local Variables:
-// compile-command: "dot -Tps2 repository-engine-objects.dot | ps2pdf - repository-engine-objects.pdf"
-// End: