Scalability of Repo-per-app Deployment Model #4651
Replies: 1 comment 1 reply
-
The scalable solution is A CI process should publish with Right now we are still early I think defining how to use these, since the API isn't at GA yet, it will likely get some changes before it does; there are some good examples to follow, but the best one is probably this Cheatsheet: https://fluxcd.io/flux/cheatsheets/oci-artifacts/ Mixing your deploy artifacts in the git repository with your app code makes sense from a developer perspective, because why would you keep them anywhere else, but from the cluster perspective you know that repo can grow to unbounded size, and 99.9% of the files in it Flux doesn't need to deploy. But Git repository mechanisms for ignoring files when cloning out, shallow clones and sparse checkouts, are both very limiting, Flux cannot use them with like Image Update Automation for example, because you need a full clone to make a new valid commit. It's much easier for Flux to scale if you only make it do meaningful work, but the Git protocol doesn't lend itself perfectly to this problem. That's why we added OCI. Anyway, I suggest you check out OCI Repositories for manifest distribution as tag lists are way cheaper to ship around than entire git repositories, and Flux can definitely scale to thousands of OCI repos much better than the thousands of Git repos. Hope this helps! Kingdon |
Beta Was this translation helpful? Give feedback.
-
Hi Everyone,
I am trying to move the new organization I joined to adopt Flux, migrating from Azure DevOps. There is a large number of application repositories, approaching ~1000. The easiest migration path would be to adopt the Repo per app model, storing store both the source code and deployment manifests for each application in the same repo.
I am concerned about how well the Flux Controllers will handle the load of sync'ing from such a large number of repos.
I am sure people here must have pushed the limits on this front and am looking for some guidance and/or first-hand experiences dealing with a similar scale, if you can call it that.
Thanks,
Viji
Beta Was this translation helpful? Give feedback.
All reactions