瀏覽代碼

Enable Helm Values Tab Selectively (#3272)

* Enable Helm Values Tab Selectively

* Apply Helm Values
sdess09 2 年之前
父節點
當前提交
251f998d1c

+ 1 - 0
api/server/handlers/project/create.go

@@ -43,6 +43,7 @@ func (p *ProjectCreateHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
 		Name:                   request.Name,
 		CapiProvisionerEnabled: true,
 		SimplifiedViewEnabled:  true,
+		HelmValuesEnabled:      false,
 	}
 
 	var err error

+ 1 - 0
api/server/handlers/project/create_test.go

@@ -44,6 +44,7 @@ func TestCreateProjectSuccessful(t *testing.T) {
 		},
 		CapiProvisionerEnabled: true,
 		SimplifiedViewEnabled:  true,
+		HelmValuesEnabled:      false,
 	}
 
 	gotProject := &types.CreateProjectResponse{}

+ 2 - 0
api/types/project.go

@@ -12,6 +12,7 @@ type Project struct {
 	CapiProvisionerEnabled bool    `json:"capi_provisioner_enabled"`
 	SimplifiedViewEnabled  bool    `json:"simplified_view_enabled"`
 	AzureEnabled           bool    `json:"azure_enabled"`
+	HelmValuesEnabled      bool    `json:"helm_values_enabled"`
 }
 
 type FeatureFlags struct {
@@ -22,6 +23,7 @@ type FeatureFlags struct {
 	CapiProvisionerEnabled     string `json:"capi_provisioner_enabled,omitempty"`
 	SimplifiedViewEnabled      string `json:"simplified_view_enabled,omitempty"`
 	AzureEnabled               bool   `json:"azure_enabled,omitempty"`
+	HelmValuesEnabled          bool   `json:"helm_values_enabled,omitempty"`
 }
 
 type CreateProjectRequest struct {

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

@@ -48,6 +48,7 @@ import AnimateHeight from "react-animate-height";
 import { PartialEnvGroup, PopulatedEnvGroup } from "../../../../components/porter-form/types";
 import { BuildMethod, PorterApp } from "../types/porterApp";
 import HelmValuesTab from "./HelmValuesTab";
+import ProjectDeleteConsent from "main/home/project-settings/ProjectDeleteConsent";
 
 type Props = RouteComponentProps & {};
 
@@ -971,7 +972,7 @@ const ExpandedApp: React.FC<Props> = ({ ...props }) => {
                     value: "build-settings",
                   },
                   { label: "Settings", value: "settings" },
-                  user.email.endsWith("porter.run") && { label: "Helm values", value: "helm-values" },
+                  (user.email.endsWith("porter.run") || currentProject.helm_values_enabled) && { label: "Helm values", value: "helm-values" },
                 ].filter((x) => x)}
                 currentTab={selectedTab}
                 setCurrentTab={(tab: string) => {

+ 1 - 0
dashboard/src/shared/types.tsx

@@ -270,6 +270,7 @@ export interface ProjectType {
   stacks_enabled: boolean;
   simplified_view_enabled: boolean;
   azure_enabled: boolean;
+  helm_values_enabled: boolean;
   roles: {
     id: number;
     kind: string;

+ 2 - 0
internal/models/project.go

@@ -66,6 +66,7 @@ type Project struct {
 	CapiProvisionerEnabled bool
 	SimplifiedViewEnabled  bool
 	AzureEnabled           bool
+	HelmValuesEnabled      bool
 }
 
 // ToProjectType generates an external types.Project to be shared over REST
@@ -88,5 +89,6 @@ func (p *Project) ToProjectType() *types.Project {
 		CapiProvisionerEnabled: p.CapiProvisionerEnabled,
 		SimplifiedViewEnabled:  p.SimplifiedViewEnabled,
 		AzureEnabled:           p.AzureEnabled,
+		HelmValuesEnabled:      p.HelmValuesEnabled,
 	}
 }