machines_table.go 951 B

12345678910111213141516171819202122232425262728293031
  1. package main
  2. import (
  3. "io"
  4. "time"
  5. "github.com/aquasecurity/table"
  6. "github.com/enescakir/emoji"
  7. "github.com/crowdsecurity/crowdsec/pkg/database/ent"
  8. )
  9. func getAgentsTable(out io.Writer, machines []*ent.Machine) {
  10. t := newLightTable(out)
  11. t.SetHeaders("Name", "IP Address", "Last Update", "Status", "Version", "Auth Type", "Last Heartbeat")
  12. t.SetHeaderAlignment(table.AlignLeft, table.AlignLeft, table.AlignLeft, table.AlignLeft, table.AlignLeft, table.AlignLeft, table.AlignLeft)
  13. t.SetAlignment(table.AlignLeft, table.AlignLeft, table.AlignLeft, table.AlignLeft, table.AlignLeft, table.AlignLeft, table.AlignLeft)
  14. for _, m := range machines {
  15. var validated string
  16. if m.IsValidated {
  17. validated = emoji.CheckMark.String()
  18. } else {
  19. validated = emoji.Prohibited.String()
  20. }
  21. t.AddRow(m.MachineId, m.IpAddress, m.UpdatedAt.Format(time.RFC3339), validated, m.Version, m.AuthType, displayLastHeartBeat(m, true))
  22. }
  23. t.Render()
  24. }