feat(argo-cd): Add Volume Pesistence support for argocd-repo-server#1648
feat(argo-cd): Add Volume Pesistence support for argocd-repo-server#1648arielly-parussulo wants to merge 5 commits intoargoproj:mainfrom
Conversation
Signed-off-by: arielly-parussulo <arielly.parussulo@quintoandar.com.br>
Signed-off-by: arielly-parussulo <arielly.parussulo@quintoandar.com.br>
Signed-off-by: arielly-parussulo <arielly.parussulo@quintoandar.com.br>
Signed-off-by: arielly-parussulo <arielly.parussulo@quintoandar.com.br>
92cd747 to
c4ab1c9
Compare
Signed-off-by: arielly-parussulo <97965681+arielly-parussulo@users.noreply.github.com>
| @@ -1,10 +1,17 @@ | |||
| apiVersion: apps/v1 | |||
| {{- if .Values.repoServer.enableStatefulSet }} | |||
| kind: StatefulSet | |||
There was a problem hiding this comment.
I'm little bit worried about this implementation because repo server is stateless, not stateful and typically runs with HPA (we run 30+ replicas). This feature will break the HPA that targets Deployment + will create large amount of PVCs.
There was a problem hiding this comment.
Just... don't enable statefulset mode?
|
Hi @arielly-parussulo thanks for contribution. I personally believe that persistence should be more complex feature. For reason mentioned above the repo server would ideally use 1 shared PVC with ReadWriteMultiple mode so all repositories can share already downloaded resources instead of trying to create lots of PVCs that will eventually converge to the same content. I believe 1 disk per replica would work ok with NFS backend and only a few replicas. I can imagine that this should have at least following:
I think this might be good base but feature should be extended. |
Cool! I think I can add some of these features in this PR. I've added the StatefulSet feature because I saw some people mentioning that in this issue and we ended up using it in my company as we have less replicas and a monorepo that ends up causing a DiskPressure issue in our pods. So I still think that it could be an option in the Helm Chart. |
|
Please also go though this thread argoproj/argo-cd#7927 as this chart mirrors what's in the upstream. |
|
Sorry for asking @pdrastil, is it possible to have feature even if it's still in beta? @arielly-parussulo haven't pushed in 3 weeks. I can contribute if needed. Thanks |
|
This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
|
Any news about this? |
Just to note, ReadWriteMany isn't well supported by cloud vendors when pods are on different nodes. Neither GKE nor EKS allow ReadWriteMany when you're using PD or EBS as the volume type. |
|
@pdrastil using |
|
hello |
|
Whats the deal with this feature? We currently run a large monorepo and we have to use |
|
Please, proceed with the PR , this feature is very important for HA and would be aligned with redis-ha charts |
yann-soubeyrand
left a comment
There was a problem hiding this comment.
Sorry for the noise, I did not find a way to remove myself from requested reviewers other than by doing a review 😟
That is a very interesting point. But in my honest opinion, we are overengineering here. I mean, currently this is the current behavior. In a deploy, every pod copies “randomly” the repo needed. This feature is an improvement to mitigate the copy per pod. Every time the pod is migrated to another node, the process starts again. With a PVC, this part is solved. This PR could be step one, then a more sophisticated approach for step two. |
Checklist:
Changes are automatically published when merged to
main. They are not published on branches.