View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0008954 | Taler | release | public | 2024-06-16 18:50 | 2024-07-28 21:49 |
Reporter | nullptrderef | Assigned To | nullptrderef | ||
Priority | low | Severity | feature | Reproducibility | have not tried |
Status | assigned | Resolution | open | ||
Target Version | post-1.0 | ||||
Summary | 0008954: Non-systemd reliance | ||||
Description | For platforms like Alpine/Gentoo (using OpenRC), or Docker/Podman (where running systemd is generally considered bad practice & should be avoided d), we need to [be able to] handle: - Automatically Restarting of Process - Shared Socket Access without Systemd. An example architecture for this would be to have 2 layers; a shell script that simply handles forking & restarting(1) the processes, and a Rust/C/Go wrapper that creates said socket before spawning the bash process (2, as bash cannot start a socket it owns on it's own). | ||||
Additional Information | (1) This part would be composed of 2 parts: a function that checks if the process dies (and how fast it does so), and restarts it either immediately or after some delay, and a loop that kills the process on an interval (& lets the restart handler start it again) (2) This part would simply open a socket if the config tells it that it's a Taler component that needs it, then spawn part 1. This part is needed as to ensure that the bash script - and thereby also it's children - have access to the socket. Signals should be passed 1:1 to the child bash script, and if the child dies (inclusive as a result of a signal we send it), we should exit with the exact same code. The user should not need to know that the process they spawned internally runs a bash script, they should be able to send signals to the rust process and get the outcome they expect. ^ Based on a discussion with Christian | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2024-06-16 18:50 | nullptrderef | New Issue | |
2024-06-16 18:50 | nullptrderef | Status | new => assigned |
2024-06-16 18:50 | nullptrderef | Assigned To | => nullptrderef |
2024-06-16 18:52 | nullptrderef | Description Updated | |
2024-06-16 18:52 | nullptrderef | Additional Information Updated | |
2024-06-16 18:57 | nullptrderef | Description Updated | |
2024-06-17 10:33 | Christian Grothoff | Target Version | git (master) => post-1.0 |
2024-06-23 18:54 | nullptrderef | Description Updated | |
2024-07-28 21:49 | Christian Grothoff | Severity | minor => feature |