Entity Relationship Diagram#

Image

Node#

  • Strongbox store nodes register themselves in the nodes table on first startup.
  • A ring node keeps its own status up to date, and other ring nodes can query the values to make routing decisions.
  • The baseUrl is published to other ring nodes and clients. It contains the base URL where to connect to the ring node.

Tenant#

  • Tenants must be registered manually by an operator.

Container#

  • Containers can be created explicitly (empty, without any chunks yet). Otherwise they get created implicitly as required when a chunk gets uploaded at the start of a stream.
  • The client may store metadata such as name and mimeType of the container.

Chunk#

  • The range of the chunk is stored in startAddress and endAddress, describing the first and and last position of the stream this chunk represents.
  • Fields checksum and checksumType are filled on first upload and queried during replication.

Blocked Container#

  • Entries here represent a container that is currently blocked from modification. Note: this status can be queried by a user-facing client application, but it is not enforced within Strongbox store.