You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
vm-builder must make hacky modifications to files (see e.g. /neonvm/bin/...) to avoid conflicting with the root filesystem supplied by the user's image
the "image spec" yaml file is hacky, dockerfile-in-yaml with a separate "merge" step to combine images into a single root filesystem
it's currently difficult to limit CPU usage of postgres inside the VM
if a user breaks out of postgres, they can freely disrupt neonvm internal programs running in the VM
DoD
Use systemd services and/or containers to run programs inside the VM
Maybe expose separate configuration for these in the VM spec, to allow easier parameterization by control plane
Maybe allow "delayed start" so e.g. compute_ctl can start a daemon-ish program only after a certain point.
Implementation ideas
There's kind of two approaches we've discussed for the internal details:
Via containers running inside the VM
i.e.: vm-builder loads docker images, exports to tarball, unpacks into VM image; on startup, we use e.g. runc to run the images stored there
Via systemd "services"
i.e.: vm-builder still puts things into the same root filesystem, but systemd is responsible for running the various daemons. We can also allow compute_ctl to "start" a service (e.g. pgbouncer) so that it's not running until postgres is.
We also could use some combination of the two, e.g. using systemd to runc run the containers as a service. We also discussed that systemd maybe has a way to run containers natively? also an option.
Tasks
The content you are editing has changed. Please copy your edits and refresh the page.
Split off from #577.
Motivation
/neonvm/bin/...
) to avoid conflicting with the root filesystem supplied by the user's imageDoD
Implementation ideas
There's kind of two approaches we've discussed for the internal details:
runc
to run the images stored therecompute_ctl
to "start" a service (e.g. pgbouncer) so that it's not running until postgres is.We also could use some combination of the two, e.g. using systemd to
runc run
the containers as a service. We also discussed that systemd maybe has a way to run containers natively? also an option.Tasks
Tasks
Other related tasks, Epics, and links
The text was updated successfully, but these errors were encountered: