danthegoodman1 / Gildra

Mutli-tenant TLS terminating proxy for L7 traffic. Supports unlimited domains and certs with HTTP/1.1, 2, and 3. Manages ACME HTTP challenges magically. Sits in your infrastructure.
Other
5 stars 0 forks source link

Fetch and cache routing configs and certs #2

Closed danthegoodman1 closed 1 year ago

danthegoodman1 commented 1 year ago

We should use Groupcache to handle the caching of routing configs and certs.

The certs can probably have a longer TTL than the routing configs, so we should probably have 2 tiers that are nested (the routing config fetches from the SSL config, same key so they are on the same node)?

We could also add in SQLite support for a more durable local cache so that we can first check if it exists locally on disk and is not expired, then we can go to the control plane if we don't have it in memory or on disk.

Need to make sure that we properl yrack metrics for how often we are looking up from cache (each layer) vs going to the control plane.

danthegoodman1 commented 1 year ago

This has already been lightly started in the control_plane package

danthegoodman1 commented 1 year ago

Simple implementation complete