Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building using OverlayFS and systemd-nspawn #6

Open
stuartpb opened this issue Jan 21, 2015 · 1 comment
Open

Building using OverlayFS and systemd-nspawn #6

stuartpb opened this issue Jan 21, 2015 · 1 comment

Comments

@stuartpb
Copy link
Member

Also affects release and local deployment.

So, per the discussion in plushu/plushu-apps#12 (comment), it would be a massive improvement if the app lifecycle could be reworked to just use a couple ephemeral layers without tracking or versioning (with slug creation on demand).

It seems like OverlayFS would be a good fit for this: http://askubuntu.com/questions/109413/how-do-i-use-overlayfs (and following from http://www.phoronix.com/scan.php?page=news_item&px=CoreOS-Btrfs-To-EXT4-OverlayFS)

Things that would be better with this:

  • Images are a lot less fussy to manage: they just naturally exist as 3 layers of dir.
  • Linking (for addons) could use a less ridiculous mechanism then eight-word-long env vars.

Things that would need to be reworked:

  • A bunch of assumptions about the app being a Docker container (possibly fixable by hookifying, eg. a hook to get the app's IP instead of calling docker directly).
  • Starting from the Cedarish image.
  • Networking, possibly.

My thoughts:

  • overlay-dirs could be a Plushu plugin that supports using aufs, btrfs's overlay stuff, or OverlayFS to combine dirs onto a dir (either based on availability or as separate plugins). I'd use another abstraction (like something from Docker's underlying lib), but I don't think this specific tool exists. (Worth checking for.)
  • There'd be a "layers" directory under the app dir to keep these layers.
@stuartpb
Copy link
Member Author

see also plushu/plushu-buildstep#1 (another possible approach, using Docker and overlayfs for a volume)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant