HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
konigsoftware
konig-kontext
Kotlin2023–2023
konigsoftware / konig-kontext

konig-kontext

A globally shared, request scoped, context for JVM based gRPC microservices

2Distinct people
6Mentions
0Explicit recommenders
45GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A globally shared, request scoped, context for JVM based gRPC microservices

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by hour6 dated mentions

Observed mentions: 2023-10-18 20:36:19 UTC to 2023-10-19 17:47:58 UTC.

0122023-10-18 20:00:00 UTC to 2023-10-18 21:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 commentsOct 18, 20:002023-10-18 21:00:00 UTC to 2023-10-18 22:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-18 22:00:00 UTC to 2023-10-18 23:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-10-18 23:00:00 UTC to 2023-10-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 00:00:00 UTC to 2023-10-19 01:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 01:00:00 UTC to 2023-10-19 02:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2023-10-19 02:00:00 UTC to 2023-10-19 03:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 03:00:00 UTC to 2023-10-19 04:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 04:00:00 UTC to 2023-10-19 05:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 05:00:00 UTC to 2023-10-19 06:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 06:00:00 UTC to 2023-10-19 07:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsOct 19, 06:002023-10-19 07:00:00 UTC to 2023-10-19 08:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 08:00:00 UTC to 2023-10-19 09:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 09:00:00 UTC to 2023-10-19 10:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 10:00:00 UTC to 2023-10-19 11:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 11:00:00 UTC to 2023-10-19 12:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 12:00:00 UTC to 2023-10-19 13:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 13:00:00 UTC to 2023-10-19 14:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 14:00:00 UTC to 2023-10-19 15:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 15:00:00 UTC to 2023-10-19 16:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 16:00:00 UTC to 2023-10-19 17:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-19 17:00:00 UTC to 2023-10-19 18:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsOct 19, 17:00

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Oct 18, 20:002023-10-18 20:00:00 UTC2023-10-18 21:00:00 UTC211
Oct 18, 21:002023-10-18 21:00:00 UTC2023-10-18 22:00:00 UTC000
Oct 18, 22:002023-10-18 22:00:00 UTC2023-10-18 23:00:00 UTC101
Oct 18, 23:002023-10-18 23:00:00 UTC2023-10-19 00:00:00 UTC000
Oct 19, 00:002023-10-19 00:00:00 UTC2023-10-19 01:00:00 UTC000
Oct 19, 01:002023-10-19 01:00:00 UTC2023-10-19 02:00:00 UTC202
Oct 19, 02:002023-10-19 02:00:00 UTC2023-10-19 03:00:00 UTC000
Oct 19, 03:002023-10-19 03:00:00 UTC2023-10-19 04:00:00 UTC000
Oct 19, 04:002023-10-19 04:00:00 UTC2023-10-19 05:00:00 UTC000
Oct 19, 05:002023-10-19 05:00:00 UTC2023-10-19 06:00:00 UTC000
Oct 19, 06:002023-10-19 06:00:00 UTC2023-10-19 07:00:00 UTC000
Oct 19, 07:002023-10-19 07:00:00 UTC2023-10-19 08:00:00 UTC000
Oct 19, 08:002023-10-19 08:00:00 UTC2023-10-19 09:00:00 UTC000
Oct 19, 09:002023-10-19 09:00:00 UTC2023-10-19 10:00:00 UTC000
Oct 19, 10:002023-10-19 10:00:00 UTC2023-10-19 11:00:00 UTC000
Oct 19, 11:002023-10-19 11:00:00 UTC2023-10-19 12:00:00 UTC000
Oct 19, 12:002023-10-19 12:00:00 UTC2023-10-19 13:00:00 UTC000
Oct 19, 13:002023-10-19 13:00:00 UTC2023-10-19 14:00:00 UTC000
Oct 19, 14:002023-10-19 14:00:00 UTC2023-10-19 15:00:00 UTC000
Oct 19, 15:002023-10-19 15:00:00 UTC2023-10-19 16:00:00 UTC000
Oct 19, 16:002023-10-19 16:00:00 UTC2023-10-19 17:00:00 UTC000
Oct 19, 17:002023-10-19 17:00:00 UTC2023-10-19 18:00:00 UTC101

What Hacker News says

6 sources
The header is fixed as konig-kontext-grpc-context [1]. Does that mean that you can only propagate one gRPC context object? Would it be possible to specify your own header string for the key, and have the interceptors support multiple keys? That sounds safer since the header name could both imply both the serialization and content-type, and Protobuf type_uri, etc. And sounds more useful since developers wouldn't need a catch-all type. [1] https://github.com/konigsoftware/konig-kontext/blob/84faa627...
In gRPC request context which caries values across microservice boundaries
Both the context and message metadata are already part of gRPC. The gRPC system also allows for server [2] and client message interceptors. Essentially this konig-kontext library provides a interceptor implementations, e.g., [3], that uses their hard-coded key for your serializable context that gets read/written from a gRPC header. The context provided by konig-kontext within your code is a wrapper around the existing gRPC Context [1]. The library is convenient for sure, but I feel that if you had a need to propagate context within gRPC, you'd probably already discovered the API and implemented propagation with your own header keys. [1] https://grpc.github.io/grpc-java/javadoc/io/grpc/Context.htm... [2] https://grpc.github.io/grpc-java/javadoc/io/grpc/ServerInter... [3] https://github.com/konigsoftware/konig-kontext/blob/84faa627...
In gRPC request context which caries values across microservice boundaries
Hey everyone, I've recently created an open source library on top of grpc-kotlin and grpc-java that allows you to propagate a context across microservice boundaries throughout an entire request lifetime. The existing io.grpc.Context (https://grpc.github.io/grpc-java/javadoc/io/grpc/Context.htm...) only propagates a context across API boundaries within the same container and does not cross microservice boundaries. It's called KonigKontext, check it out here: https://github.com/konigsoftware/konig-kontext! Example use cases include: Propagating security principals, or user credentials and identifiers throughout an entire request lifetime across all of your microservices. Propogating distributed tracing information. Set a request trace id upon receiving a request and later access that id in any downstream microservice. However, Konig Kontext
Read the rest
is built to support any type of context value, so it can be extended to fit any specific use cases as well. Let me know what you think!
In gRPC request context which caries values across microservice boundaries

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.