7cd434aabffa9f55a9c11360f00794759a4bcf44
- Updated NodeDiscover to accept an optional subnet parameter, with auto-detection of local networks if none is provided. - Removed support for IP list format in NodeDiscover request body. - Implemented discovery cancellation functionality with NodeDiscoveryCancel endpoint. - Improved error handling and response messages for better clarity. feat(cluster): Add operation tracking for cluster bootstrap process - Integrated operations manager into cluster manager for tracking bootstrap progress. - Refactored Bootstrap method to run asynchronously with detailed progress updates. - Added methods to wait for various bootstrap steps (etcd health, VIP assignment, control plane readiness, etc.). fix(discovery): Optimize node discovery process and improve maintenance mode detection - Enhanced node discovery to run in parallel with a semaphore to limit concurrent scans. - Updated probeNode to detect maintenance mode more reliably. - Added functions to expand CIDR notation into individual IP addresses and retrieve local network interfaces. refactor(node): Update node manager to handle instance-specific configurations - Modified NewManager to accept instanceName for tailored talosconfig usage. - Improved hardware detection logic to handle maintenance mode scenarios. feat(operations): Implement detailed bootstrap progress tracking - Introduced BootstrapProgress struct to track and report the status of bootstrap operations. - Updated operation management to include bootstrap-specific details. fix(tools): Improve talosctl command execution with context and error handling - Added context with timeout to talosctl commands to prevent hanging on unreachable nodes. - Enhanced error handling for version retrieval in maintenance mode.
Wild Central API
The Wild Central API is a lightweight service that runs on a local machine (e.g., a Raspberry Pi) to manage Wild Cloud instances on the local network. It provides an interface for users to interact with and manage their Wild Cloud environments.
Development
Start the development server:
make dev
The API will be available at http://localhost:5055.
Environment Variables
WILD_API_DATA_DIR- Directory for instance data (default:/var/lib/wild-central)WILD_DIRECTORY- Path to Wild Cloud apps directory (default:/opt/wild-cloud/apps)WILD_API_DNSMASQ_CONFIG_PATH- Path to dnsmasq config file (default:/etc/dnsmasq.d/wild-cloud.conf)WILD_CORS_ORIGINS- Comma-separated list of allowed CORS origins for production (default: localhost development origins)
API Endpoints
The API provides the following endpoint categories:
- Instances - Create, list, get, and delete Wild Cloud instances
- Configuration - Manage instance config.yaml
- Secrets - Manage instance secrets.yaml (redacted by default)
- Nodes - Discover, configure, and manage cluster nodes
- Cluster - Bootstrap and manage Talos/Kubernetes clusters
- Services - Install and manage base infrastructure services
- Apps - Deploy and manage Wild Cloud applications
- PXE - Manage PXE boot assets for network installation
- Operations - Track and stream long-running operations
- Utilities - Helper functions and status endpoints
- dnsmasq - Configure and manage dnsmasq for network services
See the API handler files in internal/api/v1/ for detailed endpoint documentation.
Languages
Go
90.2%
Shell
9.5%
Makefile
0.3%