--- title: "External" slug: "external-app" updated: 2022-01-26T17:34:16Z published: 2022-01-26T17:34:16Z canonical: "docs.echo.stream/external-app" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.echo.stream/llms.txt > Use this file to discover all available pages before exploring further. # External 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](/v1/docs/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](/v1/docs/using-an-api-user#credentials) provide your App and the Nodes within it the ability to access the EchoStream API (necessary for self-configuration). See [App User](/v1/docs/app-users) for how to use these credentials in general and [External Nodes](/v1/docs/external-node) 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](/v1/docs/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).