We can define several entities in Stork:
- Daemon
- Application (App)
- Service
Entities Arrangements
Generic Entities Arrangement
graph TB
service1[service 1] --- app1
service1[service 1] --- app2
service2[service 2] --- app3
service2[service 2] --- app4
subgraph "machine 2"
app2[app 2] --- daemon2[daemon 2]
app2[app 2] --- daemon3[daemon 3]
app3[app 3] --- daemon4[daemon 4]
end
subgraph "machine 1"
app1[app 1] --- daemon1[daemon 1]
end
subgraph "machine 3"
app4[app 4] --- daemon5[daemon 5]
end
Kea - Simple Case
graph TB
service1[service] --- app1
subgraph "machine"
app1[Kea] --- daemon1[kea-ctrl-agent]
app1[Kea] --- daemon2[kea-dhcp4]
app1[Kea] --- daemon3[kea-dhcp6]
end
User expected operations for each level:
- Service:
- ???
- App: Kea
- List apps of given kind so user can grasp whats there in DHCP or in DNS
- Filter apps by version or by state
- Filter by state so it is visible which apps are not working correctly
- Filter by version to find old versions and upgrade them
- Select app on the list and dig into its details
- Upgrade app
Kea - HA
graph TB
service1[Kea HA] --- app1
service1[Kea HA] --- app2
subgraph "machine 1"
app1[Kea 1] --- daemon1[kea-ctrl-agent]
app1 --- daemon2[kea-dhcp4]
app1 --- daemon3[kea-dhcp6]
end
subgraph "machine 2"
app2[Kea 2] --- daemon4[kea-ctrl-agent]
app2 --- daemon5[kea-dhcp4]
app2 --- daemon6[kea-dhcp6]
end
DNS Anycast
graph TB
service1[DNS Anycast] --- app1
service1[DNS Anycast] --- app2
subgraph "machine 1"
app1[BIND 9] --- daemon1[named]
end
subgraph "machine 2"
app2[BIND 9] --- daemon2[named]
end