fix: improve setup error handling and health endpoint
- Add /api/v1/health endpoint for web app compatibility - Add detailed error logging to setup handler - Show actual error messages when config save fails - Helps debug permission and filesystem issues
This commit is contained in:
@@ -23,10 +23,13 @@ func startWelcomeModeServer() {
|
|||||||
// Add CORS middleware
|
// Add CORS middleware
|
||||||
router.Use(middleware.CORSMiddleware())
|
router.Use(middleware.CORSMiddleware())
|
||||||
|
|
||||||
// Health check
|
// Health check (both endpoints for compatibility)
|
||||||
router.GET("/health", func(c *gin.Context) {
|
router.GET("/health", func(c *gin.Context) {
|
||||||
c.JSON(200, gin.H{"status": "waiting for configuration"})
|
c.JSON(200, gin.H{"status": "waiting for configuration"})
|
||||||
})
|
})
|
||||||
|
router.GET("/api/v1/health", func(c *gin.Context) {
|
||||||
|
c.JSON(200, gin.H{"status": "waiting for configuration"})
|
||||||
|
})
|
||||||
|
|
||||||
// Welcome page with setup instructions
|
// Welcome page with setup instructions
|
||||||
router.GET("/", setupHandler.ShowSetupPage)
|
router.GET("/", setupHandler.ShowSetupPage)
|
||||||
|
|||||||
@@ -291,13 +291,15 @@ LATEST_AGENT_VERSION=0.1.16`,
|
|||||||
// Write configuration to persistent location
|
// Write configuration to persistent location
|
||||||
configDir := "/app/config"
|
configDir := "/app/config"
|
||||||
if err := os.MkdirAll(configDir, 0755); err != nil {
|
if err := os.MkdirAll(configDir, 0755); err != nil {
|
||||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to create config directory"})
|
fmt.Printf("Failed to create config directory: %v\n", err)
|
||||||
|
c.JSON(http.StatusInternalServerError, gin.H{"error": fmt.Sprintf("Failed to create config directory: %v", err)})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
envPath := filepath.Join(configDir, ".env")
|
envPath := filepath.Join(configDir, ".env")
|
||||||
if err := os.WriteFile(envPath, []byte(envContent), 0600); err != nil {
|
if err := os.WriteFile(envPath, []byte(envContent), 0600); err != nil {
|
||||||
c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to save configuration"})
|
fmt.Printf("Failed to save configuration: %v\n", err)
|
||||||
|
c.JSON(http.StatusInternalServerError, gin.H{"error": fmt.Sprintf("Failed to save configuration: %v", err)})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user