Просмотр исходного кода

add more fields to incidents response

Mohammed Nafees 4 лет назад
Родитель
Сommit
577232bcd5

+ 11 - 0
api/server/handlers/cluster/get_incidents.go

@@ -57,6 +57,11 @@ func (c *GetIncidentsHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
 		return
 	}
 
+	agentVersion := agentSvc.Annotations["porter.run/agent-major-version"]
+	if agentVersion == "" {
+		agentVersion = "v1"
+	}
+
 	if incidentID != "" {
 		events, err := porter_agent.GetIncidentEventsByID(agent.Clientset, agentSvc, incidentID)
 
@@ -65,6 +70,8 @@ func (c *GetIncidentsHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
 			return
 		}
 
+		events.AgentVersion = agentVersion
+
 		c.WriteResult(w, r, events)
 		return
 	} else if releaseName != "" {
@@ -79,6 +86,8 @@ func (c *GetIncidentsHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
 			return
 		}
 
+		incidents.AgentVersion = agentVersion
+
 		c.WriteResult(w, r, incidents)
 		return
 	}
@@ -90,5 +99,7 @@ func (c *GetIncidentsHandler) ServeHTTP(w http.ResponseWriter, r *http.Request)
 		return
 	}
 
+	incidents.AgentVersion = agentVersion
+
 	c.WriteResult(w, r, incidents)
 }

+ 7 - 1
internal/kubernetes/porter_agent/v2/models.go

@@ -26,18 +26,24 @@ type PodEvent struct {
 type Incident struct {
 	ID            string `json:"id" form:"required"`
 	ReleaseName   string `json:"release_name" form:"required"`
+	CreatedAt     int64  `json:"created_at" form:"required"`
+	UpdatedAt     int64  `json:"updated_at" form:"required"`
 	LatestState   string `json:"latest_state" form:"required"`
 	LatestReason  string `json:"latest_reason" form:"required"`
 	LatestMessage string `json:"latest_message" form:"required"`
 }
 
 type IncidentsResponse struct {
-	Incidents []*Incident `json:"incidents" form:"required"`
+	AgentVersion string      `json:"agent_version"`
+	Incidents    []*Incident `json:"incidents" form:"required"`
 }
 
 type EventsResponse struct {
+	AgentVersion  string      `json:"agent_version"`
 	IncidentID    string      `json:"incident_id" form:"required"`
 	ReleaseName   string      `json:"release_name"`
+	CreatedAt     int64       `json:"created_at"`
+	UpdatedAt     int64       `json:"updated_at"`
 	LatestState   string      `json:"latest_state"`
 	LatestReason  string      `json:"latest_reason"`
 	LatestMessage string      `json:"latest_message"`