General Architecture
The following content is subject to future changes.
General Chart
Agents
The system operates in three example environments: Kubernetes, Virtual Machines (VMs), and Docker. Each environment has an associated Agent responsible for tunneling HTTP traffic to the tunneler. Environments can be defined by providers.
Tunneler
EnviroTunneler: A core component that facilitates the tunneling of HTTP traffic between the agents in each environment and the Reverse Proxy. The tunneler acts as a bridge to route traffic and ensure secure communication.
Reverse Proxy: This serves as an intermediary that directs traffic from the tunneler to appropriate services. It proxies each web editor to its subpath or subdomain.
Web IDE:
The Reverse Proxy connects to the Web Editors, providing a platform for users to interact with the environment through a browser-based IDE. The Web Editors allow users to modify and execute code in real time. You can define WebIDE's via the provider config.
Enviro Daemon (EnviroD):
The EnviroDaemon is responsible for managing the environments. It creates and deletes environments based on the provided Provider configuration.
Dashboard:
The Dashboard acts as a user interface for monitoring and managing the system. It can display status information and interact with both the EnviroDaemon and the Web Editors, providing insights and control over the system.