fluxcd / flux

Successor: https://github.com/fluxcd/flux2
https://fluxcd.io
Apache License 2.0
6.9k stars 1.08k forks source link

What is the purpose of memcached? #2330

Closed tomcheah closed 5 years ago

tomcheah commented 5 years ago

What is the purpose of the memcached pod? What does it do/ accomplish?

Within the whole schema of GitOps, why does there need to be some type of storage to update the state of a container? Is it not enough to use the Flux pod to sync with Git and check for changes?

I was reading up the documentation of Flux and couldn't find a clear or satisfactory answer and am trying to get a deeper understanding of this design.

stefanprodan commented 5 years ago

Memcached is used to store the container image tags. Flux scans your cluster for container images and fetches the tags from the registries. This allows Flux to automate the image tag update.

squaremo commented 5 years ago

Yup, as Stefan says, it's there to support automated image updates. This was the original motivating use for flux. Architecturally, the image update is distinct from syncing. It could in theory run as an optional, separate component, perhaps given some minimal co-ordination with syncing.

memcached is something of an arbitrary choice (less so at the time the choice was made -- it really was caching things)

squaremo commented 5 years ago

@tomcheah Is your question answered?

stefanprodan commented 5 years ago

I’m closing this, @tomcheah feel free to comment here if you need more details.

serain commented 4 years ago

Is memcached necessary if we disable auto-image updates and just use flux for deployments?