()
| 55 | } |
| 56 | |
| 57 | func (h *Handler) Start() error { |
| 58 | gin.SetMode(gin.DebugMode) |
| 59 | |
| 60 | templatesController := controller.NewTemplatesController(h.templatesRepo, h.k8sClient, h.telemetryClient) |
| 61 | modulesController := controller.NewModulesController(h.templatesRepo, h.k8sClient, h.renderer, h.gitWriteClient, h.moduleTargetNamespace, h.telemetryClient, h.monitor) |
| 62 | clusterController := controller.NewClusterController(h.k8sClient) |
| 63 | helmController := controller.NewHelmController(h.k8sClient, h.releaseClient, h.telemetryClient) |
| 64 | |
| 65 | h.router = gin.New() |
| 66 | |
| 67 | server := sse.NewServer(h.k8sClient, h.releaseClient) |
| 68 | wsServer := ws.NewServer(h.k8sClient) |
| 69 | |
| 70 | h.router.GET("/exec/:podNamespace/:podName/:containerName", wsServer.ExecCommand) |
| 71 | |
| 72 | h.router.GET("/stream/resources/:name", sse.HeadersMiddleware(), server.Resources) |
| 73 | h.router.GET("/stream/releases/:namespace/:name/resources", sse.HeadersMiddleware(), server.ReleaseResources) |
| 74 | h.router.POST("/stream/resources", sse.HeadersMiddleware(), server.SingleResource) |
| 75 | |
| 76 | h.router.GET("/ping", h.pong()) |
| 77 | |
| 78 | // templates |
| 79 | h.router.GET("/templates", templatesController.GetTemplate) |
| 80 | h.router.GET("/templates/initial", templatesController.GetTemplateInitialValues) |
| 81 | |
| 82 | h.router.GET("/templates/revisions", templatesController.GetTemplateRevisions) |
| 83 | |
| 84 | // templates store |
| 85 | h.router.GET("/templates/store", templatesController.ListTemplatesStore) |
| 86 | h.router.PUT("/templates/store", templatesController.CreateTemplatesStore) |
| 87 | h.router.POST("/templates/store/:name", templatesController.EditTemplatesStore) |
| 88 | h.router.DELETE("/templates/store/:name", templatesController.DeleteTemplatesStore) |
| 89 | |
| 90 | // modules |
| 91 | h.router.GET("/modules/:name", modulesController.GetModule) |
| 92 | h.router.GET("/modules/list", modulesController.ListModules) |
| 93 | h.router.DELETE("/modules/:name", modulesController.DeleteModule) |
| 94 | h.router.POST("/modules/new", modulesController.CreateModule) |
| 95 | h.router.POST("/modules/update", modulesController.UpdateModule) |
| 96 | h.router.POST("/modules/rollback/manifest", modulesController.HistoryEntryManifest) |
| 97 | h.router.POST("/modules/rollback", modulesController.RollbackModule) |
| 98 | h.router.GET("/modules/:name/raw", modulesController.GetRawModuleManifest) |
| 99 | h.router.POST("/modules/:name/reconcile", modulesController.ReconcileModule) |
| 100 | h.router.GET("/modules/:name/history", modulesController.GetModuleHistory) |
| 101 | h.router.POST("/modules/:name/manifest", modulesController.Manifest) |
| 102 | h.router.GET("/modules/:name/currentManifest", modulesController.CurrentManifest) |
| 103 | h.router.GET("/modules/:name/resources", modulesController.ResourcesForModule) |
| 104 | h.router.GET("/modules/:name/template", modulesController.Template) |
| 105 | h.router.GET("/modules/:name/helm-template", modulesController.HelmTemplate) |
| 106 | //h.router.POST("/modules/resources", modulesController.ModuleToResources) |
| 107 | |
| 108 | h.router.POST("/modules/mcp/install", modulesController.InstallMCPServer) |
| 109 | h.router.GET("/modules/mcp/status", modulesController.MCPServerStatus) |
| 110 | |
| 111 | h.router.GET("/resources/pods/:namespace/:name/:container/logs", modulesController.GetLogs) |
| 112 | h.router.GET("/resources/pods/:namespace/:name/:container/logs/stream", sse.HeadersMiddleware(), modulesController.GetLogsStream) |
| 113 | h.router.GET("/resources/pods/:namespace/:name/:container/logs/download", modulesController.DownloadLogs) |
| 114 |
no test coverage detected