EntityDB holds all network allocations and associated information.
Go to file
Marek Küthe 6f61d5fcf7 Merge pull request 'Add home router' (#45) from mark22k/crxn-entitydb:home_router into master
Reviewed-on: https://codeberg.org/CRXN/entitydb/pulls/45
2024-04-03 18:13:01 +00:00
LICENSE.md Add autistic gay penis licsense version three 2021-11-07 18:56:27 +02:00
README.md Fix invalid JSON in README.md 2021-10-31 13:27:21 +02:00
bandura.json Merge pull request 'Add home router' (#45) from mark22k/crxn-entitydb:home_router into master 2024-04-03 18:13:01 +00:00
bigfunnygiant.json -S--amend 2024-03-30 00:29:58 +00:00
build_maxlen_filter.sh Extend maxlen script by YAML building function 2023-07-02 17:44:04 +02:00
deavmi.json fix deavmi 2022-12-29 18:23:24 +01:00
pravda.json Upload files to "/" 2024-02-28 00:56:48 +00:00
reddawn.json fix && format 2022-12-29 18:14:29 +01:00
rutra.json Spacing stuff 2023-12-10 23:08:24 +03:00
schema solve problem `Every 'entity' has its data stored in a JSON file named as 'UNIQUE.json' where UNIQUE is any unique identifier (UUID/hash/name etc.).` 2023-01-29 13:23:43 +01:00
skiqqy.json fix && format 2022-12-29 18:14:29 +01:00
test.sh use another for each method and check for device 2023-01-29 13:41:41 +01:00
ty3r0x.json Fixed discrepancies 2023-04-15 19:10:20 +03:00

README.md

entitydb

EntityDB holds all network allocations and associated information.

Format

Every 'entity' has its data stored in a JSON file named as 'UNIQUE.json' where UNIQUE is any unique identifier (UUID/hash/name etc.).

Content of entity (data)

The data should be a JSON object with a anonymous top-level object and "route" as only object. "route" should be a list of all routes provided by the entity with a required list of devices named "device".

"device" must contain at least one device that is reachable. A router is commonly used as the only object for the network as it is necessary in most setups.

Every device can contain the type of the device (router, generic, server), along with the list of services as "service". When no type is defined, generic is assumed.

Services must have a type (eg. tcp, udp, http, rsync, git) and at least one endpoint in the endpoints list.

Every object may contain a optional description, except lists.

Descriptions should not be used other than for describing things in a human-readable form.

Example

Here's a example that you may modify to your needs.

{
  "route": {
    "fdaa:bbcc:ddee::/48": {
      "description": "My home network",
      "device": {
        "fdaa:bbcc:ddee::1": {
          "type": "router",
          "description": "My custom router running BIRD"
        },
        "fdaa:bbcc:ddee::5": {
          "description": "Electronic mail endpoint",
          "service": [
            {
              "type": "smtp",
              "endpoint": [
                { "port": 25 }
              ]
            },
            {
              "description": "Super-secret authentication gateway",
              "type": "kerberos",
              "endpoint": [
                { "port": 89 }
              ]
            },
            {
              "type": "imap",
              "endpoint": [
                { "port": 143 }
              ]
            }
          ]
        }
      }
    },
    "fdcc:ba11:b00b::/48": {
      "device": {
        "fdcc:ba11:b00b::1": {
          "type": "router"
        }
      }
    }
  }
}