You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Automatically restart or reload the config of all the geOrchestra applications when there is a new commit in the geOrchestra datadir. Allows for easier management of the datadir in test environements.
Implementation
This feature should be configurable, either enabled or disabled. But by default disabled.
The sidecar run before the start of the application. You can utilize the new feature in Kubernetes that allows to run containers before the app and have them keeping running as a sidecar: https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/#pod-sidecar-containers. If the feature is disabled then do not run it as a sidecar but have it ran as a one shot initcontainer.
For every sync, if the sidecar detects a new commit pulled, then it sends a SIGHUP to the compatible applications to reload their config (geoserver and more?). Or it restarts the incompatible applications using the Kubernetes API. git-sync can execute commands after the sync, but I'm unsure whenever it triggers the command on every sync or on new commits.
The sync could be triggered by a webhook (HTTP) but not essential at first, it's ok to have a fixed periodic sync. git-sync can receive "force sync" through --sync-on-signal.
Previous thoughts
From the discussion in #74, I found that kubernetes/git-sync allows to periodically sync a git repository and execute commands after the sync.
Maybe we could run this program as a sidecar container for all the geOrchestra components and have it automatically sync the datadir to the latest state so that all the geOrchestra components stay up to date with the datadir.
This script has the benefit of executing commands after the sync so we could send a sighup to the main container of the application in order to tell it to reload.
Note this will require shareProcessNamespace: true for that: https://stackoverflow.com/a/68917547
Ideally, this should be configurable so that this functionality is only enabled in the test/dev environment and not in production.
The text was updated successfully, but these errors were encountered:
Goal
Automatically restart or reload the config of all the geOrchestra applications when there is a new commit in the geOrchestra datadir. Allows for easier management of the datadir in test environements.
Implementation
This feature should be configurable, either enabled or disabled. But by default disabled.
Implement kubernetes/git-sync (or a similar well maintained tool) as a replacement for the existing git clone of the datadir that happens here: https://github.com/georchestra/helm-georchestra/blob/main/templates/_bootstrap-georchestra-datadir.tpl
The sidecar run before the start of the application. You can utilize the new feature in Kubernetes that allows to run containers before the app and have them keeping running as a sidecar: https://kubernetes.io/docs/concepts/workloads/pods/sidecar-containers/#pod-sidecar-containers. If the feature is disabled then do not run it as a sidecar but have it ran as a one shot initcontainer.
For every sync, if the sidecar detects a new commit pulled, then it sends a SIGHUP to the compatible applications to reload their config (geoserver and more?). Or it restarts the incompatible applications using the Kubernetes API.
git-sync
can execute commands after the sync, but I'm unsure whenever it triggers the command on every sync or on new commits.The sync could be triggered by a webhook (HTTP) but not essential at first, it's ok to have a fixed periodic sync.
git-sync
can receive "force sync" through--sync-on-signal
.Previous thoughts
From the discussion in #74, I found that kubernetes/git-sync allows to periodically sync a git repository and execute commands after the sync.
Maybe we could run this program as a sidecar container for all the geOrchestra components and have it automatically sync the datadir to the latest state so that all the geOrchestra components stay up to date with the datadir.
This script has the benefit of executing commands after the sync so we could send a sighup to the main container of the application in order to tell it to reload.
Note this will require
shareProcessNamespace: true
for that: https://stackoverflow.com/a/68917547Ideally, this should be configurable so that this functionality is only enabled in the test/dev environment and not in production.
The text was updated successfully, but these errors were encountered: