Skip to content

A POSIX shell utility for d(e)ploy(ing) ur(bit) ships/desks

License

Notifications You must be signed in to change notification settings

sidnym-ladrut/durploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

durploy: D(e)ploy Ur(bit)

durploy is a shell utility for deploying and managing Urbit ships and desks. More specifically, it's wrapper script for all the common Urbit workflows found on the Urbit website, particularly those enumerated in Urbit "Environment Setup" and Urbit "Software Distribution".

Installation

durploy is written in Bourne Shell and thus should run on most *NIX platforms. Presently, it has only been tested on Linux; your mileage may vary! Please review the "Dependencies" section below if you encounter any issues with missing commands.

Quick and Easy

curl -LO https://raw.githubusercontent.com/sidnym-ladrut/durploy/release/durploy
chmod u+x ./durploy
./durploy

Adding Autocomplete

Bash

mkdir -p ${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion/completions/
curl -O https://raw.githubusercontent.com/sidnym-ladrut/durploy/release/complete/durploy \
	> ${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion/completions/
# If you don't have bash autocomplete configured, run the following:
echo "source ${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion/completions/durploy" >> ~/.bashrc

ZSH

mkdir -p ${XDG_DATA_HOME:-$HOME/.local/share}/zsh-completion/
curl -O https://raw.githubusercontent.com/sidnym-ladrut/durploy/release/complete/_durploy \
	> ${XDG_DATA_HOME:-$HOME/.local/share}/zsh-completion/
# Be sure this runs before the 'autoload -U compinit; compinit' commands in your `.zshrc`
echo "fpath=(${XDG_DATA_HOME:-$HOME/.local/share}/zsh-completion/ $fpath)" >> $ZDOTDIR/.zshrc

# Refresh the autocomplete commands in the current session
autoload -U compinit
compinit

Usage

Create/Run a Development Ship

# fake ship
durploy ship zod

# real ship (comet)
durploy ship -p com com

Bootstrap a Development Ship w/ Init Scripts

durploy ship zod /path/to/init1.sh /path/to/init2.sh

(See the examples directory for samples.)

Synchronize a Desk to a Running Ship

durploy desk zod my-desk /path/to/my-desk/

Continually Deploy a Desk to a Running Ship

durploy desk -w zod my-desk /path/to/my-desk/

Remove a Development Ship

durploy nuke zod

Configuration

Most default directory locations and Urbit files used by durploy can be configured. For more information, see the "Config options" section of the documentation output by durploy --help.

Inspiration/Alternatives

Dependencies

durploy uses a small set of system binaries for processing. Most of these utilities are available by default on modern Linux systems, and all of them should be readily available to install on most modern *NIX systems.

This list is ordered roughly in descending order of expected availability:

The following are additional dependencies required by the autocomplete scripts:

About

A POSIX shell utility for d(e)ploy(ing) ur(bit) ships/desks

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages