diff --git a/docs/Overloaded Terms.md b/docs/Overloaded Terms.md new file mode 100644 index 000000000..d4b3a352b --- /dev/null +++ b/docs/Overloaded Terms.md @@ -0,0 +1,22 @@ +# Overloaded terms + +These are terms which are used in different contexts by developers, product teams customers. +Each context implies a different meaning, hence they are referred here as overloaded. + +- Node +- Network +- Services +- Settings | Config +- Gossip (Sync | chatter) +- Test +- VirtualMap | Map +- Streams (sidecars streams, record stream, post consensus, pre consensus) +- Events (Pre consensus, .. ) +- Container +- Proxy (Envoy, Haproxy, JSON RPC relay ) +- Stats (CSV, Prometheus) +- Merkle +- Reconnect (TCP | on the gossip protocol) +- Recovery (Replay of preconsensus stream | disaster recovery = replay of post consensus event stream) +- Deployment + diff --git a/docs/Terminology.md b/docs/Terminology.md new file mode 100644 index 000000000..cd8c00822 --- /dev/null +++ b/docs/Terminology.md @@ -0,0 +1,69 @@ +# Terminology + +This page collects a standard vocabulary to avoid any confusion when communicating with stakeholders. +You can refer to list of [Overloaded Terms](./Overloaded Terms.md). + +- Network Deployment + - represents everything in the k8s namespace + - Node Software Pod + - minio deployment + - mirror node deployment + - mirror node explorer + - json rpc relay + - envoy proxy + - haproxy + - A single k8s cluster can have many Network Deployment + +- Node Software Pod ( 1 k8s statefulset ) + - Hedera App Software + - Platform Software + - Side cars + - state backup uploader + - stream uploader + - record + - sidecars + - post consensus eventStreams + - account balances +- Mirror node deployment + - importer + - only handles record streams, account balances and sidecars +- Proxy deployment +- Mirror node explorer deployment +- JSON RPC replay deployment +- minio deployment + - post consesus event streams + - accountbalances + - sidecars + - record + - state backups +- Full Stack Cluster Operators + - Minio Operator, + - ~ Prometheus / Grafana Operators + - Cert Manager + - Ingress Operator + - Sealed secrets operator ? + +Settings and Configuration +- Platform Settings + - setting.txt +- Platform Configuration + - config.txt +- Node Software Address Books + - account 101 .bin + - account 102 .bin +- Node Software Logging Configuration + - log4j2.xml +- Node Software App Configuration + - platform sdk test apps + - varies + - hedera app + - bootstrap.properties + - node.properties + +Keys +- platform software gossip mutual TLS keys + - public key store + - private key store +- hedera app tls keys + - certificate + - private key \ No newline at end of file diff --git a/docs/Versioning.md b/docs/Versioning.md new file mode 100644 index 000000000..ce92997ed --- /dev/null +++ b/docs/Versioning.md @@ -0,0 +1,9 @@ +# Versioning + +## Overview +We support [semantic versioning](https://semver.org/) for FST releases. +Release will be tagged with a version number in the format of `MAJOR.MINOR.PATCH` + +## Versioning Policy +Major versions of FST are not tied to the major version of Hedara releases. +Each major release version of FST will be compatible with a range of Hedera releases, as described in the release notes. diff --git a/docs/architecture/Architecture.md b/docs/architecture/Architecture.md new file mode 100644 index 000000000..60d7e89d8 --- /dev/null +++ b/docs/architecture/Architecture.md @@ -0,0 +1,5 @@ +# Architecture + +## Architecture diagram + + \ No newline at end of file diff --git a/docs/architecture/High Level Flow Diagram.md b/docs/architecture/High Level Flow Diagram.md new file mode 100644 index 000000000..14e7604e1 --- /dev/null +++ b/docs/architecture/High Level Flow Diagram.md @@ -0,0 +1,3 @@ +# High Level Flow Diagram + + \ No newline at end of file diff --git a/docs/architecture/architecture.drawio.svg b/docs/architecture/architecture.drawio.svg new file mode 100644 index 000000000..1efb6ffc8 --- /dev/null +++ b/docs/architecture/architecture.drawio.svg @@ -0,0 +1,4 @@ + + + +Test ToolKitTest ToolKitJunitJunitCLICLIInfrastructureInfrastructureHelm ClientHelm ClientK8s ClientK8s Client! Work in progress !! Work in progress !Text is not SVG - cannot display \ No newline at end of file diff --git a/docs/architecture/flow diagram-high level.drawio.svg b/docs/architecture/flow diagram-high level.drawio.svg new file mode 100644 index 000000000..6e8de35a4 --- /dev/null +++ b/docs/architecture/flow diagram-high level.drawio.svg @@ -0,0 +1,4 @@ + + + +processes annotationsprocesses...Junit TestsJunit TestsparseYAML fileparse...CliClimodel classesmodel classesstep 1step 1test tool kittest tool kitprepare values.yaml for helmprepare values.yaml...helm deployhelm deployget IPs of statefulset(s)get IPs of statefulset...get IPs of statefulset(s)get IPs of statefulset...create config.txt, settings.txtcreate...[all pods] update config.txt, settings.txt[all pods] update confi...[all pods] copy hedera-build.zip[all pods] copy...[all pods] copy hedera-build.zip[all pods] copy...step 2step 2resource generatorresource generatorinfrastructureinfrastructuretest tool kittest tool kitresource generatorresource generatorinfrastructureinfrastructureThis is what the end users use to interact with FST, mostly indirectly.This is what the end users use...This is the internal API used by the test toolkit to create hedera networkThis is the internal API used b...It is mostly utility methods used to generate resources like config.txt or settings.txtIt is mostly utility methods us...This is the entry point to FSTThis is the entry point to...Text is not SVG - cannot display \ No newline at end of file