summaryrefslogtreecommitdiffstats
path: root/crates/core
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@ifm.com>2022-06-21 16:41:14 +0200
committerMatthias Beyer <matthias.beyer@ifm.com>2022-08-30 13:54:48 +0200
commit19e69d10d3c2643e30744c3912c0d2646414d119 (patch)
tree319da38a089ba6af006b1a8a29ca206f7d820c18 /crates/core
parent08a32f3294d65b4011e54838fc67c792cf8f3ff0 (diff)
Streamline name to "thin-edge.io"
Signed-off-by: Matthias Beyer <matthias.beyer@ifm.com>
Diffstat (limited to 'crates/core')
-rw-r--r--crates/core/tedge_api/goals.md44
1 files changed, 22 insertions, 22 deletions
diff --git a/crates/core/tedge_api/goals.md b/crates/core/tedge_api/goals.md
index f39c4964..fefef3f0 100644
--- a/crates/core/tedge_api/goals.md
+++ b/crates/core/tedge_api/goals.md
@@ -19,36 +19,36 @@ _This section is meant to be read as if the feature was_ already _implemented._
-----
-ThinEdge is an edge focused IoT framework. At its core it serves to bridge the
+thin-edge.io is an edge focused IoT framework. At its core it serves to bridge the
gap between devices and the cloud. As it is meant to run on low-resources
devices it's core architecture supports that.
As such, it is built upon a message passing router with a modular approach for
extending its functionality through plugins.
-ThinEdge can thus be understood as being a common-core of a message passing router
+thin-edge.io can thus be understood as being a common-core of a message passing router
with a collection of plugins that ultimately define what it actually _does_.
Plugins come in two forms:
-- Run-time & external, which are provided to Thin-Edge and meant to
+- Run-time & external, which are provided to thin-edge.io and meant to
interoperate with it specifically through stdin/stdout or some other
well-specified interface (cf. external plugins further down)
- These are for example custom built executables that a user provides and
- wishes to not integrate into ThinEdge for various reasons (e.g. language
- differences or license)
-- Compile-time & built-in, which are compiled into the actual ThinEdge binary
- and written in Rust.
+ wishes to not integrate into thin-edge.io for various reasons (e.g.
+ language differences or license)
+- Compile-time & built-in, which are compiled into the actual thin-edge.io
+ binary and written in Rust.
- These offer the advantage of simplifying deployment as well as assurances
w.r.t. the messages (i.e. changes)
Both ways are _functionally equivalent_ and _support the same features_.
We aim to provide plugins for all common server and use-cases, see further down
-if you wish to extend Thin-Edge yourself.
+if you wish to extend thin-edge.io yourself.
## Configuring your plugins
-ThinEdge is on its own merely a collection of plugin kinds, and requires a
+thin-edge.io is on its own merely a collection of plugin kinds, and requires a
configuration to do any useful work. A common configuration includes a cloud
mapper, some device management plugins as well as some data sources.
@@ -93,7 +93,7 @@ its needs and abilities. Nonetheless some parts are probably more common:
receives a 'Restart "nginx" service' message it needs to be configured to
tell it where to find the destination for it.
-Once you have this configuration file, you can go on and start Thin-Edge
+Once you have this configuration file, you can go on and start thin-edge.io.
## Starting Thin-Edge
@@ -195,8 +195,8 @@ See `message::Message` for possible values.
-------
-At the heart of these choices lies the idea of making sure that using ThinEdge
-is precise, simple, and hard to misuse.
+At the heart of these choices lies the idea of making sure that using
+thin-edge.io is precise, simple, and hard to misuse.
- In the above example, the `heartbeat` service kind would check if the targets
are actually existing plugins it could check the heartbeat on _before_ the
@@ -276,8 +276,8 @@ message kinds are forward compatible. Meaning that new kinds of messages may be
received but simply rejected if unknown.
Messages conversations are also asynchronous, meaning that upon receiving a
-message ThinEdge might not reply. (This does not preclude the transport layer
-to assure that the message has been well received)
+message thin-edge.io might not reply. (This does not preclude the transport
+layer to assure that the message has been well received)
This has two reasons:
@@ -294,23 +294,23 @@ a response. This is left as a future addition.
_Note: 'Plugins' is simply a working name for now. We are free to rename this
to 'Extension' or any other name we think is good._
-Plugins are what makes ThinEdge work! They receive messages and execute their
-specific action if applicable.
+Plugins are what makes thin-edge.io work! They receive messages and execute
+their specific action if applicable.
This part is split into two parts: PluginBuilders and Plugins themselves.
### PluginBuilders
A `PluginBuilder` is a Rust struct that implements `PluginBuilder`. They are the
-sole sources of plugin kinds in ThinEdge. (This is not a limitation for
+sole sources of plugin kinds in thin-edge.io. (This is not a limitation for
proprietary and non-rust plugins, read further to see how those are handled.)
-They are registered at startup and hardcoded into the ThinEdge binary.
+They are registered at startup and hardcoded into the thin-edge.io binary.
### Plugins
A Plugin is a Rust struct that implements `Plugin`. It is clear that requiring
-all users who wish to extend ThinEdge to learn and use Rust is a _bad idea_. To
-make sure those users also get a first class experience special kinds of
+all users who wish to extend thin-edge.io to learn and use Rust is a _bad idea_.
+To make sure those users also get a first class experience special kinds of
plugins are bundled per default: `stdio-external`, `http-external`. (The
specific list will surely evolve over time.) These get instantiated like any
other with the exception that it is expected that all messages are forwarded,
@@ -331,8 +331,8 @@ situation like a pure-Rust plugin would have.
Playing to Rust's strengths makes for better maintainable software. Using
Traits to specify behaviour and "plain old Rust objects" also make the messages
-clear. As ThinEdge is a specialized piece of software, this should be embraced
-to deliver on an amazing experience.
+clear. As thin-edge.io is a specialized piece of software, this should be
+embraced to deliver on an amazing experience.
Alternatives could include: