A library that implements the outboxer pattern in go

Outboxer

Build Status Coverage Status Go Report Card GoDoc

Outboxer is a go library that implements the outbox pattern.

Getting Started

Outboxer was designed to simplify the tough work of orchestrating message reliabilty. Essentially we are trying to solve this question:

How can producers reliably send messages when the broker/consumer is unavailable?

If you have a distributed system architecture and especially is dealing with Event Driven Architecture, you might want to use outboxer.

The first thing to do is include the package in your project

go get github.com/italolelis/outboxer

Initial Configuration

Let's setup a simple example where you are using RabbitMQ and Postgres as your outbox pattern components:

ctx, cancel := context.WithCancel(context.Background())
defer cancel()

db, err := sql.Open("postgres", os.Getenv("DS_DSN"))
if err != nil {
    fmt.Printf("could not connect to amqp: %s", err)
    return
}

conn, err := amqp.Dial(os.Getenv("ES_DSN"))
if err != nil {
    fmt.Printf("could not connect to amqp: %s", err)
    return
}

// we need to create a data store instance first
ds, err := postgres.WithInstance(ctx, db)
if err != nil {
    fmt.Printf("could not setup the data store: %s", err)
    return
}
defer ds.Close()

// we create an event stream passing the amqp connection
es := amqpOut.NewAMQP(conn)

// now we create an outboxer instance passing the data store and event stream
o, err := outboxer.New(
    outboxer.WithDataStore(ds),
    outboxer.WithEventStream(es),
    outboxer.WithCheckInterval(1*time.Second),
    outboxer.WithCleanupInterval(5*time.Second),
    outboxer.WithCleanUpBefore(time.Now().AddDate(0, 0, -5)),
)
if err != nil {
    fmt.Printf("could not create an outboxer instance: %s", err)
    return
}

// here we initialize the outboxer checks and cleanup go rotines
o.Start(ctx)
defer o.Stop()

// finally we are ready to send messages
if err = o.Send(ctx, &outboxer.OutboxMessage{
    Payload: []byte("test payload"),
    Options: map[string]interface{}{
        amqpOut.ExchangeNameOption: "test",
        amqpOut.ExchangeTypeOption: "topic",
        amqpOut.RoutingKeyOption:   "test.send",
    },
}); err != nil {
    fmt.Printf("could not send message: %s", err)
    return
}

// we can also listen for errors and ok messages that were send
for {
    select {
    case err := <-o.ErrChan():
        fmt.Printf("could not send message: %s", err)
    case <-o.OkChan():
        fmt.Printf("message received")
        return
    }
}

Features

Outboxer comes with a few implementations of Data Stores and Event Streams.

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

License

This project is licensed under the MIT License - see the LICENSE file for details

Owner
Ítalo Vietro
I'm a Software Engineer that loves Go, Kubernetes and anything Open Source!
Ítalo Vietro
Comments
  • Implement Leadership Election

    Implement Leadership Election

    In scenarios where we have more than a single instance of the outboxer running, we have two options to avoid sending the same messages.

    1. Only enable o.Start() in one of the instances. This would imply in some dynamic configuration that will be passed only to a single instance.
    2. Implement a leadership election that will choose who will do o.Start() and be responsible for checking for new messages and try to send them to the external provider (message broker, third party APIs, etc).

    The first option seems quite flaky and not really a polished solution. Therefore, I'd suggest that we implement the 2nd option using something like Raft Consensus Algorithm.

  • Bump github.com/rabbitmq/amqp091-go from 1.3.0 to 1.5.0

    Bump github.com/rabbitmq/amqp091-go from 1.3.0 to 1.5.0

    Bumps github.com/rabbitmq/amqp091-go from 1.3.0 to 1.5.0.

    Release notes

    Sourced from github.com/rabbitmq/amqp091-go's releases.

    v1.5.0

    GitHub Milestone

    Highlights:

    • Support for the AMQP method connection.update-secret, which allows authentication tokens to be refreshed (PR)

    What's Changed

    New Contributors

    Full Changelog: https://github.com/rabbitmq/amqp091-go/compare/v1.4.0...v1.5.0

    v1.4.0

    GitHub Milestone

    Full Diff

    Highlights:

    • Improvements in CI builds, including adding a Windows build.
    • Miscellaneous bug fixes that could hang an application.
    • Ability to cancel DeferredConfirmation

    v.1.3.4

    What's Changed

    • Rectified some doc information of release v1.3.3

    Full Changelog: https://github.com/rabbitmq/amqp091-go/compare/v1.3.3...v1.3.4

    v.1.3.3

    What's Changed

    Full Changelog: https://github.com/rabbitmq/amqp091-go/compare/v1.3.3...v1.3.2

    v1.3.2

    What's Changed

    • Bumped version from 1.3.1

    Full Changelog: https://github.com/rabbitmq/amqp091-go/compare/v1.3.2...v1.3.1

    v1.3.1

    What's Changed

    ... (truncated)

    Commits
    • 5039e19 Version 1.5.0
    • 20e949e use PublishWithContext (#115)
    • ac70118 Add support for connection.update-secret (#114)
    • 6839a62 Merge pull request #113 from rabbitmq/small-readme-update
    • 1d9c22a Merge pull request #110 from rabbitmq/update-amqp-spec
    • ce9c012 Remove warning on RabbitMQ tutorials in go
    • 3e29db7 Update spec
    • 5d0fed7 Update connection capabilities
    • 36aa49d Merge pull request #109 from rabbitmq/example-reliable-consumer
    • feb4ba5 Add an example of reliable consumer
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump google.golang.org/grpc from 1.47.0 to 1.49.0

    Bump google.golang.org/grpc from 1.47.0 to 1.49.0

    Bumps google.golang.org/grpc from 1.47.0 to 1.49.0.

    Release notes

    Sourced from google.golang.org/grpc's releases.

    Release 1.49.0

    New Features

    • gcp/observability: add support for Environment Variable GRPC_CONFIG_OBSERVABILITY_JSON (#5525)
    • gcp/observability: add support for custom tags (#5565)

    Behavior Changes

    • server: reduce log level from Warning to Info for early connection establishment errors (#5524)

    Bug Fixes

    • client: fix race in flow control that could lead to unexpected EOF errors (#5494)
    • client: fix a race that could cause RPCs to time out instead of failing more quickly with UNAVAILABLE (#5503)
    • client & server: fix a panic caused by passing a nil stats handler to grpc.WithStatsHandler or grpc.StatsHandler (#5543)
    • transport/server: fix a race that could cause a stray header to be sent (#5513)
    • balancer: give precedence to IDLE over TRANSIENT_FAILURE when aggregating connectivity state (#5473)
    • xds/xdsclient: request correct resource name when user specifies a new style resource name with empty authority (#5488)
    • xds/xdsclient: NACK endpoint resources with zero weight (#5560)
    • xds/xdsclient: fix bug that would reset resource version information after ADS stream restart (#5422)
    • xds/xdsclient: fix goroutine leaks when load reporting is enabled (#5505)
    • xds/ringhash: fix config update processing to recreate ring and picker when min/max ring size changes (#5557)
    • xds/ringhash: avoid recreating subChannels when update doesn't change address weight information (#5431)
    • xds/priority: fix bug which could cause priority LB to block all traffic after a config update (#5549)
    • xds: fix bug when environment variable GRPC_EXPERIMENTAL_ENABLE_OUTLIER_DETECTION is set to true (#5537)

    Release 1.48.0

    Bug Fixes

    • xds/priority: fix bug that could prevent higher priorities from receiving config updates (#5417)
    • RLS load balancer: don't propagate the status code returned on control plane RPCs to data plane RPCs (#5400)

    New Features

    • stats: add support for multiple stats handlers in a single client or server (#5347)
    • gcp/observability: add experimental OpenCensus tracing/metrics support (#5372)
    • xds: enable aggregate and logical DNS clusters by default (#5380)
    • credentials/google (for xds): support xdstp C2P cluster names (#5399)
    Commits
    • 1c29e07 Change version to 1.49.0 (#5583)
    • 8e5a84e xds/resolver: generate channel ID randomly (#5603)
    • 92cee34 gcp/observability: Add logging filters for logging, tracing, and metrics API ...
    • c7fe135 O11Y: Added support for custom tags (#5565)
    • 7981af4 test/kokoro: add missing image tagging to the xDS interop url map buildscript...
    • 6f34b7a xdsclient: NACK endpoint resource if load_balancing_weight is specified and i...
    • f9409d3 ringhash: handle config updates properly (#5557)
    • 946dde0 xdsclient: NACK endpoint resources with zero weight (#5560)
    • b89f49b xdsclient: deflake Test/LDSWatch_PartialValid (#5552)
    • 9bc72de grpc: remove mentions of WithBalancerName from comments (#5555)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump cloud.google.com/go/pubsub from 1.24.0 to 1.25.1

    Bump cloud.google.com/go/pubsub from 1.24.0 to 1.25.1

    Bumps cloud.google.com/go/pubsub from 1.24.0 to 1.25.1.

    Release notes

    Sourced from cloud.google.com/go/pubsub's releases.

    pubsub: v1.25.1

    1.25.1 (2022-08-24)

    Bug Fixes

    storage: v1.25.0

    1.25.0 (2022-08-11)

    Features

    • storage/internal: Add routing annotations (8a8ba85)
    • storage: refactor to use transport-agnostic interface (#6465) (d03c3e1)

    pubsub: v1.25.0

    1.25.0 (2022-08-23)

    Features

    Documentation

    Commits
    • 75065bc chore(main): release pubsub 1.25.1 (#6559)
    • be9dcfb fix(pubsub): up version of cloud.google.com/go (#6558)
    • 2681062 chore(main): release 0.104.0 (#6469)
    • 757f1ca feat(spanner): set client wide ReadOptions, ApplyOptions, and TransactionOpti...
    • b3ec895 chore(logging): update environment tests to use python3.9 (#6554)
    • 7e00d2d chore(main): release bigquery 1.39.0 (#6540)
    • d4375fa chore(main): release pubsub 1.25.0 (#6456)
    • f35492d chore: release main (#6549)
    • 7b01462 chore(all): auto-regenerate gapics (#6550)
    • b7bac2f feat(bigquery): add PreserveAsciiControlCharacters support for CSV (#6448)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github/codeql-action from 1 to 2

    Bump github/codeql-action from 1 to 2

    Bumps github/codeql-action from 1 to 2.

    Changelog

    Sourced from github/codeql-action's changelog.

    2.1.9 - 27 Apr 2022

    • Add working-directory input to the autobuild action. #1024
    • The analyze and upload-sarif actions will now wait up to 2 minutes for processing to complete after they have uploaded the results so they can report any processing errors that occurred. This behavior can be disabled by setting the wait-for-processing action input to "false". #1007
    • Update default CodeQL bundle version to 2.9.0.
    • Fix a bug where status reporting fails on Windows. #1042

    2.1.8 - 08 Apr 2022

    • Update default CodeQL bundle version to 2.8.5. #1014
    • Fix error where the init action would fail due to a GitHub API request that was taking too long to complete #1025

    2.1.7 - 05 Apr 2022

    • A bug where additional queries specified in the workflow file would sometimes not be respected has been fixed. #1018

    2.1.6 - 30 Mar 2022

    • [v2+ only] The CodeQL Action now runs on Node.js v16. #1000
    • Update default CodeQL bundle version to 2.8.4. #990
    • Fix a bug where an invalid commit_oid was being sent to code scanning when a custom checkout path was being used. #956
    Commits
    • 3962f1b Bump glob from 7.1.7 to 8.0.1
    • 9daf1de Update references to release branches
    • bce749b Improve consistency of variable references in Bash
    • fce4a01 Update the major version tag within the release process
    • bac9320 Update description of "Tag release and merge back" workflow
    • b3bf557 Merge branch 'main' into henrymercer/handle-merge-conflicts-in-releases
    • f6312f1 Commit any conflicts during v1 backport to simplify release process
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump google.golang.org/grpc from 1.40.1 to 1.45.0

    Bump google.golang.org/grpc from 1.40.1 to 1.45.0

    Bumps google.golang.org/grpc from 1.40.1 to 1.45.0.

    Release notes

    Sourced from google.golang.org/grpc's releases.

    Release 1.45.0

    Bug Fixes

    • xds/clusterresolver: pass cluster name to DNS child policy to be used in creds handshake (#5119)
    • reflection: support dynamic messages (#5180)

    Performance Improvements

    Behavior Changes

    • server: convert context errors returned by service handlers to status with the correct status code (Canceled or DeadlineExceeded), instead of Unknown (#5156)

    New Features

    • reflection: add NewServer(ServerOptions) for creating a reflection server with advanced customizations (#5197)
    • xds: support federation (#5128)
    • xds/resource: accept Self as LDS's RDS config source and CDS's EDS config source (#5152)
    • xds/bootstrap: add plugin system for credentials specified in bootstrap file (#5136)

    Release 1.44.0

    New Features

    • balancer: add RLS load balancing policy (#5046)
    • xds: add RLS Cluster Specifier Plugin (#5004)
    • insecure: remove experimental notice (#5069)

    Bug Fixes

    • internal/balancergroup: eliminate race in exitIdle (#5012)
    • authz: fix regex expression match (#5035)

    Documentation

    • grpc: minor improvement on WithInsecure() document (#5068)
    • attributes: document that some value types (e.g. maps) must implement Equal (#5109)
    • dialoptions.go: Fix WithBlock godoc (#5073)
    • grpclog.DepthLoggerV2: Correct comment: formats like fmt.Println (#5038)

    Release 1.43.0

    API Changes

    • grpc: stabilize WithConnectParams DialOption (#4915)

    ... (truncated)

    Commits
    • a82cc96 Change version to 1.45.0 (#5202)
    • 011544f authz: add additional logs to sdk authz (#5094)
    • 18564ff reflection: improve server implementation (#5197)
    • ec717ca xds: minor cleanup in xdsclient bootstrap code (#5195)
    • ebc30b8 reflection: use protobuf/reflect instead of go reflection, fix dynamic messag...
    • 46009ac transport: Add an Unwrap method to ConnectionError (#5148)
    • 75fd024 remove sdk term from grpc authz (#5191)
    • a354b1e channelz: rename NewChannelzStorage to NewChannelzStorageForTesting (#5190)
    • 0e05549 Format directory/file references (#5184)
    • c44f627 cleanup: replace grpc.WithInsecure with insecure.NewCredentials (#5177)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump google.golang.org/grpc from 1.50.1 to 1.51.0

    Bump google.golang.org/grpc from 1.50.1 to 1.51.0

    Bumps google.golang.org/grpc from 1.50.1 to 1.51.0.

    Release notes

    Sourced from google.golang.org/grpc's releases.

    Release 1.51.0

    Behavior Changes

    • xds: NACK EDS resources with duplicate addresses in accordance with a recent spec change (#5715)
    • grpc: restrict status codes that can be generated by the control plane (gRFC A54) (#5653)

    New Features

    • client: set grpc-accept-encoding header with all registered compressors (#5541)
    • xds/weightedtarget: return a more meaningful error when all child policies are in TRANSIENT_FAILURE (#5711)
    • gcp/observability: add "started rpcs" metric (#5768)
    • xds: de-experimentalize the google-c2p-resolver (#5707)
    • balancer: add experimental Producer types and methods (#5669)
    • orca: provide a way for LB policies to receive OOB load reports (#5669)

    Bug Fixes

    • go.mod: upgrade x/text dependency to address CVE 2022-32149 (#5769)
    • client: fix race that could lead to an incorrect connection state if it was closed immediately after the server's HTTP/2 preface was received (#5714)
    • xds: ensure sum of the weights of all EDS localities at the same priority level does not exceed uint32 max (#5703)
    • client: fix binary logging bug which logs a server header on a trailers-only response (#5763)
    • balancer/priority: fix a bug where unreleased references to removed child policies (and associated state) was causing a memory leak (#5682)
    • xds/google-c2p: validate URI schema for no authorities (#5756)
    Commits
    • eeb9afa Change version to 1.51.0 (#5782)
    • 72812fe gcp/observability: filter logging from cloud ops endpoints calls (#5765)
    • 0ae33e6 xdsclient: remove unused test code (#5772)
    • 824f449 go.mod: upgrade x/text to v0.4 to address CVE (#5769)
    • 7f23df0 xdsclient: switch xdsclient watch deadlock test to e2e style (#5697)
    • 32f969e o11y: Added started rpc metric in o11y plugin (#5768)
    • b597a8e xdsclient: improve authority watchers test (#5700)
    • e41e894 orca: create ORCA producer for LB policies to use to receive OOB load reports...
    • 36d14db Fix binary logging bug which logs a server header on a trailers only response...
    • fcb8bdf xds/google-c2p: validate url for no authorities (#5756)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump golangci/golangci-lint-action from 3.3.0 to 3.3.1

    Bump golangci/golangci-lint-action from 3.3.0 to 3.3.1

    Bumps golangci/golangci-lint-action from 3.3.0 to 3.3.1.

    Release notes

    Sourced from golangci/golangci-lint-action's releases.

    v3.3.1

    What's Changed

    Full Changelog: https://github.com/golangci/golangci-lint-action/compare/v3...v3.3.1

    Commits
    • 0ad9a09 build(deps-dev): bump @​typescript-eslint/parser from 5.41.0 to 5.42.0 (#599)
    • 235ea57 build(deps-dev): bump eslint from 8.26.0 to 8.27.0 (#598)
    • a6ed001 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.41.0 to 5.42.0 ...
    • 3a7156a build(deps-dev): bump @​typescript-eslint/parser from 5.40.1 to 5.41.0 (#596)
    • 481f8ba build(deps): bump @​types/semver from 7.3.12 to 7.3.13 (#595)
    • 06edb37 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.40.1 to 5.41.0 ...
    • c2f79a7 build(deps): bump @​actions/cache from 3.0.5 to 3.0.6 (#593)
    • d6eac69 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.40.0 to 5.40.1 ...
    • 7268434 build(deps-dev): bump eslint from 8.25.0 to 8.26.0 (#591)
    • a926e2b build(deps-dev): bump @​typescript-eslint/parser from 5.40.0 to 5.40.1 (#590)
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/aws/aws-sdk-go from 1.44.121 to 1.44.135

    Bump github.com/aws/aws-sdk-go from 1.44.121 to 1.44.135

    Bumps github.com/aws/aws-sdk-go from 1.44.121 to 1.44.135.

    Release notes

    Sourced from github.com/aws/aws-sdk-go's releases.

    Release v1.44.135 (2022-11-10)

    Service Client Updates

    • service/autoscaling: Updates service documentation
      • This release adds a new price capacity optimized allocation strategy for Spot Instances to help customers optimize provisioning of Spot Instances via EC2 Auto Scaling, EC2 Fleet, and Spot Fleet. It allocates Spot Instances based on both spare capacity availability and Spot Instance price.
    • service/ec2: Updates service API and documentation
      • This release adds a new price capacity optimized allocation strategy for Spot Instances to help customers optimize provisioning of Spot Instances via EC2 Auto Scaling, EC2 Fleet, and Spot Fleet. It allocates Spot Instances based on both spare capacity availability and Spot Instance price.
    • service/ecs: Updates service API, documentation, and examples
      • This release adds support for task scale-in protection with updateTaskProtection and getTaskProtection APIs. UpdateTaskProtection API can be used to protect a service managed task from being terminated by scale-in events and getTaskProtection API to get the scale-in protection status of a task.
    • service/es: Updates service API and documentation
      • Amazon OpenSearch Service now offers managed VPC endpoints to connect to your Amazon OpenSearch Service VPC-enabled domain in a Virtual Private Cloud (VPC). This feature allows you to privately access OpenSearch Service domain without using public IPs or requiring traffic to traverse the Internet.
    • service/resource-explorer-2: Updates service documentation
    • service/scheduler: Updates service API, documentation, paginators, and examples

    Release v1.44.134 (2022-11-09)

    Service Client Updates

    • service/connect: Updates service API and documentation
    • service/connectcases: Updates service API and documentation
    • service/ec2: Updates service API
      • Amazon EC2 Trn1 instances, powered by AWS Trainium chips, are purpose built for high-performance deep learning training. u-24tb1.112xlarge and u-18tb1.112xlarge High Memory instances are purpose-built to run large in-memory databases.
    • service/groundstation: Updates service API, documentation, and paginators
    • service/mediapackage-vod: Updates service API and documentation
    • service/transcribe-streaming: Updates service API and documentation

    Release v1.44.133 (2022-11-08)

    Service Client Updates

    • service/acm: Updates service API and documentation
      • Support added for requesting elliptic curve certificate key algorithm types P-256 (EC_prime256v1) and P-384 (EC_secp384r1).
    • service/billingconductor: Updates service API, documentation, and paginators
    • service/ec2: Updates service API and documentation
      • This release enables sharing of EC2 Placement Groups across accounts and within AWS Organizations using Resource Access Manager
    • service/fms: Updates service API and documentation
    • service/lightsail: Updates service API and documentation
      • This release adds support for Amazon Lightsail to automate the delegation of domains registered through Amazon Route 53 to Lightsail DNS management and to automate record creation for DNS validation of Lightsail SSL/TLS certificates.
    • service/opensearch: Updates service API and documentation
    • service/polly: Updates service API
      • Amazon Polly adds new voices: Elin (sv-SE), Ida (nb-NO), Laura (nl-NL) and Suvi (fi-FI). They are available as neural voices only.
    • service/resource-explorer-2: Adds new service
    • service/route53: Updates service API and documentation
      • Amazon Route 53 now supports the Europe (Zurich) Region (eu-central-2) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.

    Release v1.44.132 (2022-11-07)

    Service Client Updates

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump google.golang.org/api from 0.100.0 to 0.102.0

    Bump google.golang.org/api from 0.100.0 to 0.102.0

    Bumps google.golang.org/api from 0.100.0 to 0.102.0.

    Release notes

    Sourced from google.golang.org/api's releases.

    v0.102.0

    0.102.0 (2022-11-02)

    Features

    v0.101.0

    0.101.0 (2022-10-25)

    Features

    Changelog

    Sourced from google.golang.org/api's changelog.

    0.102.0 (2022-11-02)

    Features

    0.101.0 (2022-10-25)

    Features

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/aws/aws-sdk-go from 1.44.121 to 1.44.126

    Bump github.com/aws/aws-sdk-go from 1.44.121 to 1.44.126

    Bumps github.com/aws/aws-sdk-go from 1.44.121 to 1.44.126.

    Release notes

    Sourced from github.com/aws/aws-sdk-go's releases.

    Release v1.44.126 (2022-10-28)

    Service Client Updates

    • service/apprunner: Updates service API
    • service/appstream: Updates service API and documentation
      • This release includes CertificateBasedAuthProperties in CreateDirectoryConfig and UpdateDirectoryConfig.
    • service/cloud9: Updates service documentation
      • Update to the documentation section of the Cloud9 API Reference guide.
    • service/cloudformation: Updates service API and documentation
      • This release adds more fields to improves visibility of AWS CloudFormation StackSets information in following APIs: ListStackInstances, DescribeStackInstance, ListStackSetOperationResults, ListStackSetOperations, DescribeStackSetOperation.
    • service/gamesparks: Updates service API
    • service/mediatailor: Updates service API and documentation
    • service/privatenetworks: Adds new service
    • service/support-app: Adds new service

    Release v1.44.125 (2022-10-27)

    Service Client Updates

    • service/ec2: Updates service API and documentation
      • Feature supports the replacement of instance root volume using an updated AMI without requiring customers to stop their instance.
    • service/fms: Updates service API and documentation
    • service/glue: Updates service API and documentation
      • Added support for custom datatypes when using custom csv classifier.
    • service/redshift: Updates service documentation
      • This release clarifies use for the ElasticIp parameter of the CreateCluster and RestoreFromClusterSnapshot APIs.
    • service/sagemaker: Updates service API and documentation
      • This change allows customers to provide a custom entrypoint script for the docker container to be run while executing training jobs, and provide custom arguments to the entrypoint script.
    • service/wafv2: Updates service API and documentation

    Release v1.44.124 (2022-10-26)

    Service Client Updates

    • service/iam: Updates service documentation
      • Doc only update that corrects instances of CLI not using an entity.
    • service/kafka: Updates service API and documentation
    • service/neptune: Updates service API, documentation, and paginators
      • Added a new cluster-level attribute to set the capacity range for Neptune Serverless instances.
    • service/sagemaker: Updates service API
      • Amazon SageMaker Automatic Model Tuning now supports specifying Grid Search strategy for tuning jobs, which evaluates all hyperparameter combinations exhaustively based on the categorical hyperparameters provided.

    Release v1.44.123 (2022-10-25)

    Service Client Updates

    • service/accessanalyzer: Updates service API and documentation
    • service/location: Updates service documentation
    • service/mediatailor: Updates service API, documentation, paginators, and examples

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/aws/aws-sdk-go from 1.44.121 to 1.44.167

    Bump github.com/aws/aws-sdk-go from 1.44.121 to 1.44.167

    Bumps github.com/aws/aws-sdk-go from 1.44.121 to 1.44.167.

    Release notes

    Sourced from github.com/aws/aws-sdk-go's releases.

    Release v1.44.167 (2022-12-23)

    Service Client Updates

    • service/connect: Updates service API and documentation
    • service/connectparticipant: Updates service API and documentation
    • service/detective: Updates service API and documentation
    • service/fsx: Updates service API and documentation
    • service/inspector2: Updates service API

    Release v1.44.166 (2022-12-22)

    Service Client Updates

    • service/compute-optimizer: Updates service API, documentation, and paginators
    • service/connect: Updates service API and documentation
    • service/iotdeviceadvisor: Updates service API and documentation
    • service/kinesis-video-webrtc-storage: Updates service API and documentation
    • service/rds: Updates service API, documentation, waiters, paginators, and examples
      • Add support for managing master user password in AWS Secrets Manager for the DBInstance and DBCluster.
    • service/secretsmanager: Updates service documentation
      • Documentation updates for Secrets Manager

    Release v1.44.165 (2022-12-21)

    Service Client Updates

    • service/connect: Updates service API
    • service/connectparticipant: Updates service API
    • service/license-manager-linux-subscriptions: Adds new service
    • service/macie2: Updates service API
    • service/sagemaker: Updates service API and documentation
      • This release enables adding RStudio Workbench support to an existing Amazon SageMaker Studio domain. It allows setting your RStudio on SageMaker environment configuration parameters and also updating the RStudioConnectUrl and RStudioPackageManagerUrl parameters for existing domains
    • service/scheduler: Updates service API
    • service/ssm: Updates service documentation
      • Doc-only updates for December 2022.
    • service/support: Updates service documentation
      • Documentation updates for the AWS Support API
    • service/transfer: Updates service API and documentation
      • This release adds support for Decrypt as a workflow step type.

    Release v1.44.164 (2022-12-20)

    Service Client Updates

    • service/batch: Updates service API and documentation
      • Adds isCancelled and isTerminated to DescribeJobs response.
    • service/ec2: Updates service API, documentation, and paginators
      • Adds support for pagination in the EC2 DescribeImages API.
    • service/lookoutequipment: Updates service API and documentation

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/stale from 6.0.0 to 7.0.0

    Bump actions/stale from 6.0.0 to 7.0.0

    Bumps actions/stale from 6.0.0 to 7.0.0.

    Release notes

    Sourced from actions/stale's releases.

    v7.0.0

    ⚠️ This version contains breaking changes ⚠️

    What's Changed

    Breaking Changes

    • In this release we prevent this action from managing the stale label on items included in exempt-issue-labels and exempt-pr-labels
    • We decided that this is outside of the scope of this action, and to be left up to the maintainer

    New Contributors

    Full Changelog: https://github.com/actions/stale/compare/v6...v7.0.0

    v6.0.1

    Update @​actions/core to 1.10.0 #839

    Full Changelog: https://github.com/actions/stale/compare/v6.0.0...v6.0.1

    Changelog

    Sourced from actions/stale's changelog.

    [7.0.0]

    :warning: Breaking change :warning:

    [6.0.1]

    Update @​actions/core to v1.10.0 (#839)

    Commits
    • 6f05e42 draft release for v7.0.0 (#888)
    • eed91cb Update how stale handles exempt items (#874)
    • 10dc265 Merge pull request #880 from akv-platform/update-stale-repo
    • 9c1eb3f Update .md files and allign build-test.yml with the current test.yml
    • bc357bd Update .github/workflows/release-new-action-version.yml
    • 690ede5 Update .github/ISSUE_TEMPLATE/bug_report.md
    • afbcabf Merge branch 'main' into update-stale-repo
    • e364411 Update name of codeql.yml file
    • 627cef3 fix print outputs step (#859)
    • 975308f Merge pull request #876 from jongwooo/chore/use-cache-in-check-dist
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump google.golang.org/api from 0.103.0 to 0.105.0

    Bump google.golang.org/api from 0.103.0 to 0.105.0

    Bumps google.golang.org/api from 0.103.0 to 0.105.0.

    Release notes

    Sourced from google.golang.org/api's releases.

    v0.105.0

    0.105.0 (2022-12-14)

    Features

    • all: Auto-regenerate discovery clients (#1773) (37a2e41)
    • all: Auto-regenerate discovery clients (#1777) (5b02761)
    • googleapi: Add response headers to Error reported by CheckMediaResponse (#1781) (e4271df)
    • Support set null map entries for non-simple map values (#1782) (c58bf4c)

    v0.104.0

    0.104.0 (2022-12-07)

    Features

    Bug Fixes

    • idtoken: Increase MaxIdleConnsPerHost to 100 in NewClient (#1754) (629e217), refs #1744
    • transport/grpc: Separate resolution of creds and certs (#1759) (c213153)

    Documentation

    Changelog

    Sourced from google.golang.org/api's changelog.

    0.105.0 (2022-12-14)

    Features

    • all: Auto-regenerate discovery clients (#1773) (37a2e41)
    • all: Auto-regenerate discovery clients (#1777) (5b02761)
    • googleapi: Add response headers to Error reported by CheckMediaResponse (#1781) (e4271df)
    • Support set null map entries for non-simple map values (#1782) (c58bf4c)

    0.104.0 (2022-12-07)

    Features

    Bug Fixes

    • idtoken: Increase MaxIdleConnsPerHost to 100 in NewClient (#1754) (629e217), refs #1744
    • transport/grpc: Separate resolution of creds and certs (#1759) (c213153)

    Documentation

    Commits
    • 67aaf4e chore(main): release 0.105.0 (#1774)
    • 5b02761 feat(all): auto-regenerate discovery clients (#1777)
    • c58bf4c feat: support set null map entries for non-simple map values (#1782)
    • e4271df feat(googleapi): add response headers to Error reported by CheckMediaResponse...
    • 6193507 chore: remove uses of obsolete golang.org/x/xerrors (#1776)
    • 37a2e41 feat(all): auto-regenerate discovery clients (#1773)
    • 9255b0b chore(main): release 0.104.0 (#1748)
    • 4238314 chore: ignore some golang.org/x/* dependencies in renovate (#1772)
    • 029b659 chore(all): update all (#1768)
    • f819644 feat(all): auto-regenerate discovery clients (#1771)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump cloud.google.com/go/pubsub from 1.26.0 to 1.28.0

    Bump cloud.google.com/go/pubsub from 1.26.0 to 1.28.0

    Bumps cloud.google.com/go/pubsub from 1.26.0 to 1.28.0.

    Release notes

    Sourced from cloud.google.com/go/pubsub's releases.

    storage: v1.28.0

    1.28.0 (2022-11-03)

    Features

    • storage/internal: Add routing annotations (ce3f945)
    • storage: Add Autoclass support (#6828) (f7c7f41)

    Bug Fixes

    Documentation

    • storage: Update broken links for SignURL and PostPolicy (#6779) (776138b)

    aiplatform: v1.28.0

    1.28.0 (2022-12-05)

    Features

    • aiplatform: rewrite signatures and type in terms of new location (620e6d8)

    pubsub: v1.28.0

    1.28.0 (2022-12-05)

    Features

    • pubsub: rewrite signatures and type in terms of new location (620e6d8)

    pubsub: v1.27.1

    1.27.1 (2022-12-02)

    Bug Fixes

    • pubsub: downgrade some dependencies (7540152)

    pubsub: v1.27.0

    1.27.0 (2022-11-29)

    Features

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Does the 'DataStore interface GetEvents method' needs to add a row-level lock when querying?

    Does the 'DataStore interface GetEvents method' needs to add a row-level lock when querying?

    I'm sorry for my bad English. Does the 'DataStore interface GetEvents method' needs to add a row-level lock when querying? And 'DataStore interface SetAsDispatched method' return a interface to commit or rollback depending on the 'EventStream interface Send method' was executed successfully or not.

Golang client library for adding support for interacting and monitoring Celery workers, tasks and events.

Celeriac Golang client library for adding support for interacting and monitoring Celery workers and tasks. It provides functionality to place tasks on

Oct 28, 2022
dht is used by anacrolix/torrent, and is intended for use as a library in other projects both torrent related and otherwise

dht Installation Install the library package with go get github.com/anacrolix/dht, or the provided cmds with go get github.com/anacrolix/dht/cmd/....

Dec 28, 2022
A feature complete and high performance multi-group Raft library in Go.
A feature complete and high performance multi-group Raft library in Go.

Dragonboat - A Multi-Group Raft library in Go / 中文版 News 2021-01-20 Dragonboat v3.3 has been released, please check CHANGELOG for all changes. 2020-03

Dec 30, 2022
Compute cluster (HPC) job submission library for Go (#golang) based on the open DRMAA standard.

go-drmaa This is a job submission library for Go (#golang) which is compatible to the DRMAA standard. The Go library is a wrapper around the DRMAA C l

Nov 17, 2022
Dynatomic is a library for using dynamodb as an atomic counter

Dynatomic Dynatomic is a library for using dynamodb as an atomic counter Dynatomic Motivation Usage Development Contributing Motivation The dynatomic

Sep 26, 2022
Library for enabling asynchronous health checks in your service

go-health A library that enables async dependency health checking for services running on an orchestrated container platform such as kubernetes or mes

Jan 4, 2023
A standard library for microservices.

Go kit Go kit is a programming toolkit for building microservices (or elegant monoliths) in Go. We solve common problems in distributed systems and ap

Jan 2, 2023
Dec 27, 2022
Simple, fast and scalable golang rpc library for high load

gorpc Simple, fast and scalable golang RPC library for high load and microservices. Gorpc provides the following features useful for highly loaded pro

Dec 19, 2022
🌧 BitTorrent client and library in Go
🌧 BitTorrent client and library in Go

rain BitTorrent client and library in Go. Running in production at put.io. Features Core protocol Fast extension Magnet links Multiple trackers UDP tr

Dec 28, 2022
A Go library for master-less peer-to-peer autodiscovery and RPC between HTTP services

sleuth sleuth is a Go library that provides master-less peer-to-peer autodiscovery and RPC between HTTP services that reside on the same network. It w

Dec 28, 2022
An experimental library for building clustered services in Go

Donut is a library for building clustered applications in Go. Example package main import ( "context" "log" "os" // Wait for etcd client v3.4, t

Nov 17, 2022
Go Library [DEPRECATED]

Tideland Go Library Description The Tideland Go Library contains a larger set of useful Google Go packages for different purposes. ATTENTION: The cell

Nov 15, 2022
Lockgate is a cross-platform locking library for Go with distributed locks using Kubernetes or lockgate HTTP lock server as well as the OS file locks support.

Lockgate Lockgate is a locking library for Go. Classical interface: 2 types of locks: shared and exclusive; 2 modes of locking: blocking and non-block

Dec 16, 2022
This library contains utilities that are useful for building distributed services.

Grafana Dskit This library contains utilities that are useful for building distributed services. Current state This library is still in development. D

Jan 2, 2023
A distributed systems library for Kubernetes deployments built on top of spindle and Cloud Spanner.

hedge A library built on top of spindle and Cloud Spanner that provides rudimentary distributed computing facilities to Kubernetes deployments. Featur

Nov 9, 2022
A distributed locking library built on top of Cloud Spanner and TrueTime.

A distributed locking library built on top of Cloud Spanner and TrueTime.

Sep 13, 2022
Raft library Raft is a protocol with which a cluster of nodes can maintain a replicated state machine.

Raft library Raft is a protocol with which a cluster of nodes can maintain a replicated state machine. The state machine is kept in sync through the u

Oct 15, 2021
Easy to use Raft library to make your app distributed, highly available and fault-tolerant
Easy to use Raft library to make your app distributed, highly available and fault-tolerant

An easy to use customizable library to make your Go application Distributed, Highly available, Fault Tolerant etc... using Hashicorp's Raft library wh

Nov 16, 2022