Make flags on wild-setup-services consistent with wild-service-setup.
This commit is contained in:
@@ -4,6 +4,7 @@ Bootloading
|
||||
certificaterequests
|
||||
certmanager
|
||||
containo
|
||||
controlplane
|
||||
coredns
|
||||
crds
|
||||
dnsmasq
|
||||
@@ -21,6 +22,7 @@ KUBECONFIG
|
||||
kubernetescrd
|
||||
kustomization
|
||||
letsencrypt
|
||||
machineconfig
|
||||
metallb
|
||||
NEXTCLOUD
|
||||
nftables
|
||||
@@ -37,6 +39,8 @@ pgvector
|
||||
rcode
|
||||
restic
|
||||
SAMEORIGIN
|
||||
talosctl
|
||||
TALOSCTL
|
||||
traefik
|
||||
USEPATH
|
||||
vxlan
|
||||
|
||||
@@ -39,7 +39,7 @@ while [[ $# -gt 0 ]]; do
|
||||
echo "You can also run these components individually:"
|
||||
echo " - wild-setup-scaffold [--update]"
|
||||
echo " - wild-setup-cluster [--skip-installer] [--skip-hardware] [--skip-configs]"
|
||||
echo " - wild-setup-services [--skip-install]"
|
||||
echo " - wild-setup-services [--fetch] [--no-deploy]"
|
||||
echo ""
|
||||
echo "For detailed options for each component, use:"
|
||||
echo " wild-setup-scaffold --help"
|
||||
|
||||
@@ -5,27 +5,34 @@ set -o pipefail
|
||||
|
||||
# Parse arguments
|
||||
|
||||
SKIP_INSTALL=false
|
||||
FETCH=false
|
||||
NO_DEPLOY=false
|
||||
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case $1 in
|
||||
--skip-install)
|
||||
SKIP_INSTALL=true
|
||||
--fetch)
|
||||
FETCH=true
|
||||
shift
|
||||
;;
|
||||
--no-deploy|--skip-install)
|
||||
NO_DEPLOY=true
|
||||
shift
|
||||
;;
|
||||
-h|--help)
|
||||
echo "Usage: $0 [options]"
|
||||
echo ""
|
||||
echo "Install Kubernetes cluster services (Phase 4)."
|
||||
echo "Set up all Kubernetes cluster services (Phase 4)."
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " --skip-install Generate service configs but skip installation"
|
||||
echo " --fetch Fetch fresh templates for all services before setup"
|
||||
echo " --no-deploy Configure all services but skip deployment"
|
||||
echo " --skip-install Alias for --no-deploy (deprecated)"
|
||||
echo " -h, --help Show this help message"
|
||||
echo ""
|
||||
echo "This script will:"
|
||||
echo " - Generate cluster service configurations"
|
||||
echo " - Install core services (MetalLB, Traefik, cert-manager, etc.)"
|
||||
echo " - Each service will prompt for its required configuration"
|
||||
echo " - Set up core services in dependency order (MetalLB, Traefik, cert-manager, etc.)"
|
||||
echo " - Each service validates its prerequisites before deployment"
|
||||
echo " - Fail-fast with clear recovery instructions on errors"
|
||||
echo ""
|
||||
echo "Prerequisites:"
|
||||
echo " - Run 'wild-setup-cluster' to set up cluster infrastructure"
|
||||
@@ -83,12 +90,21 @@ SERVICES_TO_INSTALL=(
|
||||
INSTALLED_COUNT=0
|
||||
FAILED_COUNT=0
|
||||
|
||||
if [ "${SKIP_INSTALL}" = false ]; then
|
||||
# Build service setup command flags
|
||||
SERVICE_FLAGS=""
|
||||
if [ "$FETCH" = true ]; then
|
||||
SERVICE_FLAGS="$SERVICE_FLAGS --fetch"
|
||||
fi
|
||||
if [ "$NO_DEPLOY" = true ]; then
|
||||
SERVICE_FLAGS="$SERVICE_FLAGS --no-deploy"
|
||||
fi
|
||||
|
||||
if [ "$NO_DEPLOY" = false ]; then
|
||||
for service in "${SERVICES_TO_INSTALL[@]}"; do
|
||||
echo ""
|
||||
print_header "Setting up service: $service"
|
||||
|
||||
if wild-service-setup "$service" --fetch; then
|
||||
if wild-service-setup "$service" $SERVICE_FLAGS; then
|
||||
print_success "$service setup completed"
|
||||
INSTALLED_COUNT=$((INSTALLED_COUNT + 1))
|
||||
else
|
||||
@@ -104,16 +120,34 @@ if [ "${SKIP_INSTALL}" = false ]; then
|
||||
print_success "All $INSTALLED_COUNT services set up successfully!"
|
||||
else
|
||||
print_error "Service setup stopped after $service failure"
|
||||
print_info "Fix the issue and resume with: wild-service-setup $service --fetch"
|
||||
print_info "Fix the issue and resume with: wild-service-setup $service $SERVICE_FLAGS"
|
||||
print_info "Then continue with remaining services or re-run wild-setup-services"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
print_info "Skipping cluster services installation (--skip-install specified)"
|
||||
print_info "You can install them later with:"
|
||||
print_info "Skipping cluster services deployment (--no-deploy specified)"
|
||||
print_info "Services will be configured but not deployed to cluster."
|
||||
for service in "${SERVICES_TO_INSTALL[@]}"; do
|
||||
print_info " wild-service-setup $service --fetch"
|
||||
echo ""
|
||||
print_header "Configuring service: $service"
|
||||
|
||||
if wild-service-setup "$service" $SERVICE_FLAGS; then
|
||||
print_success "$service configuration completed"
|
||||
INSTALLED_COUNT=$((INSTALLED_COUNT + 1))
|
||||
else
|
||||
print_error "$service configuration failed"
|
||||
FAILED_COUNT=$((FAILED_COUNT + 1))
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $FAILED_COUNT -eq 0 ]; then
|
||||
print_success "All $INSTALLED_COUNT services configured successfully!"
|
||||
print_info "To deploy them later, run: wild-setup-services"
|
||||
else
|
||||
print_error "Service configuration stopped after $service failure"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Summary output
|
||||
|
||||
@@ -91,7 +91,7 @@ Wild Cloud provides 34+ command-line tools (all prefixed with `wild-`) for manag
|
||||
|
||||
**`wild-setup-services`** - Install cluster services (Phase 4)
|
||||
- Manages MetalLB, Traefik, cert-manager, etc.
|
||||
- Options: `--skip-install` for config generation only
|
||||
- Options: `--fetch` for fresh templates, `--no-deploy` for config-only
|
||||
- **Usage**: `wild-setup-services [options]`
|
||||
- **Requires**: Working Kubernetes cluster
|
||||
|
||||
|
||||
@@ -131,7 +131,9 @@ Interactive process for each node:
|
||||
## Phase 4: Cluster Services Installation
|
||||
|
||||
### Services Deployment Process
|
||||
**Command**: `wild-setup-services`
|
||||
**Command**: `wild-setup-services [options]`
|
||||
- **`--fetch`**: Fetch fresh templates before setup
|
||||
- **`--no-deploy`**: Configure only, skip deployment
|
||||
|
||||
**New Architecture**: Per-service atomic operations
|
||||
- Uses `wild-service-setup <service>` for each service in dependency order
|
||||
|
||||
@@ -49,7 +49,13 @@ Internet → External DNS → MetalLB LoadBalancer → Traefik → Kubernetes Se
|
||||
### Complete Infrastructure Setup
|
||||
```bash
|
||||
# All services with fresh templates (recommended for first-time setup)
|
||||
wild-setup-services --fetch
|
||||
|
||||
# All services using existing templates (fastest)
|
||||
wild-setup-services
|
||||
|
||||
# Configure all services but don't deploy (for planning)
|
||||
wild-setup-services --no-deploy
|
||||
```
|
||||
|
||||
### Individual Service Management
|
||||
|
||||
Reference in New Issue
Block a user