From 1b089bfc4a2684d356acbb7197b39e2deeef0135 Mon Sep 17 00:00:00 2001 From: Aditya <60684641+0x0elliot@users.noreply.github.com> Date: Mon, 23 Oct 2023 15:26:49 +0530 Subject: [PATCH] fix: making script more descriptive --- functions/kubernetes/generate_certs.sh | 39 ++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 functions/kubernetes/generate_certs.sh diff --git a/functions/kubernetes/generate_certs.sh b/functions/kubernetes/generate_certs.sh new file mode 100644 index 00000000..cb316a72 --- /dev/null +++ b/functions/kubernetes/generate_certs.sh @@ -0,0 +1,39 @@ +#!/bin/bash +# Check if ifconfig is present and use it to get the default IP +if command -v ifconfig &> /dev/null; then + default_ip=$(ifconfig | grep 'inet ' | grep -v 127.0.0.1 | awk '{print $2}') +# Check if ip is present and use it if ifconfig is not available +elif command -v ip &> /dev/null; then + default_ip=$(ip addr show | grep -oP 'inet \K[\d.]+' | sed -n '2p') +# If both tools are not available, error out +else + echo "Error: Neither ifconfig nor ip command found in the machine. Exiting.." + exit 1 +fi + + +read -p "Enter your node IP to use for cert generation (default is $default_ip): " custom_ip +# Use localhost as the default value +node_ip=${custom_ip:-$default_ip} + +echo "Using node IP: $node_ip to generate SSL certs!" + +mkdir -p certs + +# Generate CA key +openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/reg.key -x509 -days 365 -out certs/reg.crt -subj "/CN=$node_ip" + +# generate a random string +random_string=$(openssl rand -hex 3) + +echo "Starting docker registry with name shuffle-local-registry-$random_string.." + +docker run -d -p 5000:5000 --restart=always --name "shuffle-local-registry-$random_string" \ + -v $(pwd)/certs:/certs \ + -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/reg.crt \ + -e REGISTRY_HTTP_TLS_KEY=/certs/reg.key \ + registry:2 + +echo "Set up certs and launched docker registry successfully!" + +echo "Please put $node_ip:5000 as the REGISTRY_URL in all-in-one.yaml file" \ No newline at end of file