domain/architecture/system/container/type.bend

near-v-framework@0.5.1.0 · 23 lines · 0 definitions

1import Base
2import near-v-framework@0.5.1.0/domain/architecture/relationship/type.bend as Rel
3import near-v-framework@0.5.1.0/domain/architecture/category/type.bend as K
4import near-v-framework@0.5.1.0/domain/architecture/system/container/component/type.bend as Co
5
6# Who can reach it: its own machine, the local network, the tailnet, the device it is on, anyone.
7type Exposure is Data:
8  Local{}
9  Lan{}
10  Tailnet{}
11  Device{}
12  Public{}
13
14# Whether the system builds it, or uses it as it is.
15type Ownership is Data:
16  Ours{}
17  Theirs{}
18
19# Something that runs on its own: an app, an API, a database, a command. Its technology: the vendors
20# behind it, the frameworks and libraries it is built with, and its languages; `source` is its folder
21# in the repository ("" when it has none), and `migrating` the declared technology it does not use yet.
22type Container is Data:
23  Container{key: String, name: String, description: String, category: K.Category, ownership: Ownership, exposure: Exposure, capabilities: List<&2, K.Capability>, source: String, vendors: List<&2, String>, frameworks: List<&2, String>, libraries: List<&2, String>, languages: List<&2, String>, migrating: List<&2, String>, components: List<&2, Co.Component>, uses: List<&2, Rel.Relationship>}