All Projects → tailhook → unshare

tailhook / unshare

Licence: other
The low-level linux containers creation library for rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to unshare

nix-portable
Nix - Static, Permissionless, Installation-free, Pre-configured
Stars: ✭ 356 (+259.6%)
Mutual labels:  namespaces
Gontainer
A simple and rudimentary container for Linux
Stars: ✭ 72 (-27.27%)
Mutual labels:  namespaces
pscircle
https://gitlab.com/mildlyparallel/pscircle visualizes Linux processes in a form of radial tree.
Stars: ✭ 33 (-66.67%)
Mutual labels:  process
wcpctl
Kubectl system interaction with the vSphere 7 Supervisor cluster
Stars: ✭ 19 (-80.81%)
Mutual labels:  namespaces
not-enough-standards
A modern header-only C++ library that provides platform-independent utilities.
Stars: ✭ 197 (+98.99%)
Mutual labels:  process
MODIS
Download and processing framework for MODIS imagery. The package provides automated access to the global online data archives LP DAAC, LAADS and NSIDC as well as processing capabilities such as file conversion, mosaicking, subsetting and time series.
Stars: ✭ 48 (-51.52%)
Mutual labels:  process
pwatch
Process watcher(pwatch)
Stars: ✭ 33 (-66.67%)
Mutual labels:  process
event-worker
A simpler way of dealing with Web Workers
Stars: ✭ 18 (-81.82%)
Mutual labels:  process
ansible-process exporter
Provision process exporter for prometheus monitoring tool
Stars: ✭ 16 (-83.84%)
Mutual labels:  process
zenaton-node
⚡ Node.js library to run and orchestrate background jobs with Zenaton Workflow Engine
Stars: ✭ 50 (-49.49%)
Mutual labels:  process
pidswallow
A swallower script using process hierarchy.
Stars: ✭ 40 (-59.6%)
Mutual labels:  process
dreamy-db
🔥 Dreamy-db - A Powerful database for storing, accessing, and managing multiple database.
Stars: ✭ 25 (-74.75%)
Mutual labels:  namespaces
navio
Navio is a program to create and manage linux containers. This project exists only for study purposes, so feel free to contribute :)
Stars: ✭ 14 (-85.86%)
Mutual labels:  namespaces
workflower-bundle
A Symfony bundle for Workflower
Stars: ✭ 23 (-76.77%)
Mutual labels:  process
mackerel-plugin-linux-proc-stats
Linux processes metrics plugin for mackerel.io agent.
Stars: ✭ 13 (-86.87%)
Mutual labels:  process
ProcessInjector.NET
Learning Process Injection and Hollowing techniques
Stars: ✭ 23 (-76.77%)
Mutual labels:  process
tracetree
A tool for capturing the execution of an entire process tree
Stars: ✭ 40 (-59.6%)
Mutual labels:  process
Steam-Apps-Management-API
A basic Steam Application Management API and Valve Data Format (VDF) reader/writer.
Stars: ✭ 24 (-75.76%)
Mutual labels:  process
pyAHP
Python library to perform Analytic Hierarchy Process.
Stars: ✭ 105 (+6.06%)
Mutual labels:  process
fine
🧹 Gracefully shutdown Node.js application: help you handle exit signals and cleanup
Stars: ✭ 20 (-79.8%)
Mutual labels:  process

Rust Unshare

Status: 90% feature-complete, works in production in lithos and powers vagga

Github | Documentaion | Crate

Unshare is a low-level library to create linux containers.

It contains the following:

  • Process creation interface similar to std::process::Command
  • Unsharing arbitrary linux namespaces
  • Ability to change root (chroot/pivot_root), uid, gid, gid_map
  • Some signal mask handling (especially for new processes)
  • Forwarding file descriptors and other unixy stuff (sessions, terminals)
  • Setting few important prctl flags (PR_SET_PDEATHSIG)
  • Runs both as root user and as unprivileged user

Not implemeneted yet:

  • Fine grained capabilities control (currently you may change user or use user namespaces)

The following is considered:

  • Capture input (should be, because part of std::process interface)
  • Pseudo tty creation for child
  • The unshare and setns

The following is out of scope:

  • mounting file systems
  • setting up network
  • in-container and out of container supervision
  • handing child signals

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].