mirror of
https://github.com/ublue-os/forge.git
synced 2025-04-20 21:43:44 +03:00
feat: check installation pre-requisites (#14)
This commit is contained in:
parent
7501e1d7aa
commit
402fefe0e4
46
forge.sh
46
forge.sh
|
@ -2,16 +2,16 @@
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
function setup {
|
function setup {
|
||||||
|
echo -e "${YELLOW}Checking pre-requisites...${ENDCOLOR}"
|
||||||
|
check_prerequisites
|
||||||
echo -e "${YELLOW}Creating secret configuration...${ENDCOLOR}"
|
echo -e "${YELLOW}Creating secret configuration...${ENDCOLOR}"
|
||||||
create_secrets
|
create_secrets
|
||||||
echo ""
|
|
||||||
echo -e "${YELLOW}Heating up forge for the first time...${ENDCOLOR}"
|
echo -e "${YELLOW}Heating up forge for the first time...${ENDCOLOR}"
|
||||||
podman play kube forge-pod.yml --build --replace & PID_BUILD=$!
|
podman play kube forge-pod.yml --build --replace & PID_BUILD=$!
|
||||||
wait ${PID_BUILD}
|
wait ${PID_BUILD}
|
||||||
echo -e "${YELLOW}Configuring host system...${ENDCOLOR}"
|
echo -e "${YELLOW}Configuring host system...${ENDCOLOR}"
|
||||||
configure_host & PID_CONFIG=$!
|
configure_host & PID_CONFIG=$!
|
||||||
wait ${PID_CONFIG}
|
wait ${PID_CONFIG}
|
||||||
echo ""
|
|
||||||
echo -e "${YELLOW}Configuring forge...${ENDCOLOR}"
|
echo -e "${YELLOW}Configuring forge...${ENDCOLOR}"
|
||||||
podman logs --color -f ublue-os_forge-setup.ublue.local
|
podman logs --color -f ublue-os_forge-setup.ublue.local
|
||||||
echo ""
|
echo ""
|
||||||
|
@ -44,8 +44,10 @@ function configure_host {
|
||||||
echo "$SSH_PUBLIC_KEY" >> ~/.ssh/authorized_keys
|
echo "$SSH_PUBLIC_KEY" >> ~/.ssh/authorized_keys
|
||||||
cp -f ${VOLUME_DIR}/tls/ublue-os_forge-root.pem ~/Downloads
|
cp -f ${VOLUME_DIR}/tls/ublue-os_forge-root.pem ~/Downloads
|
||||||
touch ~/.config/.ublue-os_forge-host-setup-done
|
touch ~/.config/.ublue-os_forge-host-setup-done
|
||||||
|
echo ""
|
||||||
else
|
else
|
||||||
echo "Host system already configured. Nothing to do..."
|
echo "Host system already configured. Nothing to do..."
|
||||||
|
echo ""
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,17 +61,55 @@ function create_secrets {
|
||||||
"ANSIBLE_FORGE_HOST_BECOME_PASSWORD": "${ANSIBLE_FORGE_HOST_BECOME_PASSWORD}"
|
"ANSIBLE_FORGE_HOST_BECOME_PASSWORD": "${ANSIBLE_FORGE_HOST_BECOME_PASSWORD}"
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
function delete_secrets {
|
function delete_secrets {
|
||||||
podman secret rm ublue-os_forge-secure
|
podman secret rm ublue-os_forge-secure
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function check_prerequisites {
|
||||||
|
echo -e "${YELLOW}Checking sshd service${ENDCOLOR}"
|
||||||
|
SSH_SERVICE_STATUS="$(systemctl is-active sshd)"
|
||||||
|
if [ "${SSH_SERVICE_STATUS}" = "inactive" ];
|
||||||
|
then
|
||||||
|
echo -e "${RED}It looks like your sshd service is not running.${ENDCOLOR}"
|
||||||
|
echo -e "${RED}Make sure to configure and start it first.${ENDCOLOR}"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo -e "${GREEN}sshd service is ${SSH_SERVICE_STATUS}${ENDCOLOR}"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
echo -e "${YELLOW}Checking podman installation${ENDCOLOR}"
|
||||||
|
PODMAN_PATH=$(which podman 2>/dev/null || echo 'FALSE')
|
||||||
|
if [ "$PODMAN_PATH" == "FALSE" ];
|
||||||
|
then
|
||||||
|
echo -e "${RED}It looks like podman is not installed.${ENDCOLOR}"
|
||||||
|
echo -e "${RED}Make sure to install it first.${ENDCOLOR}"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo -e "${GREEN}podman is installed${SSH_SERVICE_STATUS}${ENDCOLOR}"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
echo -e "${YELLOW}Checking jq installation${ENDCOLOR}"
|
||||||
|
JQ_PATH=$(which jq 2>/dev/null || echo 'FALSE')
|
||||||
|
if [ "$JQ_PATH" == "FALSE" ];
|
||||||
|
then
|
||||||
|
echo -e "${RED}It looks like jq is not installed.${ENDCOLOR}"
|
||||||
|
echo -e "${RED}Make sure to install it first.${ENDCOLOR}"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo -e "${GREEN}jq is installed${SSH_SERVICE_STATUS}${ENDCOLOR}"
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
function show_info {
|
function show_info {
|
||||||
VOLUME_DIR="$(podman volume inspect ublue-os_forge-certs | jq -r '.[0].Mountpoint')"
|
VOLUME_DIR="$(podman volume inspect ublue-os_forge-certs | jq -r '.[0].Mountpoint')"
|
||||||
echo -e "${GREEN}Forge is available at: https://forge.ublue.local${ENDCOLOR}"
|
echo -e "${GREEN}uBlue forge is available at: https://forge.ublue.local${ENDCOLOR}"
|
||||||
echo -e "${GREEN}To trust the certificate in your Browser of choice, make sure to import the root certificate from:${ENDCOLOR}"
|
echo -e "${GREEN}To trust the certificate in your Browser of choice, make sure to import the root certificate from:${ENDCOLOR}"
|
||||||
echo -e "${GREEN}$HOME/Downloads/tls/ublue-os_forge-root.pem${ENDCOLOR}"
|
echo -e "${GREEN}$HOME/Downloads/tls/ublue-os_forge-root.pem${ENDCOLOR}"
|
||||||
|
echo ""
|
||||||
}
|
}
|
||||||
|
|
||||||
# Bash colors
|
# Bash colors
|
||||||
|
|
Loading…
Reference in a new issue