controller.go 752 B

12345678910111213141516171819202122
  1. package exporter
  2. import (
  3. "github.com/opencost/opencost/core/pkg/exporter"
  4. "github.com/opencost/opencost/core/pkg/heartbeat"
  5. "github.com/opencost/opencost/core/pkg/storage"
  6. )
  7. // NewHeartbeatExportController creates a new EventExportController for Heartbeat events.
  8. // A HeartbeatMetadataProvider can optionally be provided to append metadata to the Heartbeat payload.
  9. func NewHeartbeatExportController(
  10. clusterId string,
  11. applicationName string,
  12. version string,
  13. store storage.Storage,
  14. provider HeartbeatMetadataProvider,
  15. ) *exporter.EventExportController[heartbeat.Heartbeat] {
  16. return exporter.NewEventExportController(
  17. NewHeartbeatSource(applicationName, version, provider),
  18. NewHeartbeatExporter(clusterId, applicationName, store),
  19. )
  20. }