Commit Graph
332 Commits
Author SHA1 Message Date
JamesBhattarai 7cfa0d7338 Feat: Add marketing site
Home page with the live ping demo and architecture diagram, and a
dev-only switcher linking to the other portals.
2026-09-03 14:05:22 +05:45
JamesBhattarai 51667bd965 Feat: Add community portals
- Customer (marketplace, leases, compute on the leased node),
  provider (their nodes) and operator (everything) as separate apps
- Shared chrome with community's own session; identity switcher
  only in dev mode
2026-09-01 23:05:54 +05:45
JamesBhattarai 980572b3fb Feat: Host NAT toggle on network details 2026-08-29 10:31:56 +05:45
JamesBhattarai b84033ba5d Feat: Show public hostnames from Cloudflare exposures
Core now only flags use_dns; the hostname comes from the cloud or
community exposure record. Ports that asked to be public but have no
confirmed tunnel yet show as pending instead of a broken link.
2026-08-27 11:44:33 +05:45
JamesBhattarai c74910c8d1 Feat: Operator detail in the core console
- operatorDetail capability: host placement and raw API records,
  core console only
- Dashboard leads with a failure lane (VMs, pods, hosts)
- Per-section error banners instead of silently empty lists
- Audit log no longer shows user_id
2026-08-24 16:15:52 +05:45
JamesBhattarai 58dc58b9cf Refactor: Scope shared screens by tenant instead of VDC
useTenantScope answers "what am I working inside": a VDC on cloud,
a lease on community. The create wizard, volumes, storage and
infrastructure screens use it, so they work on both planes.
2026-08-23 20:33:51 +05:45
JamesBhattarai 2ea9a3bf75 Feat: Cloud portal sign-in, projects and VDC-scoped routing
- Shell requires a session (oauth2-proxy), with sign-in and sign-out
- Project switcher; first-VDC screen when a project has no VDC yet
- Core calls route through /vdcs/<id>/core/* for the active VDC
- Tenants manage their own VDCs, members and Cloudflare account
  under Data Centers; the cloud admin area and server groups are removed
2026-08-22 12:36:22 +05:45
JamesBhattarai a35192fd5a Chore: Move env config into each app
- Drop the root .env.* files; every app now has its own .env.example
- Core console talks to core directly with its build-time key
- ALLOWED_HOST passed through docker-compose
2026-08-19 17:00:45 +05:45
JamesBhattarai 505d9a55d7 Chore: Move UI into core/cloud apps & extract shared package 2026-08-17 18:52:28 +05:45
JamesBhattarai 37b3de7fd9 WIP: storage/volume UI changes (checkpoint before plane restructure) 2026-08-16 14:56:24 +05:45
JamesBhattarai 0a49557692 Feat: added GPU selection UI for Container 2026-08-13 23:12:19 +02:00
JamesBhattarai 5b87fa67ba Chore: Changed VM Creation Flow UI 2026-08-11 03:20:25 +02:00
JamesBhattarai 2cd14636ed Feat: UI Implementation of Zerotier VM & Metadata Cloud-Config Field 2026-08-11 02:41:41 +02:00
JamesBhattarai 383e39483f Chore: added Ceph in volume lists 2026-08-11 02:41:41 +02:00
JamesBhattarai c5561e6c27 Chore: add api key proxy 2026-08-07 02:14:45 +02:00
HawkveltGiteaAdminandGitHub ece698835f Merge pull request #5 from jamesii-b/v1.01/stage-env
Feat: GPU Status Web View
2026-06-03 13:23:03 +09:30
HawkveltGiteaAdminandGitHub 791071e15c Merge branch 'main' into v1.01/stage-env 2026-06-03 13:22:52 +09:30
HawkveltGiteaAdminandGitHub 018d874d30 Merge pull request #6 from jamesii-b/v1.01/storage
Added Storage UI
2026-06-03 13:22:20 +09:30
JamesBhattarai 3a4a1f880d Feat: Storage Features
Added Storage View/Linked to VMs
Fix Static Data with Backend Data
Added Storage functionalities like resize,, create, delete, attach/detach
2026-06-02 23:32:23 +05:45
JamesBhattarai 9a8e07eb74 Feat: Implemented VM reboot hard/soft/reset 2026-05-31 21:01:33 +05:45
JamesBhattarai 0b49ed1db7 Chore: added volume delete & autoselect 0th Index on Resource create 2026-05-31 16:02:25 +05:45
JamesBhattarai 223417ddc0 Feat: GPU Status Web View
Added GPU Web view in Region, Workload_host/worker page
2026-05-30 23:53:45 +05:45
HawkveltGiteaAdminandGitHub 81492de850 Merge pull request #4 from jamesii-b/v1.01/stage-env
Stage Infra setup Chores
2026-05-26 00:37:36 +09:30
JamesBhattarai a505137503 Chore: reset log console 2026-05-25 15:13:24 +05:45
JamesBhattarai 619aee8d70 Chore(Fix): constant cleanups 2026-05-25 14:04:36 +05:45
JamesBhattarai cc92ccb367 Chore: Enforce format and add ssh key id instead of key 2026-05-24 22:33:33 +05:45
JamesBhattaraiandGitHub c8d746b440 Merge pull request #3 from jamesii-b/v1.01/staging
Chore(docker): added docker compose and envs
2026-05-22 09:52:09 +05:45
JamesBhattarai e6b4fc8879 Chore(docker): added docker compose and envs 2026-05-19 12:05:40 +05:45
HawkveltGiteaAdminandGitHub 8d61b2472f Merge pull request #2 from jamesii-b/v1.1/stable
VM, Network, SSH Keys and UI Refractor
2026-05-19 12:24:41 +09:30
JamesBhattarai c05cb35721 feat(vm-details): overhaul VM details with real data, console log streaming, and delete
- Remove all static mock data (auditLogs, networkInterfaces, storageVolumes, nfsMounts, portForwards, firewallRules)
- Replace with real API data: network_ports and volumes from vmData
- Add Refresh button that re-fetches VM data without page reload
- Replace dummy Power/Reboot/Destroy buttons with AlertDialog-confirmed destroy action
- Networking tab: real network ports table (IP, MAC, network link, status badge)
- Storage tab: real volumes table (size, type, boot flag, status, created date)
- Remove Firewall tab (static-only, no API backing)
- Add Console Log tab: live log streaming via socket.io (user_start/stop_vm_log_stream)
  with start/stop controls, auto-scroll toggle, clear, line count, status badge
- Add socket lifecycle management (connect on mount, disconnect on unmount)
- Resolve workload host name by fetching getWorkloadHosts()
- Show placeholder banner in monitoring tab (charts are mock data)
- Replace Port Forward dialog with Launch Configuration panel (shows vcpu, memory, requested networks/volumes from launch_params)
- Fix VNC connect to not require running status
- Various UI polish: flex-wrap headers, consistent label sizing, newline at EOF
2026-05-18 10:00:00 +05:45
JamesBhattarai df29467877 feat(network-details): overhaul network details page with port CRUD and NSController management
NetworkDetailsPage:
- Refactor data fetching to useCallback + Promise.all (network, ports, NSControllers, hosts)
- Add 5-stat summary row (VNI, IPv4/IPv6 CIDR, active ports, encapsulation)
- Add 4-tab layout: Overview, Ports, NSControllers, Configuration
- Port management: create/edit/delete ports via Dialog with full field support
- NSController panel: list controllers, create for a host, refresh DNS/DHCP
- Add delete network with AlertDialog confirmation
- Improved save-changes logic: only send dirty fields; optimistic local state update
- Replace static mock data with real API data throughout
- Add enriched port type with workload metadata fields

xcloudifyApi:
- Fix deleteNetwork URL (remove spurious /api/ prefix)
- Add network port CRUD: getNetworkPort, createNetworkPort, updateNetworkPort, deleteNetworkPort
- Add NSController methods: createNSControllerForNetwork, getNSControllersForNetwork, refreshNSController
2026-05-17 10:00:00 +05:45
JamesBhattarai 2f5680b483 feat(network-creation): wire up network creation in wizard, infrastructure, and VDC pages
- Add createNetwork() handler in CreateResourceWizard with full field mapping
- Route 'network' resource type to createNetwork() on submit
- Redesign network form in ResourceConfigurationForm with real API fields:
  VDC selector, network type, encapsulation, OVS bridge, IPv4/IPv6 CIDR,
  gateway, DHCP range, NSController IP
- Add 'Create Network' button to Infrastructure networks tab header
- Wire network delete (with confirm) and configure dropdown items in InfrastructurePage
- Add refetchNetworks callback on network resource creation
- Add IPv4 gateway, DHCP range start/end, and NSController IP fields to
  VirtualDataCentersPage network creation dialog
2026-05-16 10:00:00 +05:45
JamesBhattarai 48a5949b48 feat(vm-creation): add GPU selector, SSH key picker, and configurable boot disk size
- Add GPU model state, fetching (getGpuModels API), and model-based picker in wizard
- Add SSH key selection in VM creation form (dropdown with fingerprint preview)
- Add configurable boot disk size field (defaults to 50 GB)
- Fix VM spec string parsing (startsWith instead of includes, add 2-vcpu variants)
- Extract GPU count from spec string (e.g. 8-vcpu-32gb-1gpu)
- Validate vcpu/memory before submission; pass gpu and ssh_key to creation payload
- Wire new props (vmDiskSize, sshKeys, gpuModels, etc.) through to ResourceConfigurationForm
2026-05-15 10:00:00 +05:45
JamesBhattarai ff2dfc173a feat(ssh-keys): add SSH key management page, sidebar nav, route, and API methods
- Add SSHKeysPage component with full CRUD (list, add, delete, default toggle)
- Add SSH Keys nav item to AppSidebar with KeyRound icon
- Register /ssh-keys route in Index.tsx
- Add getSSHKeys, createSSHKey, deleteSSHKey, getSSHKeyDetail to xcloudifyApi
2026-05-14 10:00:00 +05:45
JamesBhattarai 6e297d1fd6 Fix: Time inconsistency in Infra Web View time 2026-04-09 14:23:42 +05:45
JamesBhattarai b21be3bfa1 Chore(Pods): UI Refractor
Sort Pod in VDC by newest at top
Widen Clickable Pod range to expand
add bottom padding to prevent content hidden by floating UI
Resolve workload host id to host name
2026-04-07 14:12:22 +05:45
JamesBhattarai d5ce146b98 Fix:(UI) UI & route
fix hosts showing workload routes to workload page
Added/Fixed VM Creation Window
Handled String error to navigate in vm detailed view page
Fix load bar over expanded.
2026-04-04 19:46:56 +05:45
JamesBhattarai 20a2168fea Feat(UI-Resource): Implemented Server Groups
Seperate Page in Navbar
ServerGroupds pickup in Resouce Creation Popup
2026-04-04 16:09:24 +05:45
JamesBhattarai 66d988e70f Feat: Added Universe & Chore: Copy
Added Universe Management Page
Change Copy botton style
Fix: Auth State Loading from localstorage
Linked Compute Hosts in VDC Page.
2026-04-04 12:45:37 +05:45
nexgen_mirrors e9943dec80 feat(ui): add network details page and failover toggle functionality
Add comprehensive NetworkDetailsPage component with tabs for overview, ports, and configuration.
Support editing network settings including IPv4/IPv6 CIDR, gateway, DNS servers, OVS bridge, and encapsulation.
Add navigation from infrastructure network cards to details page via click and dropdown menu.
Add failover pause/unpause toggle button to RegionsPage with loading states and visual feedback.
Update useNetworks hook with updateNetwork function and improved API response handling for both wrapped and raw array formats.
Add new API endpoints in xcloudifyApi for getNetwork, updateNetwork, pauseFailover, and unpauseFailover.
2026-02-06 16:27:14 +10:30
nexgen_mirrors 72a5642f99 feat(ui): add failover status display with tooltip
Add new "Failover" column to regions table showing pause state with detailed tooltip containing pause reason and timestamp. Update Region interface to support failover_paused, pause_reason, and pause_started_at fields.
2026-02-06 16:26:48 +10:30
nexgen_mirrors c107a309f2 feat(ui): add network ports display and expandable container details
- Display network ports section with table showing port name, MAC/IP addresses, and network
- Add expandable container details for user and sidecar containers with chevron toggles
- Replace native confirm() dialogs with DeleteConfirmationDialog in Regions and VDCs pages
- Add NetworkPort interface and integrate network_ports data throughout the pod workflow
- Add debug logging for network ports data in PodCard and useXCloudifyPods hook
2026-02-04 14:28:19 +10:30
coryHawkvelt a4a2d13433 fix(vdc): replace collapsible with valid table structure for network rows
Remove Collapsible components to fix invalid DOM nesting (div inside tbody).
Implement expandable rows using conditional TableRow rendering with
keyboard accessibility support. Move formatDate utility to module level.
2026-01-27 10:55:08 +10:30
coryHawkvelt 2a79d1c52f feat(networks): implement networks tab with VDC grouping
- Add full networks tab implementation replacing coming soon placeholder
- Display networks grouped by Virtual Data Center with detailed cards
- Show network VNI, CIDR, gateway, OVS bridge, and metadata
- Add network management dropdown menu with actions
- Fix useNetworks hook to extract data from wrapped API response
- Add groupNetworksByVDC utility function for network organization
- Add injected files display to container details view
2026-01-25 04:36:23 +10:30
nexgen_mirrors 3b6bf47bf6 feat(vdc): add networks tab to VDC details page with network ports
Add a new Networks tab to the Virtual Data Center details page that displays virtual networks with expandable rows showing associated network ports. Includes new hooks (useNetworksForVdc, useNetworkPorts) and API method (getNetworkPortsByNetwork) to fetch and display network data with collapsible details for each network's ports.
2026-01-02 17:34:57 +10:30
nexgen_mirrors 70895c0052 fix(api): handle OVS bridges as string array
Updated getOVSBridgesForHost to type response as string[] and safely return data.
Adjusted WorkloadHostsPage to render bridge strings directly and add Array.isArray check for robustness.
2026-01-02 15:27:29 +10:30
nexgen_mirrors 61b8e8b633 Merge branch 'main' of github.com:CoryHawkless/ai-cloud-command-center 2026-01-02 13:56:46 +10:30
nexgen_mirrors b6eb140b21 feat(vdc): implement Virtual Data Center details page
- Complete implementation of VDC details view with properties, workloads, and storage tabs
- Add tabs for viewing containers/pods, virtual machines, and storage volumes
- Implement API endpoint getWorkloadsForVirtualDataCenter to fetch workloads for a VDC
- Include loading states, error handling, and status badges for workloads and volumes
2026-01-02 13:53:29 +10:30
gpt-engineer-app[bot] 234aae3892 Show workloads in VDC details
Add Workloads section to VirtualDataCentersPage
- Fetch pods for selected VDC and display in a new Workloads card
- Filter pods by virtual_data_center_id, then map to table using ApiPod fields id, name, status, containers, created
- Include loading state and empty state handling

X-Lovable-Edit-ID: edt-08fcba7e-ea3e-4e0c-8299-2319860dc719
2025-12-03 13:18:50 +00:00
gpt-engineer-app[bot] b440f8888a Changes 2025-12-03 13:18:50 +00:00