Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lukaszkorecki/drifter
🧔🏻 Like Vagrant, but for multipass.run
https://github.com/lukaszkorecki/drifter
Last synced: 21 days ago
JSON representation
🧔🏻 Like Vagrant, but for multipass.run
- Host: GitHub
- URL: https://github.com/lukaszkorecki/drifter
- Owner: lukaszkorecki
- Created: 2020-01-23T00:08:11.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-11T19:00:30.000Z (about 4 years ago)
- Last Synced: 2024-10-24T02:55:50.155Z (2 months ago)
- Language: Shell
- Homepage:
- Size: 28.3 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Drifter
> Adventures in New Bohemia, the drifter is now housebound
*Jehst - The Return of the Drifter*
## What is it?
Drifter is a simple (very simple) replacement for [Vagrant](https://vagrantup.com) based on [Multipass](https://multipass.run).
> :warning: Drifter is pre-alpha quality
By default it will work with two vms `work` or `dev` (my choice :-)), either will be provisioned with 4 CPUs, 4 GB of RAM and 20GB disk running Ubuntu 18.04.
You can choose to use bundled `provision.sh` script, which installs Docker, Emacs etc or pass your own.
## Goals
- make out of the box experience easier (SSH keys, multiple VMs)
- no need to mess around with cloud-init
- simple guest port access via SSH tunnels
- shell script based provisioning## Dependencies
- Multipass
- `jq`
- macOs (for now)# Roadmap
- [ ] create your own user and throw-away SSH key for auth, rather than using the one provided with Multipass
- [ ] configurable ports for tunneling
- [x] better handling of command line options
- [ ] ability to specify machine names
- [x] better UX overall
- [x] custom provision script path# Usage
```
🧔🏻 Drifter, a small vagrant, powered by multipass
Version=0.0.2
All commands require the name of the VM to be passed e.g.
$ drifter dev ssh
$ drifter wrk tunnels
or
$ drifter dev provision -p ./my/vm.sh
Args, in order:
name of the vm (one of: dev, wrk)
command (see below)
and additional flags
-p if command is provision, path to the bash script to run in the machine
-P if command is open-port, to open a port for an already active session (started via ssh or tunnels commands):
drifter wrk open-port -P 32132
Commands:
suspend) Suspend the VM. Unsupported right now
stop) Stop the VM
provision) Provision the VM with given Bash script
tunnels) Start a SSH session with multiple ports opened
shell) Start a shell, no agent or tunnels opened
ssh) Start a SSH session with SSH agent forwarded
ip) Find the IP of the VM
ssh-config) echo SSH config for given VM
open-port) Opens a port specificified with a -P flag. Requires active SSH or tunnel session to be started first
```