Pārlūkot izejas kodu

hotfix for job run (#3017)

Feroze Mohideen 3 gadi atpakaļ
vecāks
revīzija
60400e9c22

+ 33 - 2
dashboard/src/main/home/app-dashboard/expanded-app/ExpandedApp.tsx

@@ -144,6 +144,7 @@ const ExpandedApp: React.FC<Props> = ({ ...props }) => {
       const newAppData = {
         app: resPorterApp?.data,
         chart: resChartData?.data,
+        releaseChart: releaseChartData?.data,
       };
       const porterJson = await fetchPorterYamlContent(
         "porter.yaml",
@@ -371,6 +372,7 @@ const ExpandedApp: React.FC<Props> = ({ ...props }) => {
     }
   };
 
+  // todo: keep a history of the release job chart, difficult because they can be upgraded asynchronously
   const updateComponents = async (currentChart: ChartType) => {
     setLoading(true);
     try {
@@ -386,7 +388,7 @@ const ExpandedApp: React.FC<Props> = ({ ...props }) => {
         }
       );
       setComponents(res.data.Objects);
-      updateServicesAndEnvVariables(currentChart, porterJson);
+      updateServicesAndEnvVariables(currentChart, undefined, porterJson);
       setLoading(false);
     } catch (error) {
       console.log(error);
@@ -427,6 +429,35 @@ const ExpandedApp: React.FC<Props> = ({ ...props }) => {
       setAppData({ ...appData, chart: updatedChart });
     }
 
+    // let releaseChartData;
+    // // get the release chart
+    // try {
+    //   releaseChartData = await api.getChart(
+    //     "<token>",
+    //     {},
+    //     {
+    //       id: currentProject.id,
+    //       namespace: `porter-stack-${chart.name}`,
+    //       cluster_id: currentCluster.id,
+    //       name: `${chart.name}-r`,
+    //       revision: 0,
+    //     }
+    //   );
+    // } catch (err) {
+    //   // do nothing, unable to find release chart
+    //   console.log(err);
+    // }
+
+    // const releaseChart = releaseChartData?.data;
+
+    // if (appData != null && updatedChart != null) {
+    //   if (releaseChart != null) {
+    //     setAppData({ ...appData, chart: updatedChart, releaseChart });
+    //   } else {
+    //     setAppData({ ...appData, chart: updatedChart });
+    //   }
+    // }
+
     updateComponents(updatedChart).finally(() => setIsLoadingChartData(false));
   };
 
@@ -620,7 +651,7 @@ const ExpandedApp: React.FC<Props> = ({ ...props }) => {
                 }
                 setReleaseJob(x as ReleaseService[]);
               }}
-              chart={appData.chart}
+              chart={appData.releaseChart}
               services={releaseJob}
               limitOne={true}
               customOnClick={() => {

+ 2 - 1
dashboard/src/main/home/app-dashboard/new-app-flow/serviceTypes.ts

@@ -261,7 +261,7 @@ const ReleaseService = {
         ram: ServiceField.string('256', porterJson?.release?.config?.resources?.requests?.memory ? porterJson?.release?.config?.resources?.requests?.memory.replace('Mi', '') : undefined),
         startCommand: ServiceField.string('', porterJson?.release?.run),
         type: 'release',
-        canDelete: true,
+        canDelete: porterJson?.release == null,
     }),
 
     serialize: (service: ReleaseService) => {
@@ -275,6 +275,7 @@ const ReleaseService = {
                     memory: service.ram.value + 'Mi',
                 }
             },
+            paused: true, // this makes sure the release isn't run immediately. it is flipped when the porter apply runs the release in the GHA
         }
     },