https://github.com/msantos/runlet_sh
Generate runlets from containerized Unix processes
https://github.com/msantos/runlet_sh
linux-namespaces supervisor
Last synced: about 1 month ago
JSON representation
Generate runlets from containerized Unix processes
- Host: GitHub
- URL: https://github.com/msantos/runlet_sh
- Owner: msantos
- License: isc
- Created: 2019-09-17T11:57:13.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-03-17T12:21:29.000Z (about 1 year ago)
- Last Synced: 2025-04-20T19:03:06.296Z (about 2 months ago)
- Topics: linux-namespaces, supervisor
- Language: Elixir
- Size: 41 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# RunletSh
[](https://hex.pm/packages/runlet_sh)
[](https://hexdocs.pm/runlet_sh/)Generate [runlets](https://github.com/msantos/runlet) from containerized
Unix processes.## Installation
Add `runlet_sh` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[{:runlet_sh, github: "msantos/runlet_sh"}]
end
```
### Create Container Root Filesystem```
mkdir -p priv/root/bin priv/root/sbin \
priv/root/usr priv/root/lib priv/root/lib64 \
priv/root/opt priv/root/tmp priv/root/home priv/root/proc
```## Configuration
### UID/GID
The UID/GID of the containerized processes is selected from one of
65535 UIDs beginning from 0xF0000000. Systems may limit the maximum UID:
setting a UID above the limit will fail with `{:error, :einval}`.#### config/config.exs: Set Minimum UID
To set a lower UID offset:
```
import Configconfig :runlet,
uidmin: 0x80000
```### config/config.exs: Set Function to Select UID
```
import Configconfig :runlet,
uidfun: fn _uidmin -> 65577 end
```## Test
### Privileges
```
youruser ALL = NOPASSWD: /path/to/runlet_sh/deps/prx/priv/prx
```