Commit Graph
600 Commits
Author SHA1 Message Date
JamesBhattarai 812a1318e9 Feat: Add community plane
- Implemented relevant ping ping routes, regions, cloudflare, auth as a proper abstract to Core for a community cloud
2026-09-15 05:46:18 +05:45
JamesBhattarai b25c6cd24e Feat: Add cloud plane
- Plane with OIDC users, projects and VDCs with per-VDC roles, SSH key vault, Cloudflare exposure, TLS certificates, and a gateway that forwards allowlisted calls to core with the VDC as tenant_id.
- Also added docker compose for setups
2026-09-02 11:15:25 +05:45
JamesBhattarai ca29ba96e3 Chore: Add xcloudify_shared package
API response envelope, logging, core client, Cloudflare tunnel manager, secret encryption, OIDC token verification, the APP_ENV dev-bypass switch, SSH key routes, and the core gateway allowlist are reusable components
2026-09-01 13:18:08 +05:45
JamesBhattarai efda0f4e8f Chore: Squash core migrations into one baseline 2026-08-31 20:32:01 +05:45
JamesBhattarai e5b2a54db8 Feat: Worker for community nodes
A packaged worker binary and node docker-compose for hardware we don't own, authenticated only with its host secret.
Added build scripts for the binary and NSController image, uninstaller.
2026-08-30 16:41:21 +05:45
JamesBhattarai 2438e0d0e4 Fix: Worker and libvirt reliability
- Give each NIC its own guest PCI slot; a shared 0x05 default made libvirt reject VMs with more than one network
- VM reconcile no longer treats a domain as orphaned when its assigned host row is the same physical machine
2026-08-29 20:06:55 +05:45
JamesBhattarai 118585a465 Feat: Add VM start, stop and restart 2026-08-28 17:10:54 +05:45
JamesBhattarai 9ee533e817 Feat: Pin VM placement to a host and VM retries idempotent
- Pin a workload to one host, which a community lease needs
- A VM's networks, volumes, ports, metadata and GPUs are created once and reused on every retry.
2026-08-27 15:03:11 +05:45
JamesBhattarai cafc2f2383 Fix: Sign VNC console tickets per VM and verify them in the proxy 2026-08-24 10:19:02 +05:45
JamesBhattarai 92d9c8c9d2 Feat: Authenticate workers with a per-host secret
Core accepts XCLOUDIFY_API_KEY for Full-Access or a host's own enrollment secret limited to the routes a worker calls, for its own
data only.
2026-08-23 11:47:47 +05:45
JamesBhattarai 4c83aff64c Chore(Refactor): Replace VDC with an opaque tenant_id and region_id
Workloads, Network, Volume, Pod, Server group usees tenant_id for isolation with region_id for placement.
DNS zones and worker DNS paths are tenant-scoped and rooted at BASE_DOMAIN.
2026-08-22 19:34:23 +05:45
JamesBhattarai 5ea418f86c Feat (Chore): Remove tenancy, identity, certificate API, Cloudflare from core
Universes, projects, VDCs, region access, permissions, SSH keys, Cloudflare and TLS certificates are product concerns and moves to the cloud/community plane.
Core keeps only infrastructure.
2026-08-19 12:52:52 +05:45
JamesBhattarai 7fea4a5bcc Chore: Move services into core
- Move app/, worker/, websocket_server/, migrations/, tests and the services to core/, which becomes a self-contained root
- .gitmodules path for the novnc submodule rewritten by git mv.
- Initial Step to split into core and cloud/community
2026-08-17 22:15:19 +05:45
JamesBhattarai eba78fa92b Chore: removed uis and interfaces
The management panel for cloud (backend/hyperscale/community) will be handled seperatly via React/Typescript frontend (Secured and More convinient).
Cleaning the repo!
2026-08-16 23:02:36 +05:45
coryHawkvelt 2b0e0d1013 Merge branch 'main' into v1.01/overlay-network 2026-08-08 15:48:12 +00:00
JamesBhattarai 7ec2e4d47b Feat: Implement NAT for Private network
Added enable_nat bool for networks to allow nats
Implemented docker network bridge, to allow nat with tenancy seperated as `enable_icc:false`
2026-08-08 17:41:15 +02:00
JamesBhattarai b1442e277d Feat: Zerotier & user-meatadata implementation
- User can now add zerotier id during vm creation which will add the node to zerotier via cloud-config
- VM creation supports population of user-data cloud-config
2026-08-08 17:37:17 +02:00
coryHawkvelt be0d63f5dd Merge branch 'main' into v1.01/internal-auth 2026-08-08 15:33:30 +00:00
coryHawkvelt eac38d4799 Merge branch 'main' into v1.01/ovs 2026-08-08 15:32:40 +00:00
coryHawkvelt 58bf51d724 Merge branch 'main' into v1.01/processes 2026-08-08 15:32:30 +00:00
coryHawkvelt 94600fe350 Merge branch 'main' into v1.01/nscontroller 2026-08-08 15:32:07 +00:00
coryHawkvelt 83d8b5c806 Merge branch 'main' into v1.01/hosts-failover 2026-08-08 15:31:50 +00:00
coryHawkvelt 2f7cfe05d5 Merge branch 'main' into v1.01/utils 2026-08-08 15:31:20 +00:00
JamesBhattarai 64368a0cd1 Fix: skip api-key check for CORS OPTIONS Preflight
Preflight requests gate for X-Internal-Xcloudify-API made the browser see a non-2xx preflight
2026-08-07 02:13:23 +02:00
JamesBhattarai 4c49f5defb Feat: Implemented X-Internal-Xcloudify-API 2026-08-06 11:30:30 +02:00
JamesBhattarai 9f15566434 Fix: Added OVS Filter 2026-08-03 23:55:12 +02:00
JamesBhattarai 7642bdd99e Fix: Thread congestion to handle pingpong in worker
Move Libvirt VM creation entirely into the worker thread instead of instantiating it on the main thread, preventing ping-pong responses to/from the master from being blocked.
2026-08-02 16:48:23 +02:00
JamesBhattarai 667e690a2b Fix: removed deletion blocker of NS 2026-07-26 12:11:30 +02:00
JamesBhattarai ba311216e3 Feat: VM reconsilation 2026-07-23 08:21:56 +02:00
JamesBhattarai c9b9a17102 Fix: Failover VM Create <-> DNS Chain
Task was depending on DNS of other failed worker with a serial chain which caused VM Creation to waiting.
2026-07-17 01:48:41 +02:00
JamesBhattarai 124775e29a Feat: added workload hosts failover 2026-07-17 11:50:00 +02:00
JamesBhattarai 96cdf56c2f Fix: Worker Reconnect Attempt
Check the connection status of reconnect and loop retry drop to start
2026-07-14 00:41:56 +02:00
JamesBhattarai a68c1c8347 Feat: Br-wan Flat Networking + Fix DNS/DHCP
Implemented Encapsulation type for Flat
Fix DHCP stateless route for metadata-server
Fix default subnet mask  and gateway default to NSController
2026-07-13 01:11:40 +02:00
JamesBhattarai 4f0d057094 Fix: added missing flask_cors package 2026-07-13 01:11:18 +02:00
JamesBhattarai c486b35e2a Feat: Retry diff Hosts on Workload failure 2026-06-11 13:38:56 +05:45
JamesBhattarai 38f5601945 Feat: Implemented VM Workload Error Store 2026-06-11 11:20:36 +05:45
coryHawkvelt f1b5260ac7 Merge pull request 'Fix: NS docker-bridge Container' (#58) from JamesBhattarai/theapi:v1.01/network into master
Reviewed-on: coryHawkvelt/theapi#58
2026-06-09 04:50:20 +00:00
JamesBhattarai 2fd12eb237 Fix: NS docker-bridge Container
Previously ns controller pod injected by XCF_DEFAULT_OVS_BRIDGE making it ovs-bridge and not attaching docker bridge.
Added DNS (Essential for cloudflared side container)
2026-06-08 15:00:30 +05:45
JamesBhattarai 780bb6019e Feat: added VM allocation retry 2026-06-08 01:48:09 +05:45
JamesBhattarai 2a32013791 FIx: swagger /apisec.json 404 and Chore: vm POST doc + Modularity
Flasgger uses find('---') substring search to detect YAML in docstrings.
Numpy-style section underlines (-------, -----------, etc.) inside route
handler docstrings were triggering YAML parsing on plain English text,
crashing the spec view with a TypeError on every request to /apispec.json.
2026-06-07 15:58:06 +05:45
JamesBhattarai db82e33715 Chore: added workload host tag in scheduling VM 2026-06-07 01:15:02 +05:45
coryHawkvelt 7bf4ffebfa Merge pull request 'Fix(Feat): VxLAN and Stray ports' (#56) from JamesBhattarai/theapi:v1.01/network into master
Reviewed-on: coryHawkvelt/theapi#56
2026-06-03 03:50:59 +00:00
JamesBhattarai 292641fcf0 Fix(Feat): dispatch nscontroller if doesn't exist when scheduling vm 2026-06-01 23:30:28 +05:45
JamesBhattarai 0d3d2f0749 Fix(Feat): VxLAN and Stray ports 2026-06-01 22:11:38 +05:45
JamesBhattarai f7fb5a9daa Fix: Worker_settings overwrite & Watchdog Celery, Scripts
Added watchdog for celery in dev mode to apply changes
Fix Overwritten of worker settings. Priority keys over .env overwrites
Chore: Script fixes of master,worker
2026-06-01 09:38:39 +05:45
JamesBhattarai 446fed5df0 Fix: nscontroller port type casing 2026-05-25 20:59:57 +05:45
JamesBhattarai 8727f26ceb Chore: added release gpu script /vfio 2026-05-25 20:58:04 +05:45
JamesBhattarai 9618f702d2 Chore: hard fail vnc and FIx: port type acryonm mismatch/gpu-release 2026-05-25 20:58:04 +05:45
JamesBhattarai 7b0a195a11 Chore: script changes 2026-05-25 19:07:25 +05:45
JamesBhattarai b7dbcaf315 Fix: remove hardcoded vnc vm port & remove consts 2026-05-25 19:07:25 +05:45