MCPcopy
hub / github.com/cyclops-ui/cyclops / ResourcesForModule

Method ResourcesForModule

cyclops-ctrl/internal/controller/modules.go:640–696  ·  view source on GitHub ↗
(ctx *gin.Context)

Source from the content-addressed store, hash-verified

638}
639
640func (m *Modules) ResourcesForModule(ctx *gin.Context) {
641 ctx.Header("Access-Control-Allow-Origin", "*")
642
643 module, err := m.kubernetesClient.GetModule(ctx.Param("name"))
644 if err != nil {
645 ctx.JSON(http.StatusBadRequest, dto.NewError("Error mapping module request", err.Error()))
646 return
647 }
648
649 templateVersion := module.Status.TemplateResolvedVersion
650 if len(templateVersion) == 0 {
651 templateVersion = module.Spec.TemplateRef.Version
652 }
653
654 t, err := m.templatesRepo.GetTemplate(
655 module.Spec.TemplateRef.URL,
656 module.Spec.TemplateRef.Path,
657 templateVersion,
658 module.Status.TemplateResolvedVersion,
659 module.Spec.TemplateRef.SourceType,
660 )
661 if err != nil {
662 ctx.JSON(http.StatusInternalServerError, dto.NewError("Error fetching template", err.Error()))
663 return
664 }
665
666 resources, err := m.kubernetesClient.GetResourcesForModule(ctx.Param("name"))
667 if err != nil {
668 fmt.Println(err)
669 ctx.JSON(http.StatusInternalServerError, dto.NewError("Error fetching module resources", err.Error()))
670 return
671 }
672
673 manifest, err := m.renderer.HelmTemplate(*module, t)
674 if err != nil {
675 fmt.Println("error rendering manifest", err)
676 ctx.JSON(http.StatusInternalServerError, dto.NewError("Error rendering Module manifest", err.Error()))
677 return
678 }
679
680 resources, err = m.kubernetesClient.GetDeletedResources(resources, manifest, module.Spec.TargetNamespace)
681 if err != nil {
682 fmt.Println(err)
683 ctx.JSON(http.StatusInternalServerError, dto.NewError("Error fetching deleted module resources", err.Error()))
684 return
685 }
686
687 sort.Slice(resources, func(i, j int) bool {
688 if resources[i].GetGroupVersionKind() != resources[j].GetGroupVersionKind() {
689 return resources[i].GetGroupVersionKind() < resources[j].GetGroupVersionKind()
690 }
691
692 return resources[i].GetName() < resources[j].GetName()
693 })
694
695 ctx.JSON(http.StatusOK, resources)
696}
697

Callers

nothing calls this directly

Calls 9

ErrorMethod · 0.80
PrintlnMethod · 0.80
GetModuleMethod · 0.65
GetTemplateMethod · 0.65
GetResourcesForModuleMethod · 0.65
GetDeletedResourcesMethod · 0.65
HelmTemplateMethod · 0.45
GetGroupVersionKindMethod · 0.45
GetNameMethod · 0.45

Tested by

no test coverage detected