Skip to content

Releases: dell/iDRAC-Telemetry-Reference-Tools

Public pkg API layer and envelope-based messaging for cross-repo reuse

12 Feb 19:29
a777284

Choose a tag to compare

What's New

Public pkg/ API Layer

Introduced a new pkg/ directory exposing stable, importable packages for cross-repo consumption (e.g., by IRC-Reference-Tools):

  • pkg/authServiceItem, ValveState, SystemType, Login types and AuthClientInterface
  • pkg/configConfigService and ConfigUI constructors
  • pkg/databusDataGroup, DataGroupChan, and related types
  • pkg/messagebus — STOMP message bus constructor
  • pkg/redfishreadRedfishDevice, SSE listener, IRCRedfishClient, iDRACRedfishClient
  • pkg/wireEnvelope type and message encoding/decoding helpers

Envelope-Based Messaging

  • Replaced legacy Command struct and JSON marshalling with a new wire.Envelope pattern
  • Introduced BaseService and BaseClient in internal/service with standardized Send/Broadcast/requestReply methods
  • Refactored AuthorizationService and AuthorizationClient to use the new pattern

Docker & Build

  • Dockerfiles updated to include pkg/ and internal/ directories
  • Migrated from legacy docker-compose to docker compose
  • CVE fixes for base images
  • Added VictoriaMetrics pump and database profiles

Tests

  • Unit tests for auth, databus, service, wire, and configui
  • Mock message bus (internal/mock/mock_mb.go) for isolated testing
  • Updated container integration tests

Bug Fixes

  • Fixed incorrect lock type in AddDataGroup (RLock → Lock for write operations)
  • Fixed goroutine leaks in requestReply via channel draining
  • Initialized RedfishDevices map before goroutine access
  • Prevented errors on unsubscribe of inactive STOMP subscriptions