-
Notifications
You must be signed in to change notification settings - Fork 585
Description
The problem
Reloader is working fine for the workloads controlled by Kubernetes, but may fail in a case when pods or Deployments are controlled by an operator. The operator may recreate the workloads immediately after Reloader adds its annotation, which results in the new pods killed and the old pods keep running. This is the case with OpenSearch operator.
The proposed solution
It would be great if Reloader could send HTTP queries specified with annotations. The queries would trigger service restarts at software level. Of course it will only work with the software that is able to restart after receiving an HTTP request. Here is an example of the annotations:
annotations:
reloader.stakater.com/auto: "true"
secret.reloader.stakater.com/reload: "my-secret"
reloader.stakater.com/rollout-strategy: "http"
reloader.stakater.com/http-method: "GET"
reloader.stakater.com/http-url: "http://my-service.default.svc.cluster.local/action/restart/"
Or a more complex one:
annotations:
reloader.stakater.com/auto: "true"
secret.reloader.stakater.com/reload: "my-secret"
reloader.stakater.com/rollout-strategy: "http"
reloader.stakater.com/http-method: "PUT"
reloader.stakater.com/http-url: "https://opensearch.opensearch.svc.cluster.local:9200/_plugins/_security/api/ssl/transport/reloadcerts"
reloader.stakater.com/http-data: '{ "foo": "bar" }'
reloader.stakater.com/http-basic-auth-secret: "my-basic-auth-secret"
reloader.stakater.com/http-basic-auth-username-key: "username"
reloader.stakater.com/http-basic-auth-password-key: "password"
Describe alternatives you've considered
I was unable to find any working alternatives so far.
Thanks in advance.