Skip to content

Commit 9140a7a

Browse files
authored
remove runs reporting (#2076)
* remove runs reporting * fix build
1 parent 5d1c495 commit 9140a7a

File tree

6 files changed

+4
-212
lines changed

6 files changed

+4
-212
lines changed

backend/bootstrap/main.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,6 @@ func Bootstrap(templates embed.FS, diggerController controllers.DiggerController
192192
authorized.GET("/orgs/:organisation/drift-policy", controllers.FindDriftPolicyForOrg)
193193

194194
authorized.GET("/repos/:repo/projects/:projectName/runs", controllers.RunHistoryForProject)
195-
authorized.POST("/repos/:repo/projects/:projectName/runs", controllers.CreateRunForProject)
196195

197196
authorized.POST("/repos/:repo/projects/:projectName/jobs/:jobId/set-status", diggerController.SetJobStatusForProject)
198197

backend/controllers/projects.go

Lines changed: 0 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,116 +1030,6 @@ type CreateProjectRunRequest struct {
10301030
Output string `json:"output"`
10311031
}
10321032

1033-
func CreateRunForProject(c *gin.Context) {
1034-
repoName := c.Param("repo")
1035-
projectName := c.Param("projectName")
1036-
orgId, exists := c.Get(middleware.ORGANISATION_ID_KEY)
1037-
1038-
if !exists {
1039-
slog.Warn("Organisation ID not found in context",
1040-
"repoName", repoName,
1041-
"projectName", projectName,
1042-
)
1043-
c.String(http.StatusForbidden, "Not allowed to access this resource")
1044-
return
1045-
}
1046-
1047-
slog.Info("Creating run for project",
1048-
"repoName", repoName,
1049-
"projectName", projectName,
1050-
"orgId", orgId,
1051-
)
1052-
1053-
org, err := models.DB.GetOrganisationById(orgId)
1054-
if err != nil {
1055-
slog.Error("Error fetching organisation",
1056-
"orgId", orgId,
1057-
"error", err,
1058-
)
1059-
c.JSON(http.StatusInternalServerError, gin.H{"error": "Error fetching organisation"})
1060-
return
1061-
}
1062-
1063-
var repo models.Repo
1064-
err = models.DB.GormDB.Where("name = ? AND organisation_id = ?", repoName, orgId).First(&repo).Error
1065-
if err != nil {
1066-
slog.Error("Error fetching repository",
1067-
"repoName", repoName,
1068-
"orgId", orgId,
1069-
"error", err,
1070-
)
1071-
c.JSON(http.StatusInternalServerError, gin.H{"error": "Error fetching repo"})
1072-
return
1073-
}
1074-
1075-
var project models.Project
1076-
err = models.DB.GormDB.Where("name = ? AND repo_id = ? AND organisation_id = ?", projectName, repo.ID, org.ID).First(&project).Error
1077-
if err != nil {
1078-
slog.Error("Error fetching project",
1079-
"projectName", projectName,
1080-
"repoName", repoName,
1081-
"error", err,
1082-
)
1083-
c.JSON(http.StatusInternalServerError, gin.H{"error": "Error fetching project"})
1084-
return
1085-
}
1086-
1087-
slog.Debug("Found project",
1088-
"projectId", project.ID,
1089-
"projectName", projectName,
1090-
"repoName", repoName,
1091-
)
1092-
1093-
var request CreateProjectRunRequest
1094-
err = c.BindJSON(&request)
1095-
if err != nil {
1096-
slog.Error("Error binding JSON request",
1097-
"projectName", projectName,
1098-
"error", err,
1099-
)
1100-
c.JSON(http.StatusBadRequest, gin.H{"error": "Error binding JSON"})
1101-
return
1102-
}
1103-
1104-
run := models.ProjectRun{
1105-
StartedAt: request.StartedAt.UnixMilli(),
1106-
EndedAt: request.EndedAt.UnixMilli(),
1107-
Status: request.Status,
1108-
Command: request.Command,
1109-
Output: request.Output,
1110-
ProjectID: project.ID,
1111-
Project: &project,
1112-
}
1113-
1114-
slog.Debug("Creating project run",
1115-
"projectId", project.ID,
1116-
"status", request.Status,
1117-
"command", request.Command,
1118-
"startedAt", request.StartedAt,
1119-
"endedAt", request.EndedAt,
1120-
)
1121-
1122-
err = models.DB.GormDB.Create(&run).Error
1123-
if err != nil {
1124-
slog.Error("Error creating run",
1125-
"projectName", projectName,
1126-
"projectId", project.ID,
1127-
"error", err,
1128-
)
1129-
c.JSON(http.StatusInternalServerError, gin.H{"error": "Error creating run"})
1130-
return
1131-
}
1132-
1133-
slog.Info("Successfully created run for project",
1134-
"runId", run.ID,
1135-
"projectName", projectName,
1136-
"projectId", project.ID,
1137-
"status", run.Status,
1138-
)
1139-
1140-
c.JSON(http.StatusOK, "")
1141-
}
1142-
11431033
func UpdateCommentsForBatchGroup(gh utils.GithubClientProvider, batch *models.DiggerBatch, serializedJobs []orchestrator_scheduler.SerializedJob) error {
11441034
slog.Debug("Updating comments for batch group",
11451035
"batchId", batch.ID,

cli/pkg/digger/digger.go

Lines changed: 4 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,6 @@ func RunJobs(jobs []orchestrator.Job, prService ci.PullRequestService, orgServic
7373
slog.Debug("Variable info", "TG_PROVIDER_CACHE_DIR", os.Getenv("TG_PROVIDER_CACHE_DIR"))
7474
slog.Debug("Variable info", "TERRAGRUNT_PROVIDER_CACHE_DIR", os.Getenv("TERRAGRUNT_PROVIDER_CACHE_DIR"))
7575

76-
runStartedAt := time.Now()
77-
7876
exectorResults := make([]execution.DiggerExecutorResult, len(jobs))
7977
appliesPerProject := make(map[string]bool)
8078

@@ -98,13 +96,9 @@ func RunJobs(jobs []orchestrator.Job, prService ci.PullRequestService, orgServic
9896
continue
9997
}
10098

101-
executorResult, output, err := run(command, job, policyChecker, orgService, SCMOrganisation, SCMrepository, job.PullRequestNumber, job.RequestedBy, reporter, lock, prService, job.Namespace, workingDir, planStorage, appliesPerProject)
99+
executorResult, _, err := run(command, job, policyChecker, orgService, SCMOrganisation, SCMrepository, job.PullRequestNumber, job.RequestedBy, reporter, lock, prService, job.Namespace, workingDir, planStorage, appliesPerProject)
102100
if err != nil {
103101
slog.Error("error while running command for project", "command", command, "projectname", job.ProjectName, "error", err)
104-
reportErr := backendApi.ReportProjectRun(SCMOrganisation+"-"+SCMrepository, job.ProjectName, runStartedAt, time.Now(), "FAILED", command, output)
105-
if reportErr != nil {
106-
slog.Error("error reporting project Run err.", "error", reportErr)
107-
}
108102
appliesPerProject[job.ProjectName] = false
109103
if executorResult != nil {
110104
exectorResults[i] = *executorResult
@@ -114,10 +108,6 @@ func RunJobs(jobs []orchestrator.Job, prService ci.PullRequestService, orgServic
114108
}
115109
exectorResults[i] = *executorResult
116110

117-
err = backendApi.ReportProjectRun(SCMOrganisation+"-"+SCMrepository, job.ProjectName, runStartedAt, time.Now(), "SUCCESS", command, output)
118-
if err != nil {
119-
slog.Error("Error reporting project Run", "error", err)
120-
}
121111
}
122112
}
123113

@@ -573,7 +563,6 @@ func RunJob(
573563
driftNotification *core_drift.Notification,
574564
workingDir string,
575565
) error {
576-
runStartedAt := time.Now()
577566
SCMOrganisation, SCMrepository := utils.ParseRepoNamespace(repo)
578567
slog.Info("Running commands for project", "commands", job.Commands, "project name", job.ProjectName)
579568

@@ -591,10 +580,6 @@ func RunJob(
591580
slog.Error("Error publishing comment.", "error", err)
592581
}
593582
slog.Error(msg)
594-
err = backendApi.ReportProjectRun(repo, job.ProjectName, runStartedAt, time.Now(), "FORBIDDEN", command, msg)
595-
if err != nil {
596-
slog.Error("Error reporting Run.", "error", err)
597-
}
598583
return errors.New(msg)
599584
}
600585

@@ -652,61 +637,37 @@ func RunJob(
652637
if err != nil {
653638
slog.Error("Failed to send usage report.", "error", err)
654639
}
655-
_, _, _, plan, planJsonOutput, err := diggerExecutor.Plan()
640+
_, _, _, _, planJsonOutput, err := diggerExecutor.Plan()
656641
if err != nil {
657642
msg := fmt.Sprintf("Failed to Run digger plan command. %v", err)
658643
slog.Error(msg)
659-
err = backendApi.ReportProjectRun(repo, job.ProjectName, runStartedAt, time.Now(), "FAILED", command, msg)
660-
if err != nil {
661-
slog.Error("Error reporting Run.", "error", err)
662-
}
663644
return fmt.Errorf("%s", msg)
664645
}
665646
planIsAllowed, messages, err := policyChecker.CheckPlanPolicy(SCMrepository, SCMOrganisation, job.ProjectName, job.ProjectDir, planJsonOutput)
666647
slog.Info(strings.Join(messages, "\n"))
667648
if err != nil {
668649
msg := fmt.Sprintf("Failed to validate plan %v", err)
669650
slog.Error(msg)
670-
err = backendApi.ReportProjectRun(repo, job.ProjectName, runStartedAt, time.Now(), "FAILED", command, msg)
671-
if err != nil {
672-
slog.Error("Error reporting Run.", "error", err)
673-
}
674651
return fmt.Errorf("%s", msg)
675652
}
676653
if !planIsAllowed {
677654
msg := fmt.Sprintf("Plan is not allowed")
678655
slog.Error(msg)
679-
err = backendApi.ReportProjectRun(repo, job.ProjectName, runStartedAt, time.Now(), "FAILED", command, msg)
680-
if err != nil {
681-
slog.Error("Error reporting Run.", "error", err)
682-
}
683656
return fmt.Errorf("%s", msg)
684657
} else {
685-
err = backendApi.ReportProjectRun(repo, job.ProjectName, runStartedAt, time.Now(), "SUCCESS", command, plan)
686-
if err != nil {
687-
slog.Error("Error reporting Run.", "error", err)
688-
}
689658
}
690659

691660
case "digger apply":
692661
err := usage.SendUsageRecord(requestedBy, job.EventName, "apply")
693662
if err != nil {
694663
slog.Error("Failed to send usage report.", "error", err)
695664
}
696-
_, _, output, err := diggerExecutor.Apply()
665+
_, _, _, err = diggerExecutor.Apply()
697666
if err != nil {
698667
msg := fmt.Sprintf("Failed to Run digger apply command. %v", err)
699668
slog.Error(msg)
700-
err = backendApi.ReportProjectRun(repo, job.ProjectName, runStartedAt, time.Now(), "FAILED", command, msg)
701-
if err != nil {
702-
slog.Error("Error reporting Run.", "error", err)
703-
}
704669
return fmt.Errorf("%s", msg)
705670
}
706-
err = backendApi.ReportProjectRun(repo, job.ProjectName, runStartedAt, time.Now(), "SUCCESS", command, output)
707-
if err != nil {
708-
slog.Error("Error reporting Run.", "error", err)
709-
}
710671
case "digger destroy":
711672
err := usage.SendUsageRecord(requestedBy, job.EventName, "destroy")
712673
if err != nil {
@@ -719,14 +680,10 @@ func RunJob(
719680
}
720681

721682
case "digger drift-detect":
722-
output, err := runDriftDetection(policyChecker, SCMOrganisation, SCMrepository, job.ProjectName, requestedBy, job.EventName, diggerExecutor, driftNotification)
683+
_, err = runDriftDetection(policyChecker, SCMOrganisation, SCMrepository, job.ProjectName, requestedBy, job.EventName, diggerExecutor, driftNotification)
723684
if err != nil {
724685
return fmt.Errorf("failed to Run digger drift-detect command. %v", err)
725686
}
726-
err = backendApi.ReportProjectRun(repo, job.ProjectName, runStartedAt, time.Now(), "SUCCESS", command, output)
727-
if err != nil {
728-
slog.Error("Error reporting Run.", "error", err)
729-
}
730687
}
731688

732689
}

libs/backendapi/backend.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88

99
type Api interface {
1010
ReportProject(repo string, projectName string, configuration string) error
11-
ReportProjectRun(repo string, projectName string, startedAt time.Time, endedAt time.Time, status string, command string, output string) error
1211
ReportProjectJobStatus(repo string, projectName string, jobId string, status string, timestamp time.Time, summary *iac_utils.IacSummary, planJson string, PrCommentUrl string, PrCommentId string, terraformOutput string, iacUtils iac_utils.IacUtils) (*scheduler.SerializedBatch, error)
1312
UploadJobArtefact(zipLocation string) (*int, *string, error)
1413
DownloadJobArtefact(downloadTo string) (*string, error)

libs/backendapi/diggerapi.go

Lines changed: 0 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ func (n NoopApi) ReportProject(namespace string, projectName string, configurati
2828
return nil
2929
}
3030

31-
func (n NoopApi) ReportProjectRun(namespace string, projectName string, startedAt time.Time, endedAt time.Time, status string, command string, output string) error {
32-
return nil
33-
}
34-
3531
func (n NoopApi) ReportProjectJobStatus(repo string, projectName string, jobId string, status string, timestamp time.Time, summary *iac_utils.IacSummary, planJson string, PrCommentUrl string, PrCommentId string, terraformOutput string, iacUtils iac_utils.IacUtils) (*scheduler.SerializedBatch, error) {
3632
return nil, nil
3733
}
@@ -91,51 +87,6 @@ func (d DiggerApi) ReportProject(namespace string, projectName string, configura
9187
return nil
9288
}
9389

94-
func (d DiggerApi) ReportProjectRun(namespace string, projectName string, startedAt time.Time, endedAt time.Time, status string, command string, output string) error {
95-
u, err := url.Parse(d.DiggerHost)
96-
if err != nil {
97-
slog.Error("not able to parse digger cloud url", "error", err)
98-
return fmt.Errorf("not able to parse digger cloud url: %v", err)
99-
}
100-
101-
u.Path = filepath.Join(u.Path, "repos", namespace, "projects", projectName, "runs")
102-
103-
request := map[string]interface{}{
104-
"startedAt": startedAt,
105-
"endedAt": endedAt,
106-
"status": status,
107-
"command": command,
108-
"output": output,
109-
}
110-
111-
jsonData, err := json.Marshal(request)
112-
if err != nil {
113-
slog.Error("not able to marshal request", "error", err)
114-
return fmt.Errorf("not able to marshal request: %v", err)
115-
}
116-
117-
req, err := http.NewRequest("POST", u.String(), bytes.NewBuffer(jsonData))
118-
119-
if err != nil {
120-
return fmt.Errorf("error while creating request: %v", err)
121-
}
122-
123-
req.Header.Set("Content-Type", "application/json")
124-
req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", d.AuthToken))
125-
126-
resp, err := d.HttpClient.Do(req)
127-
128-
if err != nil {
129-
return fmt.Errorf("error while sending request: %v", err)
130-
}
131-
132-
if resp.StatusCode != http.StatusOK {
133-
return fmt.Errorf("unexpected status when reporting a project run: %v", resp.StatusCode)
134-
}
135-
136-
return nil
137-
}
138-
13990
func (d DiggerApi) ReportProjectJobStatus(repo string, projectName string, jobId string, status string, timestamp time.Time, summary *iac_utils.IacSummary, planJson string, PrCommentUrl string, PrCommentId string, terraformOutput string, iacUtils iac_utils.IacUtils) (*scheduler.SerializedBatch, error) {
14091
repoNameForBackendReporting := strings.ReplaceAll(repo, "/", "-")
14192
u, err := url.Parse(d.DiggerHost)

libs/backendapi/mocks.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,6 @@ func (t MockBackendApi) ReportProject(namespace string, projectName string, conf
1313
return nil
1414
}
1515

16-
func (t MockBackendApi) ReportProjectRun(repo string, projectName string, startedAt time.Time, endedAt time.Time, status string, command string, output string) error {
17-
return nil
18-
}
19-
2016
func (t MockBackendApi) ReportProjectJobStatus(repo string, projectName string, jobId string, status string, timestamp time.Time, summary *iac_utils.IacSummary, planJson string, PrCommentUrl string, PrCommentId string, terraformOutput string, iacUtils iac_utils.IacUtils) (*scheduler.SerializedBatch, error) {
2117
return nil, nil
2218
}

0 commit comments

Comments
 (0)