Skip to main content

echostream-managed-app

EchoStream managed app is a part of your EchoStream tenant. It maintains echostream managed nodes throughout their lifecycle. It runs as daemon service on your or your partner's compute environment.

It is packaged as a part of your seed.iso (boot image), it can be downloaded from EchoStream application UI or through an api call. The boot image hardens the VM and configures all necessary things to let the managed app run.

Note: version >=0.3.0 requires Python 3.12

What echostream-managed-app does?

  • It starts up app change receiver node and starts receiving messages from app change router.
  • Pull Docker images from private EchoStream ecr or public-ecr.
  • Startup/kill managed-node docker containers as they are added/removed in/through the UI/API.
  • Restart managed-nodes if there is any part of node config got updated or edges between the nodes are modified.
  • It runs containers on isolated docker network.
  • Upstream the app/node logs to cloudwatch.

Configuration

Requirements and other configuration for testing the managed app in local env.

Env vars

Below are the required env vars. These can be found in user-data file in your app's boot image (seed.iso)

  • APP
  • APPSYNC_ENDPOINT
  • AWS_DEFAULT_REGION
  • CLIENT_ID
  • LOG_GROUP_NAME
  • PASSWORD
  • TENANT
  • USER_NAME
  • USER_POOL_ID

other requirements

  • The necessary pip packages for this app are in requirements.dev.txt.
  • Docker engine must be installed.
  • This app looks for aws credentials in environment variables or at ~/.aws/credentials. These aws credentials should have access to login/pull images from ecr and write access to cloudwatch logs.
"ecr-public:DescribeImages",
"ecr-public:GetAuthorizationToken"
"ecr:BatchCheckLayerAvailability"
"ecr:BatchGetImage",
"ecr:DescribeImages",
"ecr:DescribeRepositories",
"ecr:GetAuthorizationToken",
"ecr:GetDownloadUrlForLayer",
"ecr:GetRepositoryPolicy",
"ecr:ListImages",
"logs:CreateLogStream"
"logs:PutLogEvents",
"sts:GetServiceBearerToken",

Usage

  • After environment variables are sourced and Docker engine is running, the app can be started by python interpreter python echostream_managed_app/__init__.py.
  • The app starts to receive messages from app change receiver and starts managing the nodes on the docker.
  • The logs are written to /var/log/echostream/echostream-managed-app.log

Note:

  • AWS credentials can be passed into environment using aws-vault.
  • If access is denied to write to the log file, either run as sudo or change the log destination which is accessible.
  • For more verbose logs, set the logging level to DEBUG

More details here: Managed-app

Metadata

Release files for echostream-managed-app 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for echostream-managed-app 0.3.0
File Size Uploaded Provenance Actions
echostream_managed_app-0.3.0.tar.gz 14.1 kB Without provenance Details for echostream_managed_app-0.3.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for echostream-managed-app 0.3.0
File Interpreter ABI Platform Actions
echostream_managed_app-0.3.0-py3-none-any.whl Python 3 none any Details for echostream_managed_app-0.3.0-py3-none-any.whl

Total release size: 27.5 kB

Release files / echostream_managed_app-0.3.0.tar.gz

Download URL echostream_managed_app-0.3.0.tar.gz
Size 14.1 kB
Tags Source
SHA-256 checksum
How to use checksums
f65f52c2443af40291d9d761d0da0b0272ffa96b49e2fa687f33afe50f177f05
BLAKE2b-256 checksum
How to use checksums
268c437cd4e5f46a9c5ba5bc4290f968a4b05ae8c8263fbecfc03723d6f43477
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.4

Release files / echostream_managed_app-0.3.0-py3-none-any.whl

Download URL echostream_managed_app-0.3.0-py3-none-any.whl
Size 13.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
091616195346d0ba9512be8ed97e6ba3913e417a48a221f061ad7ed590cdbb9d
BLAKE2b-256 checksum
How to use checksums
de1a0705064b498cd4d27930295f4cc4796497005038dd7fc958d0c3779b08f2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.4

Security for echostream-managed-app 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page