Comments (3)
I initially requested in the wrong repo argoproj/argo-workflows#12876
from argo-helm.
I agree with @agilgur5. I think this should be a toggle(s) in the helm chart values file. Either use the config watcher to hot-reload config changes, or use the helm checksum/config
annotation convention to automatically restart both the server and controller deployments on config changes. Note that we always need to use the checksum/config
annotation for the server until argoproj/argo-workflows#10970 has been resolved.
If the toggle is enabled:
- Set the
WATCH_CONTROLLER_SEMAPHORE_CONFIGMAPS
env var tofalse
for the controller. - Annotate both the server and controller deployments' pod templates with the
checksum/config
annotation to get them to automatically restart on config changes.
If the toggle is disabled (the default value):
- Omit the
WATCH_CONTROLLER_SEMAPHORE_CONFIGMAPS
env var for the controller, or explicitly set it totrue
. - Annotate only the server deployment's pod template with the
checksum/config
annotation.
from argo-helm.
As I wrote in the upstream issue, this feature should be optional for the Controller as it is built into Workflows already. The value should also be explicitly documented as such.
Note that there is also currently no way to turn off the built-in feature without turning off other features, like the semaphore ConfigMap watcher, per argoproj/argo-workflows#12622.
This also would be good to have for the Server, which does not yet have a built-in watcher: argoproj/argo-workflows#10970
and much cheaper in terms of resource.
For this part, I don't know that this is necessarily correct. Disabling the watcher will certainly use less constant memory, but it may not be significant. In terms of CPU, disk I/O, and network I/O, restarting the entire deployment instead of an in-memory hot reload is certainly more expensive (and creates churn on the cluster).
I think it would be more appropriate to call it a trade-off when it comes to performance.
You could also call it an optional workaround for a current bug (and any future such bugs), which is caused by an upstream k8s issue, and which can cause performance degradation.
from argo-helm.
Related Issues (20)
- sync is broken with v6.8.0 HOT 4
- [argo-workflows] workflow-controller-cluster-role is missing delete configmap permission HOT 1
- upgrade issue (redis-ha crashs) HOT 1
- argo-workflows Chart does not allow adding labels to server-service
- Incorrect number of seconds in a day
- PriorityClassName is not set in redis-ha components HOT 6
- ArgoCD upgrade from 6.9.3->6.10.0 not working HOT 9
- upgrade to 6.10.2 - stuck in presync "job.batch/argocd-redis-secret-init created" HOT 4
- Support revisionHistoryLimit in Argo Rollouts Deployment
- Clarify Argo CD version support/alignment HOT 6
- kustomize rendering/templating of helmchart has issues with Values.server.route.enabled HOT 2
- Argo CD Helm Chart:Unnecessary RBAC permissions HOT 2
- ArgoCD upgrade from 6.9.3 -> 6.11.1 not working HOT 1
- argo-cd: argocd-cmp-cm is created but not mounted by deployment HOT 1
- argocd-sever ignore configured certificate HOT 1
- Deploy grafana dashboard configmap
- ArgoCD externalRedis too many colons in address HOT 3
- Add support to use existing secret for configuring `sshPrivateKey` in `configs.repositories.<name>`. HOT 1
- Redis exporter unable to reach redis due to NOAUTH Authentication required. HOT 1
- RBAC not getting applied namespaces based HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from argo-helm.