1 unstable release

0.1.0 Mar 28, 2023

#2361 in Development tools

Custom license

1MB
3K SLoC

Rust 2K SLoC // 0.1% comments Shell 507 SLoC // 0.2% comments PowerShell 479 SLoC // 0.3% comments Edn 7 SLoC Bitbake 1 SLoC

loopy

Overview

A Kubernetes packaging helper utility that tries to prevent you from going loopy.

It's useful for those times when you find yourself testing the same inner loop like repeatedly installing and upgrading the same set of Helm charts on a kind cluster after only a couple lines of changes to a values file.

loopy

Installation

  • For Rust users, loopy is available with cargo.
cargo install loopy
  • For everyone else, pre-packaged binaries are available in releases.

Usage

Once you have loopy installed, there are couple of things you need to do to get up and running.

  • Create the folder structure.
# Where you want to store your loopy configuration.
LOOPY_HOME="${HOME}/loopy"

# Create the folder structure.
mkdir --parents "${LOOPY_HOME}/config/{capi,helm,manifests,carvel}"

cd "${LOOPY_HOME}"
  • Define your configuration in loopy.yaml
# If you need a starter sample.
curl --output "${LOOPY_HOME}/loopy.yaml" https://raw.githubusercontent.com/salt-labs/loopy/trunk/config/loopy.yaml

vim loopy.yaml
  • If you need a kind cluster for local testing, there is a sample configuration in the config/capi/kind directory with usage instructions in the kind section.

  • Before continuing, ensure you are connected to the cluster.

kubectl cluster-info
  • Review the available commands.
loopy --help
  • When ready, run loopy
loopy --config loopy.yaml --action install
  • When finished, run loopy again to clean up.
loopy --config loopy.yaml --action uninstall

Dependencies

If you don't already have the dependencies installed, loopy will ask to install them for you if you are internet connected.

Once that's done you can add the vendor folder to the PATH of your current shell and go from there.

export PATH=$(pwd)/vendor:$PATH

Dependencies

~86MB
~1.5M SLoC