#!/bin/sh # This program is free software: you can redistribute it and/or modify it under # the terms of the GNU Affero General Public License as published by the Free # Software Foundation, either version 3 of the License, or (at your option) any # later version. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more # details. main() { # Handle opts while getopts ":hi:t:" opt do case "$opt" in h) usage && exit 0 ;; i) DOCKER_IMAGE="$OPTARG" ;; t) DOCKER_TAG="$OPTARG" ;; *) printf "Invalid option passed: %s\n" "$OPTARG" >&2 ;; esac done shift $(( OPTIND - 1 )) [ -z "$DOCKER_IMAGE" ] && DOCKER_IMAGE="alpine" [ -z "$DOCKER_TAG" ] && DOCKER_TAG="latest" kubectl run "shell-$(uuidgen)" \ --image "$DOCKER_IMAGE:$DOCKER_TAG" \ --restart=Never \ --rm \ --stdin \ --tty \ "$@" \ -- /bin/sh } usage() { cat <