2
0
Эх сурвалжийг харах

link applications from env group in stack handler

Alexander Belanger 3 жил өмнө
parent
commit
a11a11c930

+ 11 - 1
api/server/handlers/stack/create.go

@@ -117,7 +117,7 @@ func (p *StackCreateHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
 	envGroupDeployErrors := make([]string, 0)
 
 	for _, envGroup := range req.EnvGroups {
-		_, err := envgroup.CreateEnvGroup(k8sAgent, types.ConfigMapInput{
+		cm, err := envgroup.CreateEnvGroup(k8sAgent, types.ConfigMapInput{
 			Name:            envGroup.Name,
 			Namespace:       namespace,
 			Variables:       envGroup.Variables,
@@ -127,6 +127,16 @@ func (p *StackCreateHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
 		if err != nil {
 			envGroupDeployErrors = append(envGroupDeployErrors, fmt.Sprintf("error creating env group %s", envGroup.Name))
 		}
+
+		// add each of the linked applications to the env group
+		for _, appName := range envGroup.LinkedApplications {
+
+			cm, err = k8sAgent.AddApplicationToVersionedConfigMap(cm, appName)
+
+			if err != nil {
+				envGroupDeployErrors = append(envGroupDeployErrors, fmt.Sprintf("error creating env group %s", envGroup.Name))
+			}
+		}
 	}
 
 	revision := &stack.Revisions[0]

+ 4 - 1
api/server/handlers/stack/rollback.go

@@ -1,6 +1,7 @@
 package stack
 
 import (
+	"fmt"
 	"net/http"
 	"strings"
 
@@ -122,9 +123,11 @@ func (p *StackRollbackHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
 	if len(rollbackErrors) > 0 {
 		revision.Status = string(types.StackRevisionStatusFailed)
 		revision.Reason = "RollbackError"
-		revision.Message = strings.Join(rollbackErrors, " , ")
+		revision.Message = fmt.Sprintf("Error while rolling back to version %d: %s", req.TargetRevision, strings.Join(rollbackErrors, " , "))
 	} else {
 		revision.Status = string(types.StackRevisionStatusDeployed)
+		revision.Reason = "Rollback"
+		revision.Message = fmt.Sprintf("The stack was rolled back to version %d", req.TargetRevision)
 	}
 
 	revision, err = p.Repo().Stack().UpdateStackRevision(revision)

+ 4 - 1
api/server/handlers/stack/update_source_put.go

@@ -1,6 +1,7 @@
 package stack
 
 import (
+	"fmt"
 	"net/http"
 	"strings"
 
@@ -130,9 +131,11 @@ func (p *StackPutSourceConfigHandler) ServeHTTP(w http.ResponseWriter, r *http.R
 	if len(deployErrs) > 0 {
 		revision.Status = string(types.StackRevisionStatusFailed)
 		revision.Reason = "DeployError"
-		revision.Message = strings.Join(deployErrs, " , ")
+		revision.Message = fmt.Sprintf("Error while updating source configuration: %s", strings.Join(deployErrs, " , "))
 	} else {
 		revision.Status = string(types.StackRevisionStatusDeployed)
+		revision.Reason = "SourceConfigUpdate"
+		revision.Message = fmt.Sprintf("The source configuration was updated")
 	}
 
 	revision, err = p.Repo().Stack().UpdateStackRevision(revision)

+ 4 - 0
internal/stacks/hooks.go

@@ -79,6 +79,8 @@ func UpdateHelmRevision(config *config.Config, projID, clusterID uint, rel *rele
 	stackRevision.SourceConfigs = clonedSourceConfigs
 	stackRevision.EnvGroups = clonedEnvGroups
 	stackRevision.Status = "deployed"
+	stackRevision.Reason = "ApplicationUpgrade"
+	stackRevision.Message = fmt.Sprintf("The application %s was updated from version %d to %d", rel.Name, rel.Version-1, rel.Version)
 
 	_, err = config.Repo.Stack().AppendNewRevision(stackRevision)
 
@@ -147,6 +149,8 @@ func UpdateEnvGroupVersion(config *config.Config, projID, clusterID uint, envGro
 	stackRevision.Resources = clonedAppResources
 	stackRevision.SourceConfigs = clonedSourceConfigs
 	stackRevision.EnvGroups = clonedEnvGroups
+	stackRevision.Reason = "EnvGroupUpgrade"
+	stackRevision.Message = fmt.Sprintf("The environment group %s was updated from version %d to %d", envGroup.Name, envGroup.Version-1, envGroup.Version)
 	stackRevision.Status = "deployed"
 
 	_, err = config.Repo.Stack().AppendNewRevision(stackRevision)