RexOps / RexOps/Rex

FreeBSD Jails

Open
#1,400 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Perl
Stars
737
Forks
214
PR merge metrics
No merged PRs in 30d

Description

User story

As a FreeBSD user
I would like to have jails supported by Rex
so I can manage my environment more efficiently.

Describe the solution you'd like

Jails is a FreeBSD-specific lightweight virtualization technology that allow creation of containers separated from the rest of the host system. Jails are mature, stable and have very little overhead. They are often mentioned as an alternative to Docker on FreeBSD, even though they don't offer the orchestration.
What I'd like to have is an implementation that would allow me to create a new jail, start it (or stop or restart, one-time or persistently) and run some commands inside. I currently manage it with bash scripts and heavy use of jexec, however this is getting bothersome rather quickly.

Describe alternatives you've considered

The closest thing to Jails on Linux is LXC. Since Jails are in FreeBSD's base OS there aren't really any alternatives I've heard of, however there is some software that simplifies working with them, like iocage (ZFS-specific AFAIK) and ezjail.

Additional context

The implementation would likely be similar to LXC. Jail creation is done by adding config to /etc/jail.conf and creation of a filesystem in a separate jail directory, start / stop is done by service which is already implemented in Rex.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing Rex's existing service support and the requested FreeBSD jail setup around /etc/jail.conf, the jail directory, and jexec. Done would cover creating, starting, stopping, and restarting a jail, running commands inside it, and supporting both one-time and persistent operation.

Written by the indexing model from the issue text.

Assessment

Tech stack
perl
Domain
devops, infrastructure, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.