Skip to content

Advanced Application Model & P2P Distribution #122

@ToddHebebrand

Description

@ToddHebebrand

As for the testing...of course! Thank you for providing this!

I have to switch my reverse proxy to NginX because I am not deploying this on a VPS but behind a firewall doing NAT and I dont want to have a reverse proxy proxying to another reverse proxy (Caddy) and my current reverse proxy does not seem to support URL rewrites which this seems to require for the backend to be referenced at /api so I will be definitely testing this...

I originally typed the following out myself, but then I summarized with AI because I had a pressing matter, so please still consider the content...


💡 Feature Request Summary

Advanced Application Model & P2P Distribution

First off — excellent work. What’s already been delivered is a huge step forward and genuinely refreshing. The following are optional future enhancements inspired by long-term real-world endpoint engineering experience (13+ years), but not required for success.


🚀 Core Enhancement Themes

1. NATS-Based Agent Communication

  • Use NATS (pub/sub) for agent ↔ server and agent ↔ agent communication

  • Enables:

    • Real-time task distribution

    • Event-driven execution

    • Scalable, reliable messaging backbone

    • https://nats.io/


2. Advanced Application Deployment Model

Inspired by:

  • MECM / SCCM Application Model
  • Novell ZENworks Bundles
  • Action1 deployment workflows

📦 Application Object Hierarchy

Application
 ├── Metadata + Configuration
 ├── Deployment Steps
 └── Versions
      ├── Content
      └── Command lines / install logic

🔧 Deployment Capabilities

  • Support simple and complex multi-step deployments

  • Steps may include:

    • Download Content
    • Execute Process
    • Run Script
    • Download File

3. Conditional Logic Engine

Support dynamic deployment conditions, including:

  • IP Address / Subnet
  • Internet connectivity
  • Script return values
  • Registry checks

With logical grouping:

Condition Groups
 ├── AND / OR logic
 └── Nested condition evaluation

4. Deployment Waves (Progressive Rollout)

Allow phased deployment waves:

  • Wave 1 → initial rollout
  • Wave 2 triggers only if X% success threshold (e.g., 75%)
  • Controlled, safe progressive rollout

5. User Experience Enhancements

Add an endpoint user experience layer:

  • Tray icon / agent UI

  • Notifications for:

    • Install progress
    • Required reboot
    • Completion
  • Optional Application Store:

    • On-demand installs
    • Required/available applications

📡 Peer-to-Peer (P2P) Content Distribution

🎯 Goal

Improve bandwidth efficiency and speed for large software deployments.

🔁 Model (inspired by Action1)

  • Agents download content segments
  • Peers share segments locally
  • Each endpoint assembles full package

Benefits

  • Massive reduction in WAN usage
  • Faster deployments per site
  • No dependency on distribution servers

🌐 Virtual Office Concept (Action 1 does NOT do this)

Enhance P2P distribution by grouping endpoints into logical distribution zones:

Virtual Office Definition

A “Virtual Office” is defined by:

  • Public IP(s)
  • Associated internal subnets specified by IP range or CIDR notation

Behavior

  • Endpoints behind the same circuit/public IP:

    • Share content across multiple local subnets
    • Reduce duplicate downloads per site
    • Action1 can only peer within the same subnet.

📷 Reference UI / Workflow Concepts

Image Image Image Image Image Image Image Image Image

🔗 Reference: Action1 P2P Model

Private P2P Software Distribution Technology
https://www.action1.com/documentation/p2p-sharing/

Image


✅ Summary of Value

These enhancements would provide:

  • Enterprise-grade application deployment
  • Highly efficient bandwidth usage
  • Safe, phased rollout controls
  • Rich end-user experience
  • Fully cloud-native architecture with no single points of failure

Again — current progress is already excellent. These are future ideas, not blockers.

Originally posted by @freedbygrace in #93

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions