3.1 Control Plane vs Agent Execution Plane
3.2 Project Scope Model
3.3 Data Flow: Source -> Release -> Pipeline -> Logs/Artifacts
3.4 Runtime Configuration Layers (global / project / environment)
3.5 Pipeline Execution Semantics
3.6 Release Governance Path
3.7 Rollback Architecture (Policy-driven)
3.8 Security and Trust Boundaries
3.9 State and Persistence Model
3.10 Scalability Model
3.11 Failure Modes and Recovery Patterns
3.12 Why This Architecture Works in Practice
1.5.2 Install Host App
Orbnetes deployment and release orchestration documentation for operators and platform teams.
This page describes a host-based installation using Laravel source code for teams who want full app-level control.
Prerequisites
- PHP 8.2+, Composer, Node.js (if frontend assets are rebuilt), and MySQL/MariaDB.
- Web server (Nginx/Apache) or local PHP server for development.
Install Steps
- Clone repository and enter project directory.
- Create environment file from template:
cp .env.example .env - Install dependencies:
composer install - Generate application key:
php artisan key:generate - Configure DB in
.env:DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=orbnetes DB_USERNAME=orbnetes DB_PASSWORD=secret - Run migrations:
php artisan migrate - Start app:
php artisan serve --host=0.0.0.0 --port=8080
Production Notes
- Use queue worker and scheduler if enabled by your setup.
- Set proper cache/session/queue drivers for production.
- Run behind HTTPS reverse proxy with real domain URL in app config.
Nginx / Long Polling Config
For agent long polling, keep these nginx and upstream settings in place:
- Increase PHP-FPM timeouts:
fastcgi_read_timeout 120s;fastcgi_send_timeout 120s;send_timeout 120s;
- Disable buffering for poll/stream endpoints:
fastcgi_buffering off;- If proxied upstream:
proxy_buffering off;
- Do not apply aggressive rate limit on agent API (to avoid
429polling flaps). - Allow upload/update body size:
client_max_body_size 512m;(or your required size)
- If Cloudflare proxy is enabled, keep long-poll below CF request duration limits (typically around 100s), or bypass API from proxy limits.
- For multi-instance portal setup, keep long-poll stateless and use shared DB/Redis across nodes.
Example for location ~ \.php$:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_read_timeout 120s;
fastcgi_send_timeout 120s;
fastcgi_buffering off;
send_timeout 120s;
}