Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design/spec discussion #1

Open
mholt opened this issue Apr 1, 2020 · 8 comments
Open

Design/spec discussion #1

mholt opened this issue Apr 1, 2020 · 8 comments
Labels
help wanted Extra attention is needed

Comments

@mholt
Copy link
Member

mholt commented Apr 1, 2020

Currently, this handler works in the most basic sense, but it has a lot of potential and needs some TLC before being truly production-ready. Right now, it's a great foundation to build from.

Since this module was recently spliced out of Caddy's standard modules before the RC1 tag, previous discussions can be found here:

Plus the third-party v1 implementation of a cache middleware: https://github.com/nicolasazrak/caddy-cache

With the context from those previous discussions in mind, where should we take this project? Who will take the lead in developing it?

@sillygod
Copy link

Hi, recently, I hack and migrate https://github.com/nicolasazrak/caddy-cache to be consistent with caddy 2 architecture and make it supports in-memory backend.

Here is the repo: https://github.com/sillygod/cdp-cache. Actually, I am not familiar with the mechanism of cache-control (there are so many RFC about it) and not totally understand the structure of caddy2. I have just touched caddy2 and https://github.com/nicolasazrak/caddy-cache for one week and more. Therefore, the code of my repo may be a little messy and not use caddy2's APIs so precisely.

Just to clarify, I just want to share my result and I hope this repo can give other people some inspiration or someone can give me any advice to help the cache function more stable and production-ready.

Finally, thank for the awesome work of caddy2 and nicolasazrak's https://github.com/nicolasazrak/caddy-cache

@mholt
Copy link
Member Author

mholt commented May 11, 2020

Cool. It would probably be best if we have just one cache handler for v2 rather than multiple, unless they do very different things / have very different approaches that would benefit different users.

But I'm thinking it's quite possible to have just one and satisfy most use cases.

Any interest in combining the two? This cache handler is a distributed cache which is important for a lot of customers I've talked to: they have too much to cache to fit in memory on one machine, and they have a cluster of Caddy instances deployed, so the distributed cache is essential: it just needs some finishing.

@sillygod
Copy link

I agree with you on this point. I would like to combine these two repos. However, I am working on my repo to support my company's requirements so It will be changed frequently (ex. the architecture, features, and more). That means it not stable now.

The advantage to keep working on my repo is I can totally control it :) Maybe it's not a good timing to merge them. :(

@mholt
Copy link
Member Author

mholt commented May 14, 2020

@abiosoft If you're interested in working on this repo, consider checking @sillygod's implementation for ideas and real business requirements - might be helpful.

@urlund
Copy link

urlund commented Dec 2, 2020

Hi, I'm new to Caddy, and I really love the idea of a cache module build in, and just wanted to give you guys some 👏
Hopefully someone will take lead, and get this project running 💪

@francislavoie
Copy link
Member

@urlund just in case it wasn't clear, this module is functional, just not feature complete. You can use it right now! See link to an example in the README: https://github.com/caddyserver/cache-handler#example-configuration

@urlund
Copy link

urlund commented Dec 3, 2020

@francislavoie I see, may I suggest that you prioritize a "purge" feature then? :)

@darkweak
Copy link
Collaborator

darkweak commented Nov 6, 2024

Is this issue still relevant?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

5 participants