Created
April 14, 2020 14:56
-
-
Save Ivshti/ead827b3b853a63e84a4ef821e96258a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
set -e | |
HOST=$1 | |
sync-github-keys() { | |
local CONTROL_KEY GITHUB_USERNAME | |
CONTROL_KEY=`mktemp` | |
GITHUB_USERNAME=$1 | |
# This priv key is intended to be public; we base64 encode it only so that it doesn't get automatically detected | |
# by whitehat bots that send warnings | |
echo "LS0tLS1CRUdJTiBPUEVOU1NIIFBSSVZBVEUgS0VZLS0tLS0KYjNCbGJuTnphQzFyWlhrdGRqRUFB | |
QUFBQkc1dmJtVUFBQUFFYm05dVpRQUFBQUFBQUFBQkFBQUFNd0FBQUF0emMyZ3RaVwpReU5UVXhP | |
UUFBQUNDN2pnUFV6bmppOGp5WUFOWGtQOU16S3FrSE04OXNvanA2c296aEkybDVKd0FBQUppbkpk | |
MXNweVhkCmJBQUFBQXR6YzJndFpXUXlOVFV4T1FBQUFDQzdqZ1BVem5qaThqeVlBTlhrUDlNektx | |
a0hNODlzb2pwNnNvemhJMmw1SncKQUFBRUF6T3FGVDI1dEl0UmhCcGhobUpCY3p1c2xDVDhTYXpk | |
Ymd1NXZzbXUyM1VydU9BOVRPZU9MeVBKZ0ExZVEvMHpNcQpxUWN6ejJ5aU9ucXlqT0VqYVhrbkFB | |
QUFFR2wyYjBCcGRtOHRkR2hwYm10d1lXUUJBZ01FQlE9PQotLS0tLUVORCBPUEVOU1NIIFBSSVZB | |
VEUgS0VZLS0tLS0K" | base64 -d > $CONTROL_KEY | |
chmod 0700 $CONTROL_KEY | |
ssh -q -i $CONTROL_KEY dokku@"$HOST" sync-github-keys "$GITHUB_USERNAME" | |
rm $CONTROL_KEY | |
} | |
if [ -z $HOST ] | |
then | |
echo "Usage: beamup <host> <command>" | |
exit 1 | |
fi | |
if [ "$2" = "sync-github-keys" ] | |
then | |
if [ -z $3 ]; then | |
echo "Usage: beamup <host> sync-github-keys <github username>" | |
exit 1 | |
fi | |
sync-github-keys $3 | |
exit 0 | |
fi | |
if [ "$2" = "add-remote" ] | |
then | |
GITHUB_USERNAME=$3 | |
if [ -z $3 ] || [ -z $4 ]; then | |
echo "Usage: beamup <host> add-remote <github username> <app name>" | |
exit 1 | |
fi | |
GITHUB_USERNAME_HASHED=$( echo $GITHUB_USERNAME | shasum -a 256 | cut -c1-12 ) | |
# TODO automatic repo name | |
git remote add beamup dokku@$HOST:$GITHUB_USERNAME_HASHED/$4 && echo Successfully added remote beamup | |
sync-github-keys $GITHUB_USERNAME | |
exit 0 | |
fi | |
echo "Usage: beamup <host> <command>" | |
echo "unsupported command; supported: sync-github-keys, add-remote" | |
exit 1 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment