Import dot files from the notes repo
This commit is contained in:
commit
023b613fca
19 changed files with 605 additions and 0 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
*.png
|
||||||
|
*.pdf
|
||||||
|
*.svg
|
16
Makefile
Normal file
16
Makefile
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
all:
|
||||||
|
for dot in *.dot; do make $${dot%%.dot}.png; done
|
||||||
|
for dot in *.dot; do make $${dot%%.dot}.pdf; done
|
||||||
|
for dot in *.dot; do make $${dot%%.dot}.svg; done
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.png *.pdf *.svg
|
||||||
|
|
||||||
|
%.png: %.dot
|
||||||
|
dot -Tpng < $< > $@
|
||||||
|
|
||||||
|
%.pdf: %.dot
|
||||||
|
dot -Tpdf < $< > $@
|
||||||
|
|
||||||
|
%.svg: %.dot
|
||||||
|
dot -Tsvg < $< > $@
|
15
desktop-in-a-browser.dot
Normal file
15
desktop-in-a-browser.dot
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
|
||||||
|
local_browser [ label="Local Browser" ];
|
||||||
|
desktop_ungleich [ label="ungleich Desktop\n(Guacamole)" ];
|
||||||
|
vm [ label="Dedicated VM" ];
|
||||||
|
mydesktop [ label="My Desktop in a VM" ];
|
||||||
|
mobile_phone [ label="My phone" ];
|
||||||
|
|
||||||
|
local_browser->desktop_ungleich->vm->mydesktop;
|
||||||
|
desktop_ungleich->mobile_phone [ label="2FA" ];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
95
digitalglarus.dot
Normal file
95
digitalglarus.dot
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
digraph G {
|
||||||
|
start [ label="Enter Digital Glarus" ]
|
||||||
|
quietnot [ label="Prefer People\nor quietness?" shape=diamond ]
|
||||||
|
interested [ label="Are you interested\nin either sustainability,\nIT, hacking\nor mountains?" shape=diamond ];
|
||||||
|
nothere [ label="Sorry, this place\nis not for you." shape=box ]
|
||||||
|
|
||||||
|
schwanden [ label="Digital Chalet" ]
|
||||||
|
diesbach [ label="Hacking Hotel" ]
|
||||||
|
movein [ label="Welcome to Digital Glarus" ];
|
||||||
|
|
||||||
|
|
||||||
|
start->interested
|
||||||
|
interested->quietnot [ label="Yes" ];
|
||||||
|
interested->nothere [ label="No" ];
|
||||||
|
|
||||||
|
quietnot->schwanden [ label="I prefer quiet" ];
|
||||||
|
quietnot->diesbach [ label="I prefer people" ];
|
||||||
|
|
||||||
|
roomup [ label="Rooftop room\nwith mountain view" ];
|
||||||
|
roomupbig [ label="Rooftop big and bright room" ];
|
||||||
|
roombig [ label="Double room with lots of space" ];
|
||||||
|
roomcute [ label="Cute and bright room" ];
|
||||||
|
|
||||||
|
mountainviewapt [ label="Mountain view apartement" ];
|
||||||
|
natureviewapt [ label="Nature view apartement" ];
|
||||||
|
room7 [ label="Hotel Room" ];
|
||||||
|
|
||||||
|
|
||||||
|
studentdiscount [ label="Are you\na student?" shape=diamond ];
|
||||||
|
discountyes [ label="You are eligable\nfor a student discount!" ];
|
||||||
|
|
||||||
|
|
||||||
|
price_390 [ shape="box" label="390 CHF" ];
|
||||||
|
price_440 [ shape="box" label="440 CHF"];
|
||||||
|
price_490 [ shape="box" label="490 CHF"];
|
||||||
|
price_590 [ shape="box" label="590 CHF"];
|
||||||
|
|
||||||
|
schwanden->roombig [ label="Prefer more space" ]
|
||||||
|
schwanden->roomupbig [ label="Prefer more space" ]
|
||||||
|
schwanden->roomup [ label="Prefer pay less and smaller rooms" ]
|
||||||
|
schwanden->roomcute [ label="Prefer pay less and smaller rooms" ]
|
||||||
|
|
||||||
|
|
||||||
|
diesbach->mountainviewapt [ label="A whole apartment for myself" ];
|
||||||
|
diesbach->natureviewapt [ label="A whole apartment for myself" ];
|
||||||
|
diesbach->room7 [ label="I am fine with one big room" ];
|
||||||
|
|
||||||
|
natureviewapt->price_490;
|
||||||
|
mountainviewapt->price_590;
|
||||||
|
roombig->price_440;
|
||||||
|
roomup->price_390;
|
||||||
|
roomcute->price_390;
|
||||||
|
roomupbig->price_390;
|
||||||
|
room7->price_390;
|
||||||
|
|
||||||
|
subgraph cluster_schwanden {
|
||||||
|
schwanden;
|
||||||
|
roomup;
|
||||||
|
roomupbig;
|
||||||
|
|
||||||
|
roombig;
|
||||||
|
roomcute;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
subgraph cluster_diesbach {
|
||||||
|
diesbach;
|
||||||
|
mountainviewapt
|
||||||
|
natureviewapt
|
||||||
|
room7;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
subgraph cluster_prices {
|
||||||
|
# label="Price per month";
|
||||||
|
|
||||||
|
price_440;
|
||||||
|
price_590;
|
||||||
|
price_490;
|
||||||
|
price_390;
|
||||||
|
}
|
||||||
|
|
||||||
|
{price_440, price_590, price_390, price_490 }->studentdiscount;
|
||||||
|
|
||||||
|
studentdiscount->movein [ label="No" ];
|
||||||
|
studentdiscount->discountyes [ label="Yes" ];
|
||||||
|
discountyes->movein;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
movein;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
44
djangohosting.dot
Normal file
44
djangohosting.dot
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box, fontcolor="#ffffff", color="#40a9e3", style="filled" ]
|
||||||
|
# rankdir=LR;
|
||||||
|
|
||||||
|
subgraph cluster_local {
|
||||||
|
editor [ label="Local editor" ];
|
||||||
|
git [ label="Local version control" ];
|
||||||
|
localweb [ label="Development webserver" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
subgraph cluster_production_datacenter {
|
||||||
|
label="First data center";
|
||||||
|
subgraph cluster_production {
|
||||||
|
label="Production environment"
|
||||||
|
prodvm [ label="Production Server\nuwsgi,nginx,postgres" ];
|
||||||
|
repo [ label="Code repository\n(f.i. git)"];
|
||||||
|
monitoring [ label="Monitoring server" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
subgraph cluster_staging {
|
||||||
|
label="Staging environment"
|
||||||
|
stagingvm[ label="Staging Server" ];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
subgraph cluster_offsite {
|
||||||
|
label="Second data center";
|
||||||
|
backupvm [ label="Backup server" ];
|
||||||
|
monitoringmonitor [ label="Monitoring server" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
editor->git;
|
||||||
|
git->repo;
|
||||||
|
editor->localweb;
|
||||||
|
|
||||||
|
repo->prodvm [ label="Deploy after staging" ];
|
||||||
|
repo->stagingvm [ label="Pre prod deployment" ];
|
||||||
|
|
||||||
|
prodvm->backupvm [ label="Daily backup" ];
|
||||||
|
monitoring->prodvm [ label="Verify operation\nand alert on failure" ];
|
||||||
|
monitoringmonitor->monitoring [ label="Monitor the monitoring service"];
|
||||||
|
|
||||||
|
}
|
14
ip-routing.dot
Normal file
14
ip-routing.dot
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
rankdir=LR;
|
||||||
|
|
||||||
|
|
||||||
|
packet [ label="Packet" ]
|
||||||
|
router [ label="Router" ];
|
||||||
|
routingtable [ label="Lookup in\nrouting table" ];
|
||||||
|
nexthop [ label="Next router" ];
|
||||||
|
|
||||||
|
packet->router->routingtable->nexthop;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
25
ipv4doublenat.dot
Normal file
25
ipv4doublenat.dot
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
rankdir=LR;
|
||||||
|
|
||||||
|
client1 [ label="IPv4 client 1\nPrivate IP" ];
|
||||||
|
client2 [ label="IPv4 client 2\nPrivate IP" ];
|
||||||
|
clientn [ label="IPv4 client n\nPrivate IP" ];
|
||||||
|
nat_gw [ label="NAT gateway\nPublic IP" ];
|
||||||
|
target [ label="IPv4 Server\nPublic IP" ];
|
||||||
|
nat_gw2 [ label="NAT gateway 2\nPublic IP" ];
|
||||||
|
client3 [ label="IPv4 client 3\nPrivate IP" ];
|
||||||
|
client4 [ label="IPv4 client 4\nPrivate IP" ];
|
||||||
|
clientx [ label="IPv4 client x\nPrivate IP" ];
|
||||||
|
|
||||||
|
{client1, client2, clientn}->nat_gw;
|
||||||
|
|
||||||
|
nat_gw->target;
|
||||||
|
target->nat_gw;
|
||||||
|
target->nat_gw2;
|
||||||
|
nat_gw2->target;
|
||||||
|
|
||||||
|
nat_gw2->{client3, client4, clientx} [ dir="back" ];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
17
ipv4nat.dot
Normal file
17
ipv4nat.dot
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
rankdir=LR;
|
||||||
|
|
||||||
|
client1 [ label="IPv4 client 1\nPrivate IP" ];
|
||||||
|
client2 [ label="IPv4 client 2\nPrivate IP" ];
|
||||||
|
clientn [ label="IPv4 client n\nPrivate IP" ];
|
||||||
|
nat_gw [ label="NAT gateway\nPublic IP" ];
|
||||||
|
target [ label="IPv4 Server\nPublic IP" ];
|
||||||
|
|
||||||
|
{client1, client2, clientn}->nat_gw;
|
||||||
|
nat_gw->target;
|
||||||
|
target->nat_gw;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
9
ipv6-routing.dot
Normal file
9
ipv6-routing.dot
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
rankdir=LR;
|
||||||
|
|
||||||
|
v6router [ label="IPv6 only Router" ];
|
||||||
|
|
||||||
|
router1->router2 [ label="IPv6 route 1" ];
|
||||||
|
router1->router3 [ label="IPv6 route 2" ];
|
||||||
|
}
|
19
ipv6-to-ipv4-proxy.dot
Normal file
19
ipv6-to-ipv4-proxy.dot
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
rankdir=TB!;
|
||||||
|
|
||||||
|
label="IPv4-to-IPv6 proxy by ungleich.ch"
|
||||||
|
|
||||||
|
proxyv4 [ label="ungleich\nIPv4-IPv6 Proxy" ];
|
||||||
|
|
||||||
|
serverv6 [ label="Your IPv6 only\nServer" ];
|
||||||
|
|
||||||
|
clientv4 [ label="IPv4 only\nclient" ];
|
||||||
|
clientv6 [ label="IPv6 only\nclient" ];
|
||||||
|
|
||||||
|
clientv6->serverv6 [ label="Direct IPv6 access" ];
|
||||||
|
clientv4->proxyv4 [ label="Connect by IPv4" ];
|
||||||
|
proxyv4->serverv6 [ label="Translate to IPv6" ];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
20
ipv6backup.dot
Normal file
20
ipv6backup.dot
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
rankdir=LR;
|
||||||
|
|
||||||
|
backupserver [ label="ungleich\nIPv6 Backup" ];
|
||||||
|
|
||||||
|
server1 [ label="Server (IPv4)" ];
|
||||||
|
server2 [ label="Server (IPv6)" ];
|
||||||
|
server3 [ label="Server (Dualstack)" ];
|
||||||
|
|
||||||
|
clientv4 [ label="IPv4 client" ];
|
||||||
|
clientv6 [ label="IPv6 client" ];
|
||||||
|
|
||||||
|
backupserver->{server1,server2,server3}
|
||||||
|
|
||||||
|
clientv4->backupserver [ label="Not accessible" ];
|
||||||
|
clientv6->backupserver [ label="Accessible (can be restricted)" ];
|
||||||
|
|
||||||
|
|
||||||
|
}
|
14
ipv6direct.dot
Normal file
14
ipv6direct.dot
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
# rankdir=LR;
|
||||||
|
|
||||||
|
client1 [ label="IPv6 client 1\nPublic IP" ];
|
||||||
|
client2 [ label="IPv6 client 2\nPublic IP" ];
|
||||||
|
clientn [ label="IPv6 client n\nPublic IP" ];
|
||||||
|
|
||||||
|
client1->{client2, clientn};
|
||||||
|
client2->{client1, clientn};
|
||||||
|
clientn->{client2, client1};
|
||||||
|
|
||||||
|
|
||||||
|
}
|
55
ipv6proxy.dot
Normal file
55
ipv6proxy.dot
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
rankdir=LR;
|
||||||
|
|
||||||
|
label="IPv6 proxies by ungleich.ch"
|
||||||
|
|
||||||
|
|
||||||
|
proxyv6 [ label="ungleich\nIPv6-IPv4 Proxy" ];
|
||||||
|
proxyv4 [ label="ungleich\nIPv4-IPv6 Proxy" ];
|
||||||
|
|
||||||
|
serverv4 [ label="IPv4 only\nServer" ];
|
||||||
|
serverv6 [ label="IPv6 only\nServer" ];
|
||||||
|
noipv4here [ label="No IPv4-\nhere-service" ];
|
||||||
|
|
||||||
|
clientv4 [ label="IPv4 only\nclient" ];
|
||||||
|
clientv6 [ label="IPv6 only\nclient" ];
|
||||||
|
|
||||||
|
clientv4->serverv4 [ label="Direct IPv4 access" ];
|
||||||
|
clientv6->serverv6 [ label="Direct IPv6 access" ];
|
||||||
|
|
||||||
|
clientv4->proxyv4 [ label="Connect by IPv4" ];
|
||||||
|
clientv6->proxyv6 [ label="Connect by IPv6" ];
|
||||||
|
|
||||||
|
proxyv6->serverv4 [ label="Translate to IPv4" ];
|
||||||
|
proxyv4->serverv6 [ label="Translate to IPv6" ];
|
||||||
|
proxyv4->noipv4here [ label="If IPv4 translation is disabled" ];
|
||||||
|
|
||||||
|
|
||||||
|
subgraph cluster_legacyserver {
|
||||||
|
label="Enable legacy IPv4 servers to be reachable by IPv6";
|
||||||
|
proxyv6;
|
||||||
|
serverv4;
|
||||||
|
}
|
||||||
|
|
||||||
|
subgraph cluster_v6net {
|
||||||
|
label="Enable legacy IPv4 clients to access IPv6 only servers";
|
||||||
|
|
||||||
|
proxyv4;
|
||||||
|
serverv6;
|
||||||
|
noipv4here;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
subgraph cluster_clients {
|
||||||
|
label="Clients";
|
||||||
|
|
||||||
|
clientv4;
|
||||||
|
clientv6;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
28
marketing-by-doing.dot
Normal file
28
marketing-by-doing.dot
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
digraph G {
|
||||||
|
# rankdir="LR";
|
||||||
|
|
||||||
|
label="Do good and talk about it // ungleich.ch"
|
||||||
|
|
||||||
|
me [ label="Me"];
|
||||||
|
|
||||||
|
plan [ label="Plan what to do" ];
|
||||||
|
writetwitter [ label="Write on Twitter as me" ];
|
||||||
|
mentionungleich [ label="Include @ungleich in message" ];
|
||||||
|
includepicture [ label="Include a picture" ];
|
||||||
|
|
||||||
|
doit [ label="Do the work" ];
|
||||||
|
|
||||||
|
goodpic [ label="Good picture available?" shape=diamond ];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
me->plan->writetwitter->mentionungleich->goodpic;
|
||||||
|
|
||||||
|
goodpic->includepicture [ label="yes" ];
|
||||||
|
includepicture->doit;
|
||||||
|
goodpic->doit [ label="no" ];
|
||||||
|
|
||||||
|
|
||||||
|
doit->{plan, writetwitter};
|
||||||
|
|
||||||
|
}
|
143
network.dot
Normal file
143
network.dot
Normal file
|
@ -0,0 +1,143 @@
|
||||||
|
digraph G {
|
||||||
|
rankdir="LR";
|
||||||
|
|
||||||
|
digitalglarus;
|
||||||
|
hack4glarus;
|
||||||
|
|
||||||
|
|
||||||
|
dominique [ label="Dominique Schuwey" ];
|
||||||
|
stefanos [ label="Stefanos SKMP" ];
|
||||||
|
andi [ label="Andi not Brönnimann" ];
|
||||||
|
andistaub [ label="Andi Staub" ];
|
||||||
|
marcopanter [ label="Marco Dreads" ];
|
||||||
|
stefanpanter [ label="Stefan panter sysadmin" ];
|
||||||
|
marcuskoller [ label="Markus Koller" ];
|
||||||
|
|
||||||
|
ok200 [ label="200ok" ];
|
||||||
|
|
||||||
|
|
||||||
|
nico->ccc;
|
||||||
|
|
||||||
|
nico->irc;
|
||||||
|
nico->hszt;
|
||||||
|
nico->panter;
|
||||||
|
nico->swinog;
|
||||||
|
|
||||||
|
nico->{chopenevent, eth, localch, netstream, ungleich};
|
||||||
|
nico->{hack4glarus, digitalglarus};
|
||||||
|
nico->{impacthub};
|
||||||
|
nico->ungleichmarketing;
|
||||||
|
|
||||||
|
nico->{benni,tobiaskiefer,marcusprzyklink,miriwagner,juliahempel};
|
||||||
|
|
||||||
|
benni->maren;
|
||||||
|
|
||||||
|
|
||||||
|
alain->{voicerepublic,zentemple,ok200,monikabieri};
|
||||||
|
beat->{beatseltern, beatsbruder, johanna, leutevonschwändi};
|
||||||
|
|
||||||
|
donaldkossmann->teralytics;
|
||||||
|
fritzpechal->evapechal;
|
||||||
|
|
||||||
|
gabibaechlin->{rotary,hermanmathis};
|
||||||
|
giovanniserafini->adrianmathyskrüttli;
|
||||||
|
|
||||||
|
heinzhuerzeler->rolfhürlimann;
|
||||||
|
|
||||||
|
hpk->{jerry, richidubs, viviankessler, steffidubs, estherdubs, richardkeller, jacqueline, sabrinanaef, konrad, juanito, fridolinwalcher};
|
||||||
|
|
||||||
|
marcauer->mathiasauer;
|
||||||
|
|
||||||
|
hanspeterlegler->kurtsuess;
|
||||||
|
kurtsuess->tbgs;
|
||||||
|
tbgs->{kilianbäbler, michaeltrachsler};
|
||||||
|
|
||||||
|
|
||||||
|
mikezweifel->makersimzigerschlitz;
|
||||||
|
michelle->panter;
|
||||||
|
phil->ok200;
|
||||||
|
stefanos->chrysa;
|
||||||
|
stefanwolf->cabaretvoltaire;
|
||||||
|
|
||||||
|
steven->carbondelta;
|
||||||
|
sanghee->eunwoo;
|
||||||
|
sanghee->heinzhuerzeler;
|
||||||
|
|
||||||
|
eunwoo->dani;
|
||||||
|
dani->eunwoo;
|
||||||
|
|
||||||
|
diechance->{nadineglettig,rolandzweifel,samuelhailu};
|
||||||
|
|
||||||
|
|
||||||
|
ccc;
|
||||||
|
ccc->ccczh;
|
||||||
|
ccczh->hernani;
|
||||||
|
|
||||||
|
ccc->reyk;
|
||||||
|
|
||||||
|
irc;
|
||||||
|
irc->doublep;
|
||||||
|
|
||||||
|
swinog;
|
||||||
|
swinog->{claudio,patrickgloor};
|
||||||
|
|
||||||
|
digitalglarus;
|
||||||
|
digitalglarus->{marvin,rob,styli,marina,merry,julian};
|
||||||
|
digitalglarus->{hpk,hansjuerghess, hanspeterlegler, hanspetersuess, gabibaechlin,fritzpechal};
|
||||||
|
digitalglarus->{alexrömer, nüglarus, mikezweifel, diechance,roomrenting};
|
||||||
|
digitalglarus->{christianzweifel,larazweifel,kasparmarti};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
hack4glarus;
|
||||||
|
hack4glarus->{evilham,balazs,freebsdjohannes,kankan,manfredfrommichael,tilobosshard,vaida,danieltuering};
|
||||||
|
hack4glarus->{janselinga,martinselinga,michelle,konimarti};
|
||||||
|
|
||||||
|
|
||||||
|
adrianmathyskrüttli->helsana;
|
||||||
|
|
||||||
|
nüglarus;
|
||||||
|
nüglarus->{robibalmer, rolfluchsinger, patrickgallati};
|
||||||
|
|
||||||
|
|
||||||
|
panter;
|
||||||
|
panter->{stefanos,dominique,beat,alain,jorgo,phil,marcopanter,marcuskoller};
|
||||||
|
panter->{andistaub,stefanpanter,simonhuerlimann,davehuerlimann,referenceimage,amanda,mauro,tomas};
|
||||||
|
panter->{martinpanter};
|
||||||
|
|
||||||
|
|
||||||
|
referenceimage->ungleich;
|
||||||
|
|
||||||
|
chopenevent->eichi;
|
||||||
|
eichi->{ruag,tatjana};
|
||||||
|
ruag->dominiqueroux;
|
||||||
|
|
||||||
|
roomrenting->{erickönen, emilsomething, thomasberger};
|
||||||
|
|
||||||
|
impacthub->workspace2go;
|
||||||
|
|
||||||
|
|
||||||
|
hszt->{andi,dani,linda,giovanniserafini,c1audio};
|
||||||
|
|
||||||
|
eth->{steven,kamila,swaneet,max,lili,giovanniserafini,donaldkossmann,xtaran};
|
||||||
|
eth->{stefanwolf,sarahplocher,tobiasbühler,laurentvanbever,mothyroscoe,adrianperrig};
|
||||||
|
|
||||||
|
localch->nadinefaeh->pascalfaeh->faehundfaeh;
|
||||||
|
localch->richardrasu;
|
||||||
|
|
||||||
|
netstream->{alexiscaceda, dominikmeister, dominikbreitenmoser,esthergysin};
|
||||||
|
|
||||||
|
esthergysin->ungleich;
|
||||||
|
|
||||||
|
ungleich->{davehuerlimann, marcauer, konimarti,kasparmarti};
|
||||||
|
|
||||||
|
ungleichmarketing;
|
||||||
|
ungleichmarketing->{airat, hpk};
|
||||||
|
|
||||||
|
|
||||||
|
voicerepublic;
|
||||||
|
voicerepublic->patrickfrank;
|
||||||
|
|
||||||
|
zentemple->{marcelredding,bettina};
|
||||||
|
|
||||||
|
}
|
35
nicos-christmas-flow.dot
Normal file
35
nicos-christmas-flow.dot
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
# rankdir=LR;
|
||||||
|
|
||||||
|
label="Nico's Christmas shopping flow (2019)"
|
||||||
|
|
||||||
|
start [ label="Start" ];
|
||||||
|
needpresents [ label="Do I want to buy presents?" ];
|
||||||
|
stayhome [ label="All good. Let's do something else." ];
|
||||||
|
# lookforpresents [ label="Let's look for presents!" ];
|
||||||
|
isitdigital [ label="Is the present digital?" ];
|
||||||
|
runsopensource [ label="Does it run Open Source?" ];
|
||||||
|
usesnet [ label="Does it connect to the network?" ];
|
||||||
|
supportsv6 [ label="Does it support IPv6?" ];
|
||||||
|
buyit [ label="Ok, let's buy it!" ];
|
||||||
|
notgood [ label="Don't buy, this is trouble" ];
|
||||||
|
# isvirtual [ label="Does a VM/VPN work?" ];
|
||||||
|
|
||||||
|
|
||||||
|
start->needpresents;
|
||||||
|
needpresents->stayhome [ label="No" ];
|
||||||
|
needpresents->isitdigital [ label="Yes" ];
|
||||||
|
|
||||||
|
isitdigital->runsopensource [ label="Yes" ];
|
||||||
|
isitdigital->buyit [ label="No" ];
|
||||||
|
|
||||||
|
runsopensource->notgood [ label="No" ];
|
||||||
|
runsopensource->usesnet [ label="Yes" ];
|
||||||
|
usesnet->buyit [ label="No" ];
|
||||||
|
usesnet->supportsv6 [ label="Yes" ];
|
||||||
|
supportsv6->notgood [ label="No" ];
|
||||||
|
supportsv6->buyit [ label="Yes" ];
|
||||||
|
# supportsv6->isvirtual [ label="Yes" ];
|
||||||
|
|
||||||
|
}
|
16
nicosinfra.dot
Normal file
16
nicosinfra.dot
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
graph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
# rankdir=LR;
|
||||||
|
label="Nico's notebooks"
|
||||||
|
|
||||||
|
internet [ label="IPv6 Internet" shape="ellipse" ];
|
||||||
|
|
||||||
|
freiheit [ label="freiheit\n(Schwanden)\nfreiheit.place5.ungleich.ch" ];
|
||||||
|
manager [ label="manager\n(Luchsingen)\nmanager.place7.ungleich.ch" ];
|
||||||
|
diamond [ label="diamond\n(on the road)\ndiamond.place7.ungleich.ch\nnico.plays.ipv6.games" ];
|
||||||
|
line [
|
||||||
|
label="line\n(Linthal\ndiamond.place7.ungleich.ch\nnico.ungleich.cloud" ];
|
||||||
|
|
||||||
|
internet--{freiheit,manager,diamond,line}
|
||||||
|
|
||||||
|
}
|
11
vm-infrastructure-dcl.dot
Normal file
11
vm-infrastructure-dcl.dot
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
rankdir=LR;
|
||||||
|
|
||||||
|
|
||||||
|
VMs->{VMHost1,VMHost2,VMHostN}
|
||||||
|
{VMHost1,VMHost2,VMHostN}->CephCluster;
|
||||||
|
|
||||||
|
CephCluster->{Ceph1,Ceph2,CephN}
|
||||||
|
|
||||||
|
}
|
26
vm-infrastructure-multi-dc-backup.dot
Normal file
26
vm-infrastructure-multi-dc-backup.dot
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
digraph G {
|
||||||
|
node [ shape=box ]
|
||||||
|
rankdir=LR;
|
||||||
|
|
||||||
|
|
||||||
|
subgraph cluster_rz1 {
|
||||||
|
|
||||||
|
VMs->{VMHost1,VMHost2,VMHostN}
|
||||||
|
{VMHost1,VMHost2,VMHostN}->CephCluster;
|
||||||
|
|
||||||
|
CephCluster->{Ceph1,Ceph2,CephN}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
subgraph cluster_rz2 {
|
||||||
|
|
||||||
|
VMs2->{VMHost21,VMHost22,VMHost2N}
|
||||||
|
{VMHost21,VMHost22,VMHost2N}->CephCluster2;
|
||||||
|
|
||||||
|
CephCluster2->{Ceph21,Ceph22,Ceph2N}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
CephCluster->CephCluster2 [ label="Backup/Mirror" ];
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue