MCPcopy Index your code
hub / github.com/FREEZONEX/Tier0-Edge

github.com/FREEZONEX/Tier0-Edge @v2.1.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.1.1 ↗ · + Follow
6,922 symbols 18,733 edges 1,461 files 1,934 documented · 28%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

TIER0: The Unified Namespace Software

Static Badge Docs License

Tier0 is an open-source industrial data integration platform built on the Unified Namespace (UNS) methodology and powered by production-grade open-source technologies.


Architecture Overview

  • Source Flow
    Serves as the connection pipeline to devices and systems. It handles real-time protocol translation into JSON payloads. Built entirely on Node-RED. @@ -20,10 +20,9 @@ The core of Tier0. A semantic MQTT broker and parser that models data using topic hierarchies and structured JSON payloads.

  • Sink
    The storage layer of Tier0.

  • Time-series Namespace values are stored in TimescaleDB.
  • Relational Namespace values (e.g., CRM data) are stored in PostgreSQL.
    This enables efficient querying and compression.

  • Event Flow
    Orchestrates Namespaces into higher-level event/information flows. Supports merging JSON payloads and appending system-generated prompts for LLM-powered optimization.


Hardware Requirements

Minimum Requirement Recommended Requirement
CPU 4 cores 8 cores
Memory 8 GB 16 GB
Disk 100 GB, 1000 IOPS (30% random write) 1 TB, 2000 IOPS (30% random write)
Browser Chrome 89, Edge 89, Firefox 89, Safari 15 Chrome 89, Edge 89, Firefox 89, Safari 15

Deployment

For detailed guides and advanced examples, see the Tier0 Community Docs.

1.Linux

1.1 Operating Environment

  • Operating System: Currently tested on Ubuntu Server 24.04 with Docker. We welcome feedback on other OS distributions.
  • Docker: We assume you have Docker (with docker compose and buildx) installed. Our tested versions:
  • Docker Engine - Community: 27.4.0
  • Docker Buildx: v0.19.2
  • Docker Compose: v2.31.0
  • containerd: 1.7.24

1.2 Installing Tier0

  1. Clone the project. bash git clone <this repo>
  2. Navigate to the Tier0 directory and edit environment variables in the .env file. bash cd Tier0-Edge/deploy vi .env.default
  3. Update VOLUMES_PATH (directory for storing project data).
  4. Update ENTRANCE_DOMAIN (frontend entry domain/IP address).
  5. Modify other variables as needed.
  6. Install Tier0. bash bash bin/install.sh

2.Windows

2.1 Operating Environment

  • Install the latest version of Docker Desktop and Git on Windows 10 or Windows 11.
  • It is recommended to perform all operations in Git Bash for better compatibility.

2.2 Installing Tier0

  1. Clone the project using Git Bash. bash git clone <this repo>
  2. Navigate to the Tier0 directory and edit environment variables in the .env file. bash cd Tier0-Edge/deploy vi .env.default
  3. Update OS_PLATFORM_TYPE = windows
  4. Update VOLUMES_PATH (directory for storing project data).
  5. Update ENTRANCE_DOMAIN (Do not use 127.0.0.1 or localhost, otherwise login and authentication functions will NOT work.)
  6. Modify other variables as required by the system.
  7. Install Tier0. bash bash bin/install.sh

3. Access the Platform

  1. Visit http://<YOUR-DOMAIN>:<YOUR-PORT> in your browser (based on ENTRANCE_DOMAIN and ENTRANCE_PORT in .env).
  2. Sign in to Tier0 with default account and password: tier0/tier0.

Important Startup Operations

1. UNS Data Model Creation

1.1 Building Models Manually

Factory/workshop/equipment/CNC will be used as an example, in which Factory, workshop and equipment are paths and CNC is a topic. 1. Log in to Tier0, and then select UNS > Namespace. 2. Under Topic, click to add a path (e.g. factory).

  1. Select equipment, and then click to add a topic (e.g.CNC) under it.

  1. Enter the information of the topic, and then click Save.

1.2 Importing Models

  1. Log in to Tier0, and then select UNS > Namespace.
  2. Click Import at the upper-right corner.

  1. Import JSON to create models.
  2. Directly enter JSON.

  • Click Upload File to download the template and enter the model content according to template rules.

You can manually add a path and topic, export it and use it as an example for import.

  1. Save the template file, and then click Import on the Namespace page.
  2. Select the template, and then click Save.

2. Model Data Source Connection

Connect real data to make models alive. 1. Log in to Tier0, go to UNS > Namespace, and under the Topic tab, select a file. 2. Scroll down to Topology, click the icon on Source Flow to redirect to the generated data flow.

  1. Change the data source of the generated flow.

4. Deploy and trigger the flow.

License

This project is licensed under the Apache 2.0 License.

Support & Contact

Contributors

We gratefully acknowledge the following individuals for their contributions to Tier0:

Wenhao Yu, Liebo, Weipeng Dong, Kangxi, Lifang Sun, Minghe Zhuang,
Wangji Xin, Fayue Zheng & Yue Yang, Yanqiu Liu, Dongdong An, Jianan Zhu

Extension points exported contracts — how you extend this code

UnsDetail (Interface)
UnsDetail 接口定义 [2 implementers]
backend/internal/logic/supos/uns/uns/bo/UnsDetail.go
Animal (Interface)
(no doc) [3 implementers]
backend/share/spring/getBeansOfType_test.go
Position (Interface)
* 位置接口定义
frontend/apps/web/src/components/controlled-dropdown/useDropdown.ts
Config (Interface)
(no doc)
frontend/packages/scripts/src/tmtClient.ts
CityInfo (Interface)
(no doc)
frontend/mcp/demo-mcp-server/src/tools/weather.ts
Config (Interface)
(no doc)
frontend/plugins/vite.base.ts
NodeUnsInfo (Interface)
(no doc) [4 implementers]
backend/internal/logic/supos/uns/uns/bo/NodeUnsInfo.go
Bird (Interface)
(no doc) [3 implementers]
backend/share/spring/getBeansOfType_test.go

Core symbols most depended-on inside this repo

Append
called by 340
backend/share/base/StringBuilder.go
Error
called by 253
backend/internal/adapters/postgresql/PgPersistentService.go
useTranslate
called by 205
frontend/apps/web/src/hooks/useTranslate.ts
get
called by 169
frontend/apps/web/src/utils/fetch.ts
Close
called by 156
backend/share/diskqueue/diskqueue.go
getIntl
called by 147
frontend/apps/web/src/stores/i18n-store.ts
Log
called by 142
backend/test/spring_test/service.go
success
called by 119
backend/internal/logic/supos/userManage/base.go

Shape

Function 3,249
Method 2,200
Struct 1,053
Interface 311
TypeAlias 60
Class 36
Enum 10
FuncType 3

Languages

Go72%
TypeScript28%

Modules by API surface

backend/internal/types/types.go307 symbols
backend/internal/repo/relationDB/modelUNS.go98 symbols
backend/internal/types/CreateTopicDto.go72 symbols
frontend/apps/web/src/apis/inter-api/uns.ts67 symbols
backend/share/diskqueue/diskqueue_test.go58 symbols
backend/share/base/buffer/ByteBuffer.go53 symbols
frontend/apps/web/src/apis/inter-api/kong.ts46 symbols
backend/share/app/adapter/portainerAdapter.go44 symbols
backend/share/base/TreeMap.go42 symbols
backend/internal/repo/relationDB/unsNamespace_query.go42 symbols
backend/internal/logic/supos/userManage/base.go41 symbols
backend/internal/logic/supos/uns/uns/bo/UnsDetail.go38 symbols

Datastores touched

postgresDatabase · 1 repos
tier0Database · 1 repos

For agents

$ claude mcp add Tier0-Edge \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact