Last active
January 29, 2024 22:57
-
-
Save Oats87/dcb47d17b6c8512c1b5c39ee5a32409b to your computer and use it in GitHub Desktop.
Create a run.env file that can be used for running Rancher in an IDE
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
set -x; | |
if ! command -v rancher-machine &> /dev/null; then | |
echo "rancher-machine must be in your PATH"; | |
exit 1; | |
fi; | |
RDIR=$(pwd)/local-run-data; | |
mkdir -p $RDIR; | |
: > run.env; | |
echo "CATTLE_DEV_MODE=30" >> run.env; | |
eval "$(grep '^ENV CATTLE_SYSTEM_AGENT' package/Dockerfile | awk '{print "export " $2 "=" $3}')"; | |
eval "$(grep '^ENV CATTLE_WINS_AGENT' package/Dockerfile | awk '{print "export " $2 "=" $3}')"; | |
eval "$(grep '^ENV CATTLE_CSI_PROXY_AGENT' package/Dockerfile | awk '{print "export " $2 "=" $3}')"; | |
eval "$(grep '^ARG CATTLE_KDM_BRANCH' package/Dockerfile | awk '{split($2, val, "="); print "export CATTLE_KDM_BRANCH=" val[2]}')"; | |
eval "$(grep '^ARG SYSTEM_CHART_DEFAULT_BRANCH' package/Dockerfile | awk '{split($2, val, "="); print "export CATTLE_SYSTEM_CHART_DEFAULT_BRANCH=" val[2]}')"; | |
env | grep "CATTLE_" | grep -v "CATTLE_SYSTEM_AGENT_VERSION" >> run.env; | |
if [ -s target-kubeconfig ]; then | |
printf "KUBECONFIG=target-kubeconfig" >> run.env; | |
exit 0; | |
fi; | |
if [ -s target-k3d-cluster ]; then | |
TARGET_K3D_CLUSTER=$(cat target-k3d-cluster); | |
else | |
BRANCH=$(git rev-parse --abbrev-ref HEAD | sed -E 's/[^a-zA-Z0-9]+/-/g'); | |
TARGET_K3D_CLUSTER=rancher-dev-$BRANCH; | |
fi; | |
mkdir -p $RDIR/$TARGET_K3D_CLUSTER; | |
k3d cluster list $TARGET_K3D_CLUSTER &> /dev/null; | |
if [ $? != 0 ]; then | |
mkdir -p $RDIR/$TARGET_K3D_CLUSTER/manifests; | |
echo H4sIAAAAAAAAA22STW8aMRCG7/4VFpdIkQwtFKldKSeqVJUIVdMmSL3N2gO467Vde7wp+fWdXQiQKid/zHjeZ94xRPuIKdvgK9m9FwYIKiFlDEYnNOjJglsEv7FbZVvYYiXr6e07/bydLWeruZ7du3r9ner2U/PrZ5zeLT48LX8/kG7v9sv1vIP1fFo/3dyIxnpTyR/IRUm0SPAiBN4HAmL93B+l3Fh0ZqyByOHYhomHlkWZR5lkO0zqzKUYWMpTwjmgB+BjLEfQnHCoqLYu1Pyylxe0jxz4FuFPQaGUEnBhRqpBj6HQLiT7PACOm4+5J2LVQzv3weGrZg4oqcGpakHvrEcVU+hsXxHTa56NQyRlcAPFkUjFIRugJCN8SaHEwQ0lR9cjXhPmUJLG4+XV9RWv7EV9cfE/fwuex9WyIRdmdrMj+ioY/Dz4+UYD7OVbk4mldlYvTi7f9pPKlRz+hcgR9TBQTVy2kpTYVD4as3ChmPMzbh1c7mN1sY6sP+XqHeoml7aSo75rg1knG2lo53Bjc3SwX11Q4l/C5MF9NcecYh+Se9n3Oxc0i04m4h/jx5BR6wIAAA== | base64 --decode | gzip -d > $RDIR/$TARGET_K3D_CLUSTER/manifests/pod.yaml; | |
K3S_IMAGE=$(grep '^COPY --from=rancher/k3s' package/Dockerfile | sed -E 's/--from=//g' | awk '{print $2}'); | |
k3d cluster create $TARGET_K3D_CLUSTER --k3s-arg "--disable=traefik@server:0" --k3s-arg "--service-cidr=10.45.0.0/16@server:0" --k3s-arg "--cluster-cidr=10.44.0.0/16@server:0" -v $RDIR/$TARGET_K3D_CLUSTER/manifests:/var/lib/rancher/k3s/server/manifests/@server:0 --image=$K3S_IMAGE; | |
if [ $? != 0 ]; then | |
echo "Failed to create k3d cluster"; | |
exit 1; | |
fi; | |
fi; | |
KC=$RDIR/$TARGET_K3D_CLUSTER/$TARGET_K3D_CLUSTER-kubeconfig; | |
k3d kubeconfig get $TARGET_K3D_CLUSTER > $KC; | |
printf "KUBECONFIG=%s" $KC >> run.env; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment