(ctx *gin.Context)
| 638 | } |
| 639 | |
| 640 | func (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 |
nothing calls this directly
no test coverage detected