Currently in k8s, Dapr needs a pod restart to pick new configuration after they have been applied.
This will cause inconsistency in scenarios in which few pods of an app are restarted by platform. Restarted pods will use new config whereas pods which are not restarted will continue to use old config.
There is a discussion here on the overlap between dynamic updating of components/config by dapr and when the K8s operator manages the rollout of a new application. We need to get options from both sides for this proposal.
Adding notes from maintainers meeting:
Pros and cons of dynamic updating the components::
Suggested approaches:
Given the above what it we:
This will allow 3 cases:
We could brand this as a new feature that users opt into if they want to.
It seems the code for the hot reload is already in place. According to the operator logs, sidecars are successfully establishing connections to it and component changes are being successfully detected. However, for some reason sidecars are not getting notified about the modified component.
@RadoslavGatev The operator side is mostly in place, however the sidecar part is currently (intentionally) ignoring updates.
We (maintainers) have spoken about this issue today and I just triaged this into the 0.12.0 milestone.
Most helpful comment
Proposal
Given the above what it we:
This will allow 3 cases:
Default Behavior
Apply Hot Reload to Component/Configuration
Apply Hot Reload to Application/Pod
We could brand this as a new feature that users opt into if they want to.