modulepackage
1.0.0-beta.26
Repository: https://github.com/tinyiot/thing-directory.git
Documentation: pkg.go.dev
# README
TinyIoT Thing Directory
This is an implementation of the W3C Web of Things (WoT) Thing Description Directory (TDD), a registry of Thing Descriptions.
Getting Started
Visit the following pages to get started:
- Deployment: How to deploy the software, as Docker container, Debian package, or platform-specific binary distributions
- Configuration: How to configure the server software with JSON files and environment variables
- API Documentation: How to interact with the networking APIs
Further documentation are available in the wiki.
Features
- Service Discovery
- RESTful API
- HTTP API
- Things API - TD creation, read, update (put/patch), deletion, and listing (pagination)
- Search API - JSONPath query language
- Events API
- TD validation with JSON Schema(s)
- Request authentication and authorization
- JSON-LD response format
- HTTP API
- Persistent Storage
- LevelDB
- CI/CD (Github Actions)
- Automated testing
- Automated builds and releases
Development
Clone this repo:
git clone https://github.com/tinyiot/thing-directory.git
cd thing-directory
Compile from source:
go build
This will result in an executable named thing-directory
(linux/macOS) or thing-directory.exe
(windows).
Get the CLI arguments help (linux/macOS):
$ ./thing-directory -help
Usage of ./thing-directory:
-conf string
Configuration file path (default "conf/thing-directory.json")
-version
Print the API version
Run (linux/macOS):
$ ./thing-directory --conf=sample_conf/thing-directory.json
To build and run together:
go run . --conf=sample_conf/thing-directory.json
Test all packages (add -v
flag for verbose results):
go test ./...
Contributing
Contributions are welcome.
Please fork, make your changes, and submit a pull request. For major changes, please open an issue first and discuss it with the other authors.
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
disable timestamp in logs.
print extra information e.g.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author