tino

Crates.iotino
lib.rstino
version0.1.7
created_at2025-06-30 15:40:32.048445+00
updated_at2025-09-20 17:28:16.140525+00
descriptionπŸ’‘tino – a tiny init process written in Rust
homepagehttps://github.com/lvillis/tino
repositoryhttps://github.com/lvillis/tino
max_upload_size
id1732013
size26,551
(lvillis)

documentation

https://github.com/lvillis/tino/blob/main/README.md

README

πŸ‡ΊπŸ‡Έ English Β· πŸ‡¨πŸ‡³ δΈ­ζ–‡ Β Β Β Β Β Β |Β Β Β Β Β  Table of Contents ↗️

tino

πŸ’‘ A Rust-based tiny init process – a modern alternative to tini

Crates.ioΒ  Repo SizeΒ  CIΒ  Docker PullsΒ  Image SizeΒ  Say Thanks


✨ Features

Feature Description
Pure Rust, static No runtime deps, musl-linked binary ≀ 60 kB
Sub-reaper mode -s flag enables PR_SET_CHILD_SUBREAPER, reaps orphaned children
Parent-death signal -p <SIG> mirrors tini -p (PR_SET_PDEATHSIG)
Signal forwarding Forwards 10+ common signals; optional process-group mode (-g)
Graceful shutdown SIGTERM β†’ configurable wait β†’ SIGKILL; timeout set via -t/--grace-ms
Exit-code remap -e <code> maps specific child exit codes to zero for health-checks
Verbosity control -v/-vv/-vvv or TINI_VERBOSITY=1..3 via tracing
Security-audited #![deny(unsafe_op_in_unsafe_fn)], minimal unsafe surface, no dynamic allocation in hot paths
Cross-platform Linux glibc / musl; works as PID 1 in Docker, LXC, Podman, Kubernetes, fire-cracker, etc.

πŸš€ Quick Start

# Replace tini in your Dockerfile
ENTRYPOINT ["/sbin/tino", "-g", "-s", "--"]

# Run locally
tino -- echo "hello from child"
Commit count: 38

cargo fmt