hardimpactdev / orbit-core
Core functionality for orbit-web and orbit-desktop
0.1.195
2026-08-20 05:48 UTC
Requires
- php: ^8.5
- guzzlehttp/psr7: ^2.7
- illuminate/support: ^12.0 || ^13.0
- psr/http-message: ^2.0
Requires (Dev)
- carthage-software/mago: ^1.40.1
- pestphp/pest: ^5.0
- rector/rector: ^2.3
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main / 0.1.x-dev
- 0.1.195
- 0.1.194
- 0.1.193
- 0.1.192
- 0.1.156
- 0.1.155
- 0.1.154
- 0.1.153
- 0.1.152
- 0.1.151
- 0.1.150
- 0.1.149
- 0.1.148
- 0.1.147
- 0.1.146
- 0.1.145
- 0.1.144
- 0.1.143
- 0.1.142
- 0.1.141
- 0.1.140
- 0.1.139
- 0.1.138
- 0.1.137
- 0.1.136
- 0.1.135
- 0.1.134
- 0.1.133
- 0.1.132
- 0.1.131
- 0.1.130
- 0.1.129
- 0.1.128
- 0.1.127
- 0.1.126
- 0.1.125
- 0.1.124
- 0.1.123
- 0.1.122
- 0.1.121
- 0.1.120
- 0.1.119
- 0.1.118
- 0.1.117
- 0.1.116
- 0.1.115
- 0.1.114
- 0.1.113
- 0.1.112
- 0.1.111
- 0.1.110
- 0.1.109
- 0.1.108
- 0.1.107
- 0.1.106
- 0.1.105
- 0.1.104
- 0.1.103
- 0.1.102
- 0.1.101
- 0.1.100
- 0.1.99
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- v0.0.10
- 0.0.9
- 0.0.8
- 0.0.7
- 0.0.6
- 0.0.5
- 0.0.4
- 0.0.3
- 0.0.2
- 0.0.1
This package is auto-updated.
Last update: 2026-09-25 14:28:10 UTC
README
A Laravel package providing shared business logic for the Orbit ecosystem.
Overview
Orbit Core is the shared foundation for orbit-cli, orbit-app, and their deployable shells (orbit-web, orbit-desktop). It contains:
- Models: Node, Gateway, Project, Site, Setting, SshKey, TrackedJob, etc.
- Gateway Services: GatewayManager, WgEasyService, GatewayDnsService
- CLI Wrapper Services: StatusService, ProjectCliService, ConfigurationService, etc.
- Pipelines: ProvisionPipeline, DeletionPipeline (site creation/deletion)
- Jobs: CreateSiteJob, DeleteSiteJob
- Data Objects: ProvisionContext, DeletionContext, StepResult
- Events: SiteProvisioningStatus, SiteDeletionStatus
- Migrations: All database schema (nodes, gateways, sites, projects, etc.)
This package contains no UI components — controllers, routes, views, and MCP servers live in orbit-app.
Installation
composer require hardimpactdev/orbit-core
Namespace
All classes use HardImpact\Orbit\Core namespace:
HardImpact\Orbit\Core\
Models\ # Eloquent models (Node, Gateway, Site, etc.)
Services\
Gateway\ # VPN/DNS gateway services
Provision\ # Site provisioning pipeline
Deletion\ # Site deletion pipeline
OrbitCli\ # CLI interaction wrappers
Contracts\ # Interfaces (ProvisionLoggerContract)
Data\ # DTOs (ProvisionContext, StepResult, etc.)
Enums\ # NodeType, RepoIntent
Events\ # Broadcasting events
Jobs\ # Queueable jobs
Gateway Services
Gateway business logic lives in src/Services/Gateway/:
| Service | Purpose | Constructor |
|---|---|---|
GatewayManager |
CRUD gateways, VPN client registration | No dependencies |
WgEasyService |
WireGuard VPN API client | string $host, int $port, string $password |
GatewayDnsService |
TLD-to-IP DNS mappings via dnsmasq | string $configPath |
These are consumed by both orbit-cli (via GatewayCliAdapter) and orbit-app (via MCP tools).
Related Packages
| Package | Purpose |
|---|---|
| orbit-app | Web UI, MCP servers, controllers (requires this) |
| orbit-cli | Laravel Zero CLI tool (requires this) |
| orbit-web | Deployable Laravel shell |
| orbit-desktop | NativePHP desktop shell |
License
MIT