Changes
Common
- [Refactor] Update all dependencies across modules, fixing some known bugs in third-party libraries.
Internal
- [Refactor] Rename
orchestrator
package tocloudprovider
.
Logger
-
[Feature] Detect Qovery as a cloud provider, which automatically add the following log labels:
qovery_region qovery_project_id qovery_environment_id qovery_application_id qovery_deployment_id kubernetes_cluster kubernetes_namespace kubernetes_pod
-
[Feature] Detect Render as a cloud provider, which automatically add the following log labels:
render_instance_id render_service_id render_service_name render_service_type
Tracer
-
[Feature] Detect Qovery as a cloud provider, which automatically add the following trace attributes:
qovery.region qovery.project_id qovery.environment_id qovery.application_id qovery.deployment_id kubernetes.cluster kubernetes.namespace kubernetes.pod service.name
-
[Feature] Detect Render as a cloud provider, which automatically add the following trace attributes:
render.instance_id render.service_id render.service_name render.service_type service.name
Integrations
REST router
-
[Feature] Introduce generics on all writer functions and split
With
attachments between success and error responses for stronger type safety. Example:import ( "go.nunchi.studio/helix/integration/rest" ) rest.WriteAccepted[types.MyResponseType](rw, req, rest.WithMetadataOnSuccess[types.MyResponseTypeMetadata](metadata), rest.WithDataOnSuccess[types.MyResponseTypeData](data), )
Temporal
-
[Feature] Introduce package
temporalrest
, which holds utilities and public objects designed and scoped in the Temporal integration about Temporal and that can be exposed in a REST API. Example:import ( "go.nunchi.studio/helix/integration/rest" "go.nunchi.studio/helix/integration/temporal/temporalrest" ) type MyResponseTypeMetadata struct { Temporal *temporalrest.Metadata `json:"temporal,omitempty"` } func myHandlerFunc(rw http.ResponseWriter, req *http.Request) { // ... metadata := MyResponseTypeMetadata{ Temporal: temporalrest.GetMetadata(wr), } rest.WriteAccepted[types.MyResponseType](rw, req, rest.WithMetadataOnSuccess[types.MyResponseTypeMetadata](metadata), ) }