Prechádzať zdrojové kódy

Merge pull request #495 from porter-dev/webhook-toggle

Webhook toggle
sunguroku 5 rokov pred
rodič
commit
e3b9af689d

+ 5 - 0
dashboard/src/components/values-form/ValuesWrapper.tsx

@@ -38,12 +38,17 @@ export default class ValuesWrapper extends Component<PropsType, StateType> {
           section.contents.forEach((item: FormElement, i: number) => {
           section.contents.forEach((item: FormElement, i: number) => {
             // If no name is assigned use values.yaml variable as identifier
             // If no name is assigned use values.yaml variable as identifier
             let key = item.name || item.variable;
             let key = item.name || item.variable;
+            
             let def =
             let def =
               item.settings && item.settings.unit
               item.settings && item.settings.unit
                 ? `${item.settings.default}${item.settings.unit}`
                 ? `${item.settings.default}${item.settings.unit}`
                 : item.settings.default;
                 : item.settings.default;
             def = (item.value && item.value[0]) || def;
             def = (item.value && item.value[0]) || def;
 
 
+            if (item.type === 'checkbox') {
+              def = item.value[0]
+            }
+
             // Handle add to list of required fields
             // Handle add to list of required fields
             if (item.required) {
             if (item.required) {
               key && this.requiredFields.push(key);
               key && this.requiredFields.push(key);

+ 4 - 3
dashboard/src/main/home/launch/Launch.tsx

@@ -61,9 +61,10 @@ export default class Templates extends Component<PropsType, StateType> {
       )
       )
       .then((res) => {
       .then((res) => {
         this.setState({ applicationTemplates: res.data, error: false }, () => {
         this.setState({ applicationTemplates: res.data, error: false }, () => {
-          this.state.applicationTemplates.sort((a, b) =>
-            a.version > b.version ? 1 : -1
-          );
+          let preferredOrder = ['web', 'worker', 'job']
+          this.state.applicationTemplates.sort((a, b) => {
+            return preferredOrder.indexOf(a.name) - preferredOrder.indexOf(b.name)
+          });
           this.setState({
           this.setState({
             loading: false,
             loading: false,
           });
           });

+ 9 - 0
server/api/release_handler.go

@@ -677,6 +677,15 @@ func (app *App) HandleReleaseDeployWebhook(w http.ResponseWriter, r *http.Reques
 	rel, err := agent.GetRelease(form.Name, 0)
 	rel, err := agent.GetRelease(form.Name, 0)
 	rel.Config["image"] = image
 	rel.Config["image"] = image
 
 
+	if rel.Config["auto_deploy"] == false {
+		app.sendExternalError(err, http.StatusInternalServerError, HTTPError{
+			Code:   ErrReleaseDeploy,
+			Errors: []string{"Deploy webhook is disabled for this deployment."},
+		}, w)
+
+		return
+	} 
+
 	registries, err := app.Repo.Registry.ListRegistriesByProjectID(uint(form.ReleaseForm.Cluster.ProjectID))
 	registries, err := app.Repo.Registry.ListRegistriesByProjectID(uint(form.ReleaseForm.Cluster.ProjectID))
 
 
 	if err != nil {
 	if err != nil {