Merge pull request #68 from gabriel-samfira/sanitize-log-entries
Sanitize log entries
This commit is contained in:
commit
03d632c2b6
5 changed files with 17 additions and 10 deletions
|
|
@ -25,6 +25,7 @@ import (
|
|||
gErrors "garm/errors"
|
||||
runnerParams "garm/params"
|
||||
"garm/runner"
|
||||
"garm/util"
|
||||
wsWriter "garm/websocket"
|
||||
|
||||
"github.com/gorilla/websocket"
|
||||
|
|
@ -113,7 +114,7 @@ func (a *APIController) CatchAll(w http.ResponseWriter, r *http.Request) {
|
|||
case runnerParams.WorkflowJobEvent:
|
||||
a.handleWorkflowJobEvent(w, r)
|
||||
default:
|
||||
log.Printf("ignoring unknown event %s", event)
|
||||
log.Printf("ignoring unknown event %s", util.SanitizeLogEntry(string(event)))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import (
|
|||
"time"
|
||||
|
||||
apiParams "garm/apiserver/params"
|
||||
"garm/util"
|
||||
|
||||
"github.com/gorilla/websocket"
|
||||
"github.com/spf13/cobra"
|
||||
|
|
@ -61,7 +62,7 @@ var logCmd = &cobra.Command{
|
|||
log.Printf("read: %q", err)
|
||||
return
|
||||
}
|
||||
log.Print(string(message))
|
||||
log.Print(util.SanitizeLogEntry(string(message)))
|
||||
}
|
||||
}()
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ import (
|
|||
"garm/params"
|
||||
"garm/runner/common"
|
||||
providerCommon "garm/runner/providers/common"
|
||||
"garm/util"
|
||||
|
||||
"github.com/google/go-github/v48/github"
|
||||
"github.com/google/uuid"
|
||||
|
|
@ -365,7 +366,7 @@ func (r *basePoolManager) acquireNewInstance(job params.WorkflowJob) error {
|
|||
}
|
||||
return errors.Wrap(err, "fetching suitable pool")
|
||||
}
|
||||
log.Printf("adding new runner with requested tags %s in pool %s", strings.Join(job.WorkflowJob.Labels, ", "), pool.ID)
|
||||
log.Printf("adding new runner with requested tags %s in pool %s", util.SanitizeLogEntry(strings.Join(job.WorkflowJob.Labels, ", ")), util.SanitizeLogEntry(pool.ID))
|
||||
|
||||
if !pool.Enabled {
|
||||
log.Printf("selected pool (%s) is disabled", pool.ID)
|
||||
|
|
@ -658,7 +659,7 @@ func (r *basePoolManager) getRunnerDetailsFromJob(job params.WorkflowJob) (param
|
|||
|
||||
runnerDetails, err := r.store.GetInstanceByName(context.Background(), runnerInfo.Name)
|
||||
if err != nil {
|
||||
log.Printf("could not find runner details for %s", runnerInfo.Name)
|
||||
log.Printf("could not find runner details for %s", util.SanitizeLogEntry(runnerInfo.Name))
|
||||
return params.RunnerInfo{}, errors.Wrap(err, "fetching runner details")
|
||||
}
|
||||
|
||||
|
|
@ -701,15 +702,15 @@ func (r *basePoolManager) HandleWorkflowJob(job params.WorkflowJob) error {
|
|||
if errors.Is(err, runnerErrors.ErrNotFound) {
|
||||
return nil
|
||||
}
|
||||
log.Printf("failed to update runner %s status", runnerInfo.Name)
|
||||
log.Printf("failed to update runner %s status", util.SanitizeLogEntry(runnerInfo.Name))
|
||||
return errors.Wrap(err, "updating runner")
|
||||
}
|
||||
log.Printf("marking instance %s as pending_delete", runnerInfo.Name)
|
||||
log.Printf("marking instance %s as pending_delete", util.SanitizeLogEntry(runnerInfo.Name))
|
||||
if err := r.setInstanceStatus(runnerInfo.Name, providerCommon.InstancePendingDelete, nil); err != nil {
|
||||
if errors.Is(err, runnerErrors.ErrNotFound) {
|
||||
return nil
|
||||
}
|
||||
log.Printf("failed to update runner %s status", runnerInfo.Name)
|
||||
log.Printf("failed to update runner %s status", util.SanitizeLogEntry(runnerInfo.Name))
|
||||
return errors.Wrap(err, "updating runner")
|
||||
}
|
||||
case "in_progress":
|
||||
|
|
@ -733,7 +734,7 @@ func (r *basePoolManager) HandleWorkflowJob(job params.WorkflowJob) error {
|
|||
if errors.Is(err, runnerErrors.ErrNotFound) {
|
||||
return nil
|
||||
}
|
||||
log.Printf("failed to update runner %s status", runnerInfo.Name)
|
||||
log.Printf("failed to update runner %s status", util.SanitizeLogEntry(runnerInfo.Name))
|
||||
return errors.Wrap(err, "updating runner")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -599,10 +599,10 @@ func (r *Runner) DispatchWorkflowJob(hookTargetType, signature string, jobData [
|
|||
|
||||
switch HookTargetType(hookTargetType) {
|
||||
case RepoHook:
|
||||
log.Printf("got hook for repo %s/%s", job.Repository.Owner.Login, job.Repository.Name)
|
||||
log.Printf("got hook for repo %s/%s", util.SanitizeLogEntry(job.Repository.Owner.Login), util.SanitizeLogEntry(job.Repository.Name))
|
||||
poolManager, err = r.findRepoPoolManager(job.Repository.Owner.Login, job.Repository.Name)
|
||||
case OrganizationHook:
|
||||
log.Printf("got hook for org %s", job.Organization.Login)
|
||||
log.Printf("got hook for org %s", util.SanitizeLogEntry(job.Organization.Login))
|
||||
poolManager, err = r.findOrgPoolManager(job.Organization.Login)
|
||||
case EnterpriseHook:
|
||||
poolManager, err = r.findEnterprisePoolManager(job.Enterprise.Slug)
|
||||
|
|
|
|||
|
|
@ -327,3 +327,7 @@ func NewLoggingMiddleware(writer io.Writer) func(http.Handler) http.Handler {
|
|||
return gorillaHandlers.CombinedLoggingHandler(writer, next)
|
||||
}
|
||||
}
|
||||
|
||||
func SanitizeLogEntry(entry string) string {
|
||||
return strings.Replace(strings.Replace(entry, "\n", "", -1), "\r", "", -1)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue