Ver Fonte

Merge branch 'master' of https://github.com/porter-dev/porter into 0.8.0-live-deployment-updates

jusrhee há 4 anos atrás
pai
commit
aa7720eb06

+ 3 - 1
dashboard/src/main/home/cluster-dashboard/chart/Chart.tsx

@@ -99,7 +99,9 @@ const Chart: React.FunctionComponent<Props> = ({
         let urlParams = new URLSearchParams(location.search);
         let cluster = urlParams.get("cluster");
         let route = `${match.url}/${cluster}/${chart.namespace}/${chart.name}`;
-        pushFiltered({ location, history }, route, ["project_id"]);
+        pushFiltered({ location, history }, route, ["project_id"], {
+          chart_revision: chart.version,
+        });
       }}
     >
       <Title>

+ 10 - 28
dashboard/src/main/home/cluster-dashboard/expanded-chart/ExpandedChartWrapper.tsx

@@ -5,7 +5,7 @@ import { RouteComponentProps, withRouter } from "react-router";
 
 import { ChartType, StorageType } from "shared/types";
 import api from "shared/api";
-import { pushFiltered } from "shared/routing";
+import { getQueryParam, pushFiltered } from "shared/routing";
 import ExpandedJobChart from "./ExpandedJobChart";
 import ExpandedChart from "./ExpandedChart";
 import Loading from "components/Loading";
@@ -34,42 +34,24 @@ class ExpandedChartWrapper extends Component<PropsType, StateType> {
     let { currentProject, currentCluster } = this.context;
     if (currentProject && currentCluster) {
       // TODO: add query for retrieving max revision #
+      const lastCheckedRevision = getQueryParam(this.props, "chart_revision");
+
       api
-        .getRevisions(
+        .getChart(
           "<token>",
           {
             namespace: namespace,
             cluster_id: currentCluster.id,
             storage: StorageType.Secret,
           },
-          { id: currentProject.id, name: chartName }
+          {
+            name: chartName,
+            revision: Number(lastCheckedRevision),
+            id: currentProject.id,
+          }
         )
         .then((res) => {
-          res.data.sort((a: ChartType, b: ChartType) => {
-            return -(a.version - b.version);
-          });
-          let maxVersion = res.data[0].version;
-          api
-            .getChart(
-              "<token>",
-              {
-                namespace: namespace,
-                cluster_id: currentCluster.id,
-                storage: StorageType.Secret,
-              },
-              {
-                name: chartName,
-                revision: maxVersion,
-                id: currentProject.id,
-              }
-            )
-            .then((res) => {
-              this.setState({ currentChart: res.data, loading: false });
-            })
-            .catch((err) => {
-              console.log("err", err.response.data);
-              this.setState({ loading: false });
-            });
+          this.setState({ currentChart: res.data, loading: false });
         })
         .catch((err) => {
           console.log("err", err.response.data);

+ 12 - 1
server/api/release_handler.go

@@ -16,6 +16,7 @@ import (
 	"github.com/porter-dev/porter/internal/kubernetes/prometheus"
 	"github.com/porter-dev/porter/internal/models"
 	"github.com/porter-dev/porter/internal/templater/parser"
+	"helm.sh/helm/v3/pkg/chart"
 	"helm.sh/helm/v3/pkg/release"
 	v1 "k8s.io/api/core/v1"
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -71,13 +72,23 @@ func (app *App) HandleListReleases(w http.ResponseWriter, r *http.Request) {
 	}
 
 	releases, err := agent.ListReleases(form.Namespace, form.ListFilter)
+	var releaseList []*release.Release
+	// Clean up unused properties, these values are unnecesary to display the frontend rn
+	for _, r := range releases {
+		r.Chart.Files = []*chart.File{}
+		r.Chart.Templates = []*chart.File{}
+		r.Manifest = ""
+		r.Chart.Values = nil
+		r.Info.Notes = ""
+		releaseList = append(releaseList, r)
+	}
 
 	if err != nil {
 		app.handleErrorRead(err, ErrReleaseReadData, w)
 		return
 	}
 
-	if err := json.NewEncoder(w).Encode(releases); err != nil {
+	if err := json.NewEncoder(w).Encode(releaseList); err != nil {
 		app.handleErrorFormDecoding(err, ErrReleaseDecode, w)
 		return
 	}