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
feat: adding config option for SOCI installation on VM (runfinch#506)
*Description of changes:*
Adding snapshotter option in config file and integrating SOCI with Finch
**Setting Snapshotters**
- Users can set the snapshotters they'd like to use by listing them in
the config file as the ```snapshotters``` value.
- All listed snapshotters will be installed if they are currently
supported with Finch. As of this PR the two that are supported are
OverlayFS (the default snapshotter) and SOCI.
- The first snapshotter listed will be made the default snapshotter
used. Other snapshotters can be used by specifying when running commands
(i.e. ```finch --snapshotter={exampleSnapshotter} pull ...```)
*Example ```snapshotters``` setting in ```finch.yaml```:*
```yaml
snapshotters:
-overlayfs
-soci
```
This would install SOCI on the user's VM and allow for it to be used
when specified in commands, but would keep OverlayFS as the default for
commands
**To Install SOCI**
- SOCI can be setup with minimal configuration by adding ```"- soci"```
to the ```snapshotters``` list in ```finch.yaml``` .
- Once the option has been set SOCI will be installed on either ```finch
vm init``` or ```finch vm start```. The binary will be downloaded onto
the user's VM and the needed settings for SOCI containerd configuration
will be appended to ```etc/containerd/config.toml``` in the VM. If SOCI
is the first snapshotter listed it will also be set as the default
nerdctl snapshotter in the user's VM which would allow the user to pull
images with SOCI simply by doing ```finch pull ...``` .
**To Stop Using SOCI by default**
- ```"- soci"``` should be removed or not be the first snapshotter of
the ```snapshotters``` list in ```finch.yaml``` . The user can also make
the first snapshotter listed ```"- overlayfs"``` to revert back to the
original default used by nerdctl/containerd.
**Note:** removing a snapshotter from ```snapshotters``` list will not
uninstall the snapshotter from the user's VM. In order to fully
uninstall the snapshotter the user must shell into the VM and remove the
binaries from ```/usr/local/bin```.
Testing done:
[ x] I've reviewed the guidance in CONTRIBUTING.md
License Acceptance
By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 license.
---------
Signed-off-by: Channing Gaddy <[email protected]>
0 commit comments