From 5b32184086d3a9be864d418301e086cd04a30c9b Mon Sep 17 00:00:00 2001 From: Hugo Bollon Date: Mon, 25 Oct 2021 15:49:03 +0200 Subject: [PATCH] feat(plan): process plan's status from ci exit-code (#215) * feat(plan): process plan's status from ci exit-code fix(frontend): add table-responsice class to all tables * test: update api_test.go with exit_code --- api/api_test.go | 6 +- db/db.go | 2 +- .../src/components/PlanContent.vue | 15 +--- .../src/components/StatesList.vue | 78 ++++++++++--------- .../src/views/PlansExplorer.vue | 8 +- static/terraboard-vuejs/src/views/Search.vue | 2 +- types/db.go | 1 + 7 files changed, 56 insertions(+), 56 deletions(-) diff --git a/api/api_test.go b/api/api_test.go index 72809faf..501011ba 100644 --- a/api/api_test.go +++ b/api/api_test.go @@ -431,7 +431,7 @@ func TestGetPlansSummary(t *testing.T) { req := httptest.NewRequest(http.MethodGet, `/plans/summary?lineage=lineage_value&limit=10&page=1`, nil) GetPlansSummary(buf, req, db) - if buf.Body.String() != `{"page":1,"plans":[{"ID":1,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"","git_remote":"","git_commit":"","ci_url":"","source":"","parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null},{"ID":2,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"","git_remote":"","git_commit":"","ci_url":"","source":"","parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null},{"ID":3,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"","git_remote":"","git_commit":"","ci_url":"","source":"","parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null}],"total":3}` { + if buf.Body.String() != `{"page":1,"plans":[{"ID":1,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"","git_remote":"","git_commit":"","ci_url":"","source":"","exit_code":0,"parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null},{"ID":2,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"","git_remote":"","git_commit":"","ci_url":"","source":"","exit_code":0,"parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null},{"ID":3,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"","git_remote":"","git_commit":"","ci_url":"","source":"","exit_code":0,"parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null}],"total":3}` { t.Errorf("TestGetPlansSummary returned unexpected body: %s", buf.Body.String()) } } @@ -461,7 +461,7 @@ func TestGetPlan(t *testing.T) { req := httptest.NewRequest(http.MethodGet, `/plans?planid=1`, nil) ManagePlans(buf, req, db) - if buf.Body.String() != `{"ID":1,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"1.0.0","git_remote":"","git_commit":"","ci_url":"","source":"","parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null}` { + if buf.Body.String() != `{"ID":1,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"1.0.0","git_remote":"","git_commit":"","ci_url":"","source":"","exit_code":0,"parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null}` { t.Errorf("TestGetPlan returned unexpected body: %s", buf.Body.String()) } } @@ -495,7 +495,7 @@ func TestGetPlans(t *testing.T) { req := httptest.NewRequest(http.MethodGet, `/plans?lineage=lineage_value&limit=10&page=1`, nil) ManagePlans(buf, req, db) - if buf.Body.String() != `{"page":1,"plans":[{"ID":1,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"","git_remote":"","git_commit":"","ci_url":"","source":"","parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null},{"ID":2,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"","git_remote":"","git_commit":"","ci_url":"","source":"","parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null},{"ID":3,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"","git_remote":"","git_commit":"","ci_url":"","source":"","parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null}],"total":3}` { + if buf.Body.String() != `{"page":1,"plans":[{"ID":1,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"","git_remote":"","git_commit":"","ci_url":"","source":"","exit_code":0,"parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null},{"ID":2,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"","git_remote":"","git_commit":"","ci_url":"","source":"","exit_code":0,"parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null},{"ID":3,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage_data":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"lineage":"","states":null,"plans":null},"terraform_version":"","git_remote":"","git_commit":"","ci_url":"","source":"","exit_code":0,"parsed_plan":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"planned_values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}},"prior_state":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"values":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null,"root_module":{"ID":0,"CreatedAt":"0001-01-01T00:00:00Z","UpdatedAt":"0001-01-01T00:00:00Z","DeletedAt":null}}}},"plan_json":null}],"total":3}` { t.Errorf("TestGetPlans returned unexpected body: %s", buf.Body.String()) } } diff --git a/db/db.go b/db/db.go index b6596dd0..88e53908 100644 --- a/db/db.go +++ b/db/db.go @@ -658,7 +658,7 @@ func (db *Database) GetPlansSummary(lineage, limitStr, pageStr string) (plans [] } db.Select(`"plans"."id"`, `"plans"."created_at"`, `"plans"."updated_at"`, `"plans"."tf_version"`, - `"plans"."git_remote"`, `"plans"."git_commit"`, `"plans"."ci_url"`, `"plans"."source"`). + `"plans"."git_remote"`, `"plans"."git_commit"`, `"plans"."ci_url"`, `"plans"."source"`, `"plans"."exit_code"`). Joins("Lineage"). Order("created_at desc"). Limit(limit). diff --git a/static/terraboard-vuejs/src/components/PlanContent.vue b/static/terraboard-vuejs/src/components/PlanContent.vue index e3c6f573..8fed7b6d 100644 --- a/static/terraboard-vuejs/src/components/PlanContent.vue +++ b/static/terraboard-vuejs/src/components/PlanContent.vue @@ -102,8 +102,9 @@ Status: -
Convergent
-
Divergent
+
Convergent
+
Failed
+
Divergent
@@ -286,16 +287,6 @@ Chart.register( PieController, ArcElement, Tooltip ) }, }, computed: { - isStatusValid: function(): boolean { - return ( - this.changes.resources.added + - this.changes.resources.changed + - this.changes.resources.deleted + - this.changes.outputs.added + - this.changes.outputs.changed + - this.changes.outputs.deleted - ) == 0; - }, sortedAttributes() { if (this.resource.attributes !== undefined) { return this.resource.attributes.sort((a: any, b: any) => { diff --git a/static/terraboard-vuejs/src/components/StatesList.vue b/static/terraboard-vuejs/src/components/StatesList.vue index 131696d0..a81f558f 100644 --- a/static/terraboard-vuejs/src/components/StatesList.vue +++ b/static/terraboard-vuejs/src/components/StatesList.vue @@ -4,44 +4,46 @@ v-on:click="fetchStats(prevPage)"> {{startItems}}-{{itemsInPage}}/{{results.total}} - - - - - - - - - - - - - - - - - - - - - -
- Path - - TF Version - - Serial - - Time - - Resources - - Activity -
{{r.path}}{{r.terraform_version}}{{r.serial}}{{formatDate(r.last_modified)}}{{r.resource_count}} - - {{getActivity(index, r.lineage_value, 'spark-'+index)}} - -
+
+ + + + + + + + + + + + + + + + + + + + + +
+ Path + + TF Version + + Serial + + Time + + Resources + + Activity +
{{r.path}}{{r.terraform_version}}{{r.serial}}{{formatDate(r.last_modified)}}{{r.resource_count}} + + {{getActivity(index, r.lineage_value, 'spark-'+index)}} + +
+
diff --git a/static/terraboard-vuejs/src/views/PlansExplorer.vue b/static/terraboard-vuejs/src/views/PlansExplorer.vue index 3179da2b..73a167d3 100644 --- a/static/terraboard-vuejs/src/views/PlansExplorer.vue +++ b/static/terraboard-vuejs/src/views/PlansExplorer.vue @@ -36,10 +36,11 @@ v-if="pager.nextPage" > -
+
+ @@ -59,6 +60,11 @@ + diff --git a/static/terraboard-vuejs/src/views/Search.vue b/static/terraboard-vuejs/src/views/Search.vue index 4c67b051..d9690788 100644 --- a/static/terraboard-vuejs/src/views/Search.vue +++ b/static/terraboard-vuejs/src/views/Search.vue @@ -84,7 +84,7 @@ v-if="pager.nextPage" > -
+
Status Lineage TF Version Git Remote +
+
+
+
{{ r.lineage_data.lineage }} {{ r.terraform_version }} {{ r.git_remote }}
diff --git a/types/db.go b/types/db.go index 24faba4f..22c54c93 100644 --- a/types/db.go +++ b/types/db.go @@ -86,6 +86,7 @@ type Plan struct { GitCommit string `gorm:"varchar(50)" json:"git_commit"` CiURL string `json:"ci_url"` Source string `json:"source"` + ExitCode int `json:"exit_code"` ParsedPlan PlanModel `json:"parsed_plan"` ParsedPlanID sql.NullInt64 `gorm:"index" json:"-"` PlanJSON datatypes.JSON `json:"plan_json"`