External
  • 26 Jan 2022
  • 1 Minute to read
  • Contributors
  • Dark
    Light
  • PDF

External

  • Dark
    Light
  • PDF

Article summary

External Apps allow you to extend your EchoStream Tenant into any computing platform in the world. For example, External Apps allow you to implement their attached External Nodes in:

  • A k8s cluster running in a legacy datacenter.
  • A k8s cluster running in Google Cloud Computing Services.
  • An EC2 instance in your AWS Account.
  • A Durable Azure Function in Microsoft Azure.
  • And many, many more...

Attributes

config

You have the option of creating a configuration (aka - config) for your App.

The config is a JSON object that can contain anything that you desire. All data stored within this object is encrypted prior to being stored in EchoStream in order to protect sensitive items such as database or API credentials.

If you choose to create a config for your App, it will be passed to all Nodes within App.

Keys in your App config override those in the Tenant config can be overridden by configs that exist in your Nodes.

Example:

{
    "database": {
        "credentials": {
            "username": "foobar",
            "password": "password1"
        },
        "address": "127.0.0.1",
        "port": 3576
}

credentials

Credentials provide your App and the Nodes within it the ability to access the EchoStream API (necessary for self-configuration). See App User for how to use these credentials in general and External Nodes for how to use them in a Node.

tableAccess

If you want the Nodes that are in your External App to be able to access the Tenant's table this must be set to true. The default is false.

If the External App is hosted in a compute platform controlled by you, you probably want to allow table access. If the App is hosted in a foriegn compute platform you may want to allow table access if you trust the owner of those compute resources.

Methods

GetAwsCredentials

All access to all EchoStream Cloud resources provided to your External App and its contained External Nodes is through using the temporary AWS crednetials returned by this method. Once you have acquired these credentials you must use them to obtain a session in AWS to use those resources (such as receiving messages from an Edge, or sending messages to an Edge).


What's Next