diff --git a/deepfence_server/apiDocs/operation.go b/deepfence_server/apiDocs/operation.go index bf689646f8..fb6f7251eb 100644 --- a/deepfence_server/apiDocs/operation.go +++ b/deepfence_server/apiDocs/operation.go @@ -914,4 +914,10 @@ func (d *OpenAPIDocs) AddCompletionOperations() { d.AddOperation("completeComplianceInfo", http.MethodPost, "/deepfence/complete/compliance", "Get Completion for compliance fields", "Complete compliance info", http.StatusOK, []string{tagCompletion}, bearerToken, new(CompletionNodeFieldReq), new(CompletionNodeFieldRes)) + d.AddOperation("completePodInfo", http.MethodPost, "/deepfence/complete/pod", + "Get Completion for Pod fields", "Complete Pod info", + http.StatusOK, []string{tagCompletion}, bearerToken, new(CompletionNodeFieldReq), new(CompletionNodeFieldRes)) + d.AddOperation("completeContainer", http.MethodPost, "/deepfence/complete/container", + "Get Completion for Container fields", "Complete Container info", + http.StatusOK, []string{tagCompletion}, bearerToken, new(CompletionNodeFieldReq), new(CompletionNodeFieldRes)) } diff --git a/deepfence_server/handler/completion.go b/deepfence_server/handler/completion.go index a7b9993aaa..2f4c6c9b1d 100644 --- a/deepfence_server/handler/completion.go +++ b/deepfence_server/handler/completion.go @@ -21,13 +21,23 @@ func (h *Handler) CompleteVulnerabilityInfo(w http.ResponseWriter, r *http.Reque func (h *Handler) CompleteHostInfo(w http.ResponseWriter, r *http.Request) { genericCompleteInfoHandler[model.Host](w, r, h) } + func (h *Handler) CompleteComplianceInfo(w http.ResponseWriter, r *http.Request) { genericCompleteInfoHandler[model.ComplianceRule](w, r, h) } + func (h *Handler) CompleteCloudComplianceInfo(w http.ResponseWriter, r *http.Request) { genericCompleteInfoHandler[model.CloudCompliance](w, r, h) } +func (h *Handler) CompletePodInfo(w http.ResponseWriter, r *http.Request) { + genericCompleteInfoHandler[model.Pod](w, r, h) +} + +func (h *Handler) CompleteContainerInfo(w http.ResponseWriter, r *http.Request) { + genericCompleteInfoHandler[model.Container](w, r, h) +} + func genericCompleteInfoHandler[T reporters.Cypherable](w http.ResponseWriter, r *http.Request, h *Handler) { defer r.Body.Close() var req completion.CompletionNodeFieldReq diff --git a/deepfence_server/router/router.go b/deepfence_server/router/router.go index 7d4d3e14c6..c5de581d52 100644 --- a/deepfence_server/router/router.go +++ b/deepfence_server/router/router.go @@ -264,6 +264,8 @@ func SetupRoutes(r *chi.Mux, serverPort string, serveOpenapiDocs bool, ingestC c r.Post("/host", dfHandler.CompleteHostInfo) r.Post("/cloud-compliance", dfHandler.CompleteCloudComplianceInfo) r.Post("/compliance", dfHandler.CompleteComplianceInfo) + r.Post("/pod", dfHandler.CompletePodInfo) + r.Post("/container", dfHandler.CompleteContainerInfo) }) r.Route("/search", func(r chi.Router) {