Rest API to get KVB departures - Written in Go with hexagonal architecture and tracing via OpenTelemetry and Jaeger

KVB API

Maintainability Test Coverage

Rest API to get upcoming departures per KVB train station

Implemented in Go with hexagonal architecture and tracing via OpenTelemetry and Jaeger

KVB API provides one endpoint allowing you to get the upcoming departures for a provided station name

http://localhost:8080/v1/departures/stations/{station_name}

KVB API tries to find the best matching station name for your request, so it doesn't need to be the exact name

Example

Request

GET http://localhost:8080/v1/departures/stations/bensberg

Response

{
  "departures": [
    {
      "line": "1",
      "destination": "Weiden West",
      "arrivalInMinutes": 17
    },
    {
      "line": "1",
      "destination": "Junkersdorf",
      "arrivalInMinutes": 44
    }
  ]
}

Build

The binary binary will be stored at bin/kvb-api

make build

Usage

Without Tracing

Start the KVB API without tracing by running:

./bin/kvb-api

With Jaeger Tracing

Start the KVB API with Jaeger tracing by running:

ENABLE_TRACING=true JAEGER_ENDPOINT="http://localhost:14268/api/traces" ./bin/kvb-api 

Make sure Jaeger is running on the provided URL. To start the included Jager all in one container run the following command:

docker-compose up -d

Development

Hexagonal Architecture

  • Adapters are stored in adapters
  • Ports are stored in ports
  • Business logic data structures are stored in domains
  • Functions offered by the business logic are stored in services
Owner
Jan Ritter
DevOps Engineer Lead at Trusted Shops
Jan Ritter
Comments
  • fix(deps): update minor - go - autoclosed

    fix(deps): update minor - go - autoclosed

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux | require | minor | v0.34.0 -> v0.36.4 | | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | require | minor | v0.34.0 -> v0.36.4 | | go.opentelemetry.io/otel | require | minor | v1.9.0 -> v1.11.1 | | go.opentelemetry.io/otel/exporters/otlp/otlptrace | require | minor | v1.9.0 -> v1.11.1 | | go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc | require | minor | v1.9.0 -> v1.11.1 | | go.opentelemetry.io/otel/sdk | require | minor | v1.9.0 -> v1.11.1 | | go.opentelemetry.io/otel/trace | require | minor | v1.9.0 -> v1.11.1 | | golang.org/x/text | require | minor | v0.3.7 -> v0.4.0 |


    Release Notes

    open-telemetry/opentelemetry-go

    v1.11.1: /v0.33.0

    Compare Source

    Added
    • The Prometheus exporter in go.opentelemetry.io/otel/exporters/prometheus registers with a Prometheus registerer on creation. By default, it will register with the default Prometheus default registerer. A non-default registerer can be used by passing the WithRegisterer option. (#​3239)
    • Added the WithAggregationSelector option to the go.opentelemetry.io/otel/exporters/prometheus package to change the default AggregationSelector used. (#​3341)
    • The Prometheus exporter in go.opentelemetry.io/otel/exporters/prometheus converts the Resource associated with metric exports into a target_info metric. (#​3285)
    Changed
    • The "go.opentelemetry.io/otel/exporters/prometheus".New function is updated to return an error. It will return an error if the exporter fails to register with Prometheus. (#​3239)
    Fixed
    • The URL-encoded values from the OTEL_RESOURCE_ATTRIBUTES environment variable are decoded. (#​2963)
    • The baggage.NewMember function decodes the value parameter instead of directly using it. This fixes the implementation to be compliant with the W3C specification. (#​3226)
    • Slice attributes of the attribute package are now comparable based on their value, not instance. (#​3108 #​3252)
    • The Shutdown and ForceFlush methods of the "go.opentelemetry.io/otel/sdk/trace".TraceProvider no longer return an error when no processor is registered. (#​3268)
    • The Prometheus exporter in go.opentelemetry.io/otel/exporters/prometheus cumulatively sums histogram buckets. (#​3281)
    • The sum of each histogram data point is now uniquely exported by the go.opentelemetry.io/otel/exporters/otlpmetric exporters. (#​3284, #​3293)
    • Recorded values for asynchronous counters (Counter and UpDownCounter) are interpreted as exact, not incremental, sum values by the metric SDK. (#​3350, #​3278)
    • UpDownCounters are now correctly output as Prometheus gauges in the go.opentelemetry.io/otel/exporters/prometheus exporter. (#​3358)
    • The Prometheus exporter in go.opentelemetry.io/otel/exporters/prometheus no longer describes the metrics it will send to Prometheus on startup. Instead the exporter is defined as an "unchecked" collector for Prometheus. This fixes the reader is not registered warning currently emitted on startup. (#​3291 #​3342)
    • The go.opentelemetry.io/otel/exporters/prometheus exporter now correctly adds _total suffixes to counter metrics. (#​3360)
    • The go.opentelemetry.io/otel/exporters/prometheus exporter now adds a unit suffix to metric names. This can be disabled using the WithoutUnits() option added to that package. (#​3352)

    v1.11.0: /v0.32.3

    Compare Source

    Retracts the v0.32.2 version of go.opentelemetry.io/otel/exporters/otlpmetric/otlpmetricgrpc and go.opentelemetry.io/otel/exporters/otlpmetric/otlpmetrichttp given they include unresolvable dependencies.

    Added
    • Add default User-Agent header to OTLP exporter requests (go.opentelemetry.io/otel/exporters/otlptrace/otlptracegrpc and go.opentelemetry.io/otel/exporters/otlptrace/otlptracehttp). (#​3261)
    Changed
    • span.SetStatus has been updated such that calls that lower the status are now no-ops. (#​3214)
    • Upgrade golang.org/x/sys/unix from v0.0.0-20210423185535-09eb48e85fd7 to v0.0.0-20220919091848-fb04ddd9f9c8. This addresses GO-2022-0493. (#​3235)

    v1.10.0

    Compare Source

    Added
    • Support Go 1.19. (#​3077) Include compatibility testing and document support. (#​3077)
    • Support the OTLP ExportTracePartialSuccess response; these are passed to the registered error handler. (#​3106)
    • Upgrade go.opentelemetry.io/proto/otlp from v0.18.0 to v0.19.0 (#​3107)
    Changed
    • Fix misidentification of OpenTelemetry SpanKind in OpenTracing bridge (go.opentelemetry.io/otel/bridge/opentracing). (#​3096)
    • Attempting to start a span with a nil context will no longer cause a panic. (#​3110)
    • All exporters will be shutdown even if one reports an error (#​3091)
    • Ensure valid UTF-8 when truncating over-length attribute values. (#​3156)
    golang/text

    v0.4.0

    Compare Source

    v0.3.8

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

  • chore(deps): update minor - go

    chore(deps): update minor - go

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | go (source) | golang | minor | 1.18 -> 1.19 | | go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux | require | minor | v0.33.0 -> v0.34.0 | | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | require | minor | v0.33.0 -> v0.34.0 | | go.opentelemetry.io/otel | require | minor | v1.8.0 -> v1.9.0 | | go.opentelemetry.io/otel/exporters/otlp/otlptrace | require | minor | v1.8.0 -> v1.9.0 | | go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc | require | minor | v1.8.0 -> v1.9.0 | | go.opentelemetry.io/otel/sdk | require | minor | v1.8.0 -> v1.9.0 | | go.opentelemetry.io/otel/trace | require | minor | v1.8.0 -> v1.9.0 |


    Release Notes

    golang/go

    v1.19.0

    open-telemetry/opentelemetry-go

    v1.9.0

    Compare Source

    Added
    • Add support for Schema Files format 1.1.x (metric "split" transform) with the new go.opentelemetry.io/otel/schema/v1.1 package. (#​2999)
    • Add the go.opentelemetry.io/otel/semconv/v1.11.0 package. The package contains semantic conventions from the v1.11.0 version of the OpenTelemetry specification. (#​3009)
    • Add the go.opentelemetry.io/otel/semconv/v1.12.0 package. The package contains semantic conventions from the v1.12.0 version of the OpenTelemetry specification. (#​3010)
    • Add the http.method attribute to HTTP server metric from all go.opentelemetry.io/otel/semconv/* packages. (#​3018)
    Fixed
    • Invalid warning for context setup being deferred in go.opentelemetry.io/otel/bridge/opentracing package. (#​3029)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • fix(deps): update minor - go

    fix(deps): update minor - go

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux | require | minor | v0.32.0 -> v0.33.0 | | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | require | minor | v0.32.0 -> v0.33.0 | | go.opentelemetry.io/otel | require | minor | v1.7.0 -> v1.8.0 | | go.opentelemetry.io/otel/exporters/otlp/otlptrace | require | minor | v1.7.0 -> v1.8.0 | | go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc | require | minor | v1.7.0 -> v1.8.0 | | go.opentelemetry.io/otel/sdk | require | minor | v1.7.0 -> v1.8.0 | | go.opentelemetry.io/otel/trace | require | minor | v1.7.0 -> v1.8.0 |


    Release Notes

    open-telemetry/opentelemetry-go

    v1.8.0

    Compare Source

    1.8.0/0.31.0 - 2022-07-08
    Added
    • Add support for opentracing.TextMap format in the Inject and Extract methods of the "go.opentelemetry.io/otel/bridge/opentracing".BridgeTracer type. (#​2911)
    Changed
    • The crosslink make target has been updated to use the go.opentelemetry.io/build-tools/crosslink package. (#​2886)
    • In the go.opentelemetry.io/otel/sdk/instrumentation package rename Library to Scope and alias Library as Scope (#​2976)
    • Move metric no-op implementation form nonrecording to metric package. (#​2866)
    Removed
    • Support for go1.16. Support is now only for go1.17 and go1.18 (#​2917)
    Deprecated
    • The Library struct in the go.opentelemetry.io/otel/sdk/instrumentation package is deprecated. Use the equivalent Scope struct instead. (#​2977)
    • The ReadOnlySpan.InstrumentationLibrary method from the go.opentelemetry.io/otel/sdk/trace package is deprecated. Use the equivalent ReadOnlySpan.InstrumentationScope method instead. (#​2977)

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, click this checkbox.

    This PR has been generated by Mend Renovate. View repository job log here.

  • Configure Renovate - autoclosed

    Configure Renovate - autoclosed

    Mend Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • docker-compose.yml (docker-compose)
    • Dockerfile (dockerfile)
    • go.mod (gomod)

    Configuration Summary

    Based on the default config's presets, Renovate will:

    • Start dependency updates only once this onboarding PR is merged
    • Enable Renovate Dependency Dashboard creation
    • If semantic commits detected, use semantic commit type fix for dependencies and chore for all others
    • Ignore node_modules, bower_components, vendor and various test/tests directories
    • Autodetect whether to pin dependencies or maintain ranges
    • Rate limit PR creation to a maximum of two per hour
    • Limit to maximum 10 open PRs at any time
    • Group known monorepo packages together
    • Use curated list of recommended non-monorepo package groupings
    • Fix some problems with very old Maven commons versions
    • Ignore spring cloud 1.x releases
    • Ignore web3j 5.0.0 release
    • Ignore http4s digest-based 1.x milestones
    • Use node versioning for @types/node
    • Limit concurrent requests to reduce load on Repology servers until we can fix this properly, see issue 10133
    • Do not upgrade from Alpine stable to edge

    🔡 Would you like to change the way Renovate is upgrading your dependencies? Simply edit the renovate.json in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.


    What to Expect

    It looks like your repository dependencies are already up-to-date and no Pull Requests will be necessary right away.


    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    This PR has been generated by Mend Renovate. View repository job log here.

  • Dependency Dashboard

    Dependency Dashboard

    This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

    Open

    These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

    • [ ] fix(deps): update minor go packages (go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux, go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp, go.opentelemetry.io/otel, go.opentelemetry.io/otel/exporters/otlp/otlptrace, go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc, go.opentelemetry.io/otel/sdk, go.opentelemetry.io/otel/trace, golang.org/x/text)

    Detected dependencies

    docker-compose
    docker-compose.yml
    dockerfile
    Dockerfile
    gomod
    go.mod
    • go 1.19
    • github.com/PuerkitoBio/goquery v1.8.0
    • github.com/gorilla/mux v1.8.0
    • github.com/sahilm/fuzzy v0.1.0
    • go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux v0.34.0
    • go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.34.0
    • go.opentelemetry.io/otel v1.9.0
    • go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.9.0
    • go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.9.0
    • go.opentelemetry.io/otel/sdk v1.9.0
    • go.opentelemetry.io/otel/trace v1.9.0
    • golang.org/x/text v0.3.7

    • [ ] Check this box to trigger a request for Renovate to run again on this repository
  • fix(deps): update minor go packages

    fix(deps): update minor go packages

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux | require | minor | v0.34.0 -> v0.37.0 | | go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp | require | minor | v0.34.0 -> v0.37.0 | | go.opentelemetry.io/otel | require | minor | v1.9.0 -> v1.11.2 | | go.opentelemetry.io/otel/exporters/otlp/otlptrace | require | minor | v1.9.0 -> v1.11.2 | | go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc | require | minor | v1.9.0 -> v1.11.2 | | go.opentelemetry.io/otel/sdk | require | minor | v1.9.0 -> v1.11.2 | | go.opentelemetry.io/otel/trace | require | minor | v1.9.0 -> v1.11.2 | | golang.org/x/text | require | minor | v0.3.7 -> v0.6.0 |


    Release Notes

    open-telemetry/opentelemetry-go

    v1.11.2: /0.34.0

    Compare Source

    Added
    • The WithView Option is added to the go.opentelemetry.io/otel/sdk/metric package. This option is used to configure the view(s) a MeterProvider will use for all Readers that are registered with it. (#​3387)
    • Add Instrumentation Scope and Version as info metric and label in Prometheus exporter. This can be disabled using the WithoutScopeInfo() option added to that package.(#​3273, #​3357)
    • OTLP exporters now recognize: (#​3363)
      • OTEL_EXPORTER_OTLP_INSECURE
      • OTEL_EXPORTER_OTLP_TRACES_INSECURE
      • OTEL_EXPORTER_OTLP_METRICS_INSECURE
      • OTEL_EXPORTER_OTLP_CLIENT_KEY
      • OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY
      • OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY
      • OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE
      • OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE
      • OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE
    • The View type and related NewView function to create a view according to the OpenTelemetry specification are added to go.opentelemetry.io/otel/sdk/metric. These additions are replacements for the View type and New function from go.opentelemetry.io/otel/sdk/metric/view. (#​3459)
    • The Instrument and InstrumentKind type are added to go.opentelemetry.io/otel/sdk/metric. These additions are replacements for the Instrument and InstrumentKind types from go.opentelemetry.io/otel/sdk/metric/view. (#​3459)
    • The Stream type is added to go.opentelemetry.io/otel/sdk/metric to define a metric data stream a view will produce. (#​3459)
    • The AssertHasAttributes allows instrument authors to test that datapoints returned have appropriate attributes. (#​3487)
    Changed
    • The "go.opentelemetry.io/otel/sdk/metric".WithReader option no longer accepts views to associate with the Reader. Instead, views are now registered directly with the MeterProvider via the new WithView option. The views registered with the MeterProvider apply to all Readers. (#​3387)
    • The Temporality(view.InstrumentKind) metricdata.Temporality and Aggregation(view.InstrumentKind) aggregation.Aggregation methods are added to the "go.opentelemetry.io/otel/sdk/metric".Exporter interface. (#​3260)
    • The Temporality(view.InstrumentKind) metricdata.Temporality and Aggregation(view.InstrumentKind) aggregation.Aggregation methods are added to the "go.opentelemetry.io/otel/exporters/otlp/otlpmetric".Client interface. (#​3260)
    • The WithTemporalitySelector and WithAggregationSelector ReaderOptions have been changed to ManualReaderOptions in the go.opentelemetry.io/otel/sdk/metric package. (#​3260)
    • The periodic reader in the go.opentelemetry.io/otel/sdk/metric package now uses the temporality and aggregation selectors from its configured exporter instead of accepting them as options. (#​3260)
    Fixed
    • The go.opentelemetry.io/otel/exporters/prometheus exporter fixes duplicated _total suffixes. (#​3369)
    • Remove comparable requirement for Readers. (#​3387)
    • Cumulative metrics from the OpenCensus bridge (go.opentelemetry.io/otel/bridge/opencensus) are defined as monotonic sums, instead of non-monotonic. (#​3389)
    • Asynchronous counters (Counter and UpDownCounter) from the metric SDK now produce delta sums when configured with delta temporality. (#​3398)
    • Exported Status codes in the go.opentelemetry.io/otel/exporters/zipkin exporter are now exported as all upper case values. (#​3340)
    • Aggregations from go.opentelemetry.io/otel/sdk/metric with no data are not exported. (#​3394, #​3436)
    • Reenabled Attribute Filters in the Metric SDK. (#​3396)
    • Asynchronous callbacks are only called if they are registered with at least one instrument that does not use drop aggragation. (#​3408)
    • Do not report empty partial-success responses in the go.opentelemetry.io/otel/exporters/otlp exporters. (#​3438, #​3432)
    • Handle partial success responses in go.opentelemetry.io/otel/exporters/otlp/otlpmetric exporters. (#​3162, #​3440)
    • Prevent duplicate Prometheus description, unit, and type. (#​3469)
    • Prevents panic when using incorrect attribute.Value.As[Type]Slice(). (#​3489)
    Removed
    • The go.opentelemetry.io/otel/exporters/otlp/otlpmetric.Client interface is removed. (#​3486)
    • The go.opentelemetry.io/otel/exporters/otlp/otlpmetric.New function is removed. Use the otlpmetric[http|grpc].New directly. (#​3486)
    Deprecated
    • The go.opentelemetry.io/otel/sdk/metric/view package is deprecated. Use Instrument, InstrumentKind, View, and NewView in go.opentelemetry.io/otel/sdk/metric instead. (#​3476)

    v1.11.1: /v0.33.0

    Compare Source

    Added
    • The Prometheus exporter in go.opentelemetry.io/otel/exporters/prometheus registers with a Prometheus registerer on creation. By default, it will register with the default Prometheus default registerer. A non-default registerer can be used by passing the WithRegisterer option. (#​3239)
    • Added the WithAggregationSelector option to the go.opentelemetry.io/otel/exporters/prometheus package to change the default AggregationSelector used. (#​3341)
    • The Prometheus exporter in go.opentelemetry.io/otel/exporters/prometheus converts the Resource associated with metric exports into a target_info metric. (#​3285)
    Changed
    • The "go.opentelemetry.io/otel/exporters/prometheus".New function is updated to return an error. It will return an error if the exporter fails to register with Prometheus. (#​3239)
    Fixed
    • The URL-encoded values from the OTEL_RESOURCE_ATTRIBUTES environment variable are decoded. (#​2963)
    • The baggage.NewMember function decodes the value parameter instead of directly using it. This fixes the implementation to be compliant with the W3C specification. (#​3226)
    • Slice attributes of the attribute package are now comparable based on their value, not instance. (#​3108 #​3252)
    • The Shutdown and ForceFlush methods of the "go.opentelemetry.io/otel/sdk/trace".TraceProvider no longer return an error when no processor is registered. (#​3268)
    • The Prometheus exporter in go.opentelemetry.io/otel/exporters/prometheus cumulatively sums histogram buckets. (#​3281)
    • The sum of each histogram data point is now uniquely exported by the go.opentelemetry.io/otel/exporters/otlpmetric exporters. (#​3284, #​3293)
    • Recorded values for asynchronous counters (Counter and UpDownCounter) are interpreted as exact, not incremental, sum values by the metric SDK. (#​3350, #​3278)
    • UpDownCounters are now correctly output as Prometheus gauges in the go.opentelemetry.io/otel/exporters/prometheus exporter. (#​3358)
    • The Prometheus exporter in go.opentelemetry.io/otel/exporters/prometheus no longer describes the metrics it will send to Prometheus on startup. Instead the exporter is defined as an "unchecked" collector for Prometheus. This fixes the reader is not registered warning currently emitted on startup. (#​3291 #​3342)
    • The go.opentelemetry.io/otel/exporters/prometheus exporter now correctly adds _total suffixes to counter metrics. (#​3360)
    • The go.opentelemetry.io/otel/exporters/prometheus exporter now adds a unit suffix to metric names. This can be disabled using the WithoutUnits() option added to that package. (#​3352)

    v1.11.0: /v0.32.3

    Compare Source

    Retracts the v0.32.2 version of go.opentelemetry.io/otel/exporters/otlpmetric/otlpmetricgrpc and go.opentelemetry.io/otel/exporters/otlpmetric/otlpmetrichttp given they include unresolvable dependencies.

    Added
    • Add default User-Agent header to OTLP exporter requests (go.opentelemetry.io/otel/exporters/otlptrace/otlptracegrpc and go.opentelemetry.io/otel/exporters/otlptrace/otlptracehttp). (#​3261)
    Changed
    • span.SetStatus has been updated such that calls that lower the status are now no-ops. (#​3214)
    • Upgrade golang.org/x/sys/unix from v0.0.0-20210423185535-09eb48e85fd7 to v0.0.0-20220919091848-fb04ddd9f9c8. This addresses GO-2022-0493. (#​3235)

    v1.10.0

    Compare Source

    Added
    • Support Go 1.19. (#​3077) Include compatibility testing and document support. (#​3077)
    • Support the OTLP ExportTracePartialSuccess response; these are passed to the registered error handler. (#​3106)
    • Upgrade go.opentelemetry.io/proto/otlp from v0.18.0 to v0.19.0 (#​3107)
    Changed
    • Fix misidentification of OpenTelemetry SpanKind in OpenTracing bridge (go.opentelemetry.io/otel/bridge/opentracing). (#​3096)
    • Attempting to start a span with a nil context will no longer cause a panic. (#​3110)
    • All exporters will be shutdown even if one reports an error (#​3091)
    • Ensure valid UTF-8 when truncating over-length attribute values. (#​3156)
    golang/text

    v0.6.0

    Compare Source

    v0.5.0

    Compare Source

    v0.4.0

    Compare Source

    v0.3.8

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

Lol-champions-api - A REST API app for CRUD' ing informations related to League of Legends champions, written with Go

LOL-CHAMPIONS-API Just a REST API app for CRUD' ing informations related to Leag

Mar 17, 2022
Pokemon Unite scoreboard HUD and extra tools running over captured game feeds using the OpenCV video processing API and Client/Server architecture.
Pokemon Unite scoreboard HUD and extra tools running over captured game feeds using the OpenCV video processing API and Client/Server architecture.

unite Pokemon Unite scoreboard HUD and extra tools running over captured game feeds using the OpenCV video processing API. Client (OBS Live) Server Ar

Dec 5, 2022
go-whatsapp-rest-API is a Go library for the WhatsApp web which use Swagger as api interface

go-whatsapp-rest-API go-whatsapp-rest-API is a Go library for the WhatsApp web which use Swagger as api interface Multi-devices (MD) Support. This ver

Dec 15, 2022
Api-product - A basic REST-ish API that allows you to perform CRUD operations for Products

Description A basic REST-ish API that allows you to perform CRUD operations for

Jan 3, 2022
Gopedia: an alternative to get summaries from Wikipedia API

Gopedia Gopedia is an alternative to get summaries from Wikipedia API ♻️ Changel

Mar 18, 2022
Clean-todo - An example of go app with clean architecture

clean-todo An example of go app with clean application Functionality This is a s

Jan 26, 2022
Go Twitter REST and Streaming API v1.1

go-twitter go-twitter is a Go client library for the Twitter API. Check the usage section or try the examples to see how to access the Twitter API. Fe

Dec 28, 2022
Fluent JavaScript API for SharePoint and Microsoft Graph REST APIs
Fluent JavaScript API for SharePoint and Microsoft Graph REST APIs

PnPjs is a fluent JavaScript API for consuming SharePoint and Microsoft Graph REST APIs in a type-safe way. You can use it with SharePoint Framework,

Dec 23, 2022
Golang client for PayPal REST API

Go client for PayPal REST API Coverage POST /v1/oauth2/token POST /v1/identity/openidconnect/tokenservice GET /v1/identity/openidconnect/userinfo/?sch

Dec 25, 2022
Unofficial Go SDK for GoPay Payments REST API

Unofficial Go SDK for GoPay Payments REST API Installation go get https://github.com/apparently-studio/gopay-go-api Basic usage client := gopay.NewCl

Nov 18, 2022
Use Google REST api to extract your personal Photo Library

Photo Go A better approach to extracting your photos from Google to your personal cloud. I'm moving my photos out of Google to a Synology NAS. create

Dec 7, 2021
A REST API microservices-based Twitter Clone server.

Simple API Twitter Clone A REST API microservices-based project to fetch, edit, post, and delete tweets. API documentation The API documentation is bu

May 13, 2022
Go REST API for movies

Greenlight API Greenlight is an api, i implemented by following the book Let's Go Further by Alex Edwards If you like what you see please consider buy

Jul 17, 2022
Hassle-free REST API testing for Go

melatonin melatonin is a fluent, flexible REST API testing library for Go. It provides many of the benefits of a domain-specific test language but wit

Jan 8, 2022
A rest-api that works with golang as coin portfolio

Koinfolio A rest-api that works with golang as coin portfolio Technical Details Golang/Gin is used as application framework MongoDB is database Usage

Jun 1, 2022
REST API for "MovieShare".

movieshare_api Repository for backend of project "MovieShare". MovieShare API An awesome API for project "MovieShare". Requirements See modules list i

Apr 14, 2022
Stq - Simple Task Queue with REST API

stq Simple Tasks Queue with HTTP API Environments list: Variable Value BACKEND m

Jan 5, 2022
Todosappdeploy - Todos REST API build using echo server

Todos Week 5 - Project Todo List Todos REST API build using echo server. The cod

Jan 14, 2022
Rest Api server, написанный на Golang

Задача: создать простой REST API, который будет позволять получать информацию про пиццу. Шаг 1. Желаемый функционал. Хотим собрать простой веб-сервер,

Aug 26, 2022