Restore interactive NetBird setup prompts
- Add deployment type selection (Managed vs Self-Hosted) - Add authentication method selection (Setup Key, SSO, Skip) - Interactive prompts work in production when run through build.func - Proper indentation and cleanup_lxc usage
This commit is contained in:
parent
7f5f7f4c1f
commit
012aa28a55
@ -35,6 +35,133 @@ msg_info "Enabling NetBird Service"
|
|||||||
$STD systemctl enable --now netbird
|
$STD systemctl enable --now netbird
|
||||||
msg_ok "Enabled NetBird Service"
|
msg_ok "Enabled NetBird Service"
|
||||||
|
|
||||||
|
# NetBird Deployment Type Selection
|
||||||
|
echo ""
|
||||||
|
echo -e "${BL}NetBird Deployment Type${CL}"
|
||||||
|
echo "─────────────────────────────────────────"
|
||||||
|
echo "Are you using NetBird Managed or Self-Hosted?"
|
||||||
|
echo ""
|
||||||
|
echo " 1) NetBird Managed (default) - Use NetBird's managed service"
|
||||||
|
echo " 2) Self-Hosted - Use your own NetBird management server"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
read -r -p "Select deployment type [1]: " DEPLOYMENT_TYPE
|
||||||
|
DEPLOYMENT_TYPE="${DEPLOYMENT_TYPE:-1}"
|
||||||
|
|
||||||
|
NETBIRD_MGMT_URL=""
|
||||||
|
case "$DEPLOYMENT_TYPE" in
|
||||||
|
1)
|
||||||
|
msg_ok "Using NetBird Managed service"
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
echo ""
|
||||||
|
echo -e "${BL}Self-Hosted Configuration${CL}"
|
||||||
|
echo "─────────────────────────────────────────"
|
||||||
|
echo "Enter your NetBird management server URL."
|
||||||
|
echo "Example: https://management.example.com"
|
||||||
|
echo ""
|
||||||
|
read -r -p "Management URL: " NETBIRD_MGMT_URL
|
||||||
|
|
||||||
|
if [[ -z "$NETBIRD_MGMT_URL" ]]; then
|
||||||
|
msg_warn "No management URL provided. Run 'netbird up --management-url <url>' to connect."
|
||||||
|
else
|
||||||
|
NETBIRD_MGMT_URL="${NETBIRD_MGMT_URL%/}"
|
||||||
|
msg_ok "Management URL configured: ${NETBIRD_MGMT_URL}"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
msg_warn "Invalid selection. Using NetBird Managed service."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# NetBird Connection Setup
|
||||||
|
echo ""
|
||||||
|
echo -e "${BL}NetBird Connection Setup${CL}"
|
||||||
|
echo "─────────────────────────────────────────"
|
||||||
|
echo "Choose how to connect to your NetBird network:"
|
||||||
|
echo ""
|
||||||
|
echo " 1) Setup Key (default) - Use a pre-generated setup key"
|
||||||
|
echo " 2) SSO Login - Authenticate via browser with your identity provider"
|
||||||
|
echo " 3) Skip - Configure later with 'netbird up'"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
read -r -p "Select authentication method [1]: " AUTH_METHOD
|
||||||
|
AUTH_METHOD="${AUTH_METHOD:-1}"
|
||||||
|
|
||||||
|
case "$AUTH_METHOD" in
|
||||||
|
1)
|
||||||
|
echo ""
|
||||||
|
echo "Enter your NetBird setup key from the NetBird dashboard."
|
||||||
|
echo ""
|
||||||
|
read -r -p "Setup key: " NETBIRD_SETUP_KEY
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
if [[ -z "$NETBIRD_SETUP_KEY" ]]; then
|
||||||
|
if [[ -n "$NETBIRD_MGMT_URL" ]]; then
|
||||||
|
msg_warn "No setup key provided. Run 'netbird up -k <key> --management-url $NETBIRD_MGMT_URL' to connect."
|
||||||
|
else
|
||||||
|
msg_warn "No setup key provided. Run 'netbird up -k <key>' to connect."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
msg_info "Connecting to NetBird with setup key"
|
||||||
|
if [[ -n "$NETBIRD_MGMT_URL" ]]; then
|
||||||
|
if $STD netbird up -k "$NETBIRD_SETUP_KEY" --management-url "$NETBIRD_MGMT_URL"; then
|
||||||
|
msg_ok "Connected to NetBird"
|
||||||
|
else
|
||||||
|
msg_warn "Connection failed. Run 'netbird up -k <key> --management-url $NETBIRD_MGMT_URL' to retry."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if $STD netbird up -k "$NETBIRD_SETUP_KEY"; then
|
||||||
|
msg_ok "Connected to NetBird"
|
||||||
|
else
|
||||||
|
msg_warn "Connection failed. Run 'netbird up -k <key>' to retry."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
2)
|
||||||
|
echo ""
|
||||||
|
echo -e "${BL}SSO Authentication${CL}"
|
||||||
|
echo "─────────────────────────────────────────"
|
||||||
|
echo "A login URL will appear below."
|
||||||
|
echo "Copy the URL and open it in your browser to authenticate."
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
msg_info "Starting SSO login"
|
||||||
|
if [[ -n "$NETBIRD_MGMT_URL" ]]; then
|
||||||
|
netbird login --management-url "$NETBIRD_MGMT_URL" 2>&1 || true
|
||||||
|
else
|
||||||
|
netbird login 2>&1 || true
|
||||||
|
fi
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
msg_info "Connecting to NetBird"
|
||||||
|
if [[ -n "$NETBIRD_MGMT_URL" ]]; then
|
||||||
|
if $STD netbird up --management-url "$NETBIRD_MGMT_URL"; then
|
||||||
|
msg_ok "Connected to NetBird"
|
||||||
|
else
|
||||||
|
msg_warn "Connection failed. Run 'netbird up --management-url $NETBIRD_MGMT_URL' to retry."
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if $STD netbird up; then
|
||||||
|
msg_ok "Connected to NetBird"
|
||||||
|
else
|
||||||
|
msg_warn "Connection failed. Run 'netbird up' to retry."
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
3)
|
||||||
|
if [[ -n "$NETBIRD_MGMT_URL" ]]; then
|
||||||
|
msg_ok "Skipped. Run 'netbird up --management-url $NETBIRD_MGMT_URL' to connect."
|
||||||
|
else
|
||||||
|
msg_ok "Skipped. Run 'netbird up' to connect."
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
msg_warn "Invalid selection. Run 'netbird up' to connect."
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
cleanup_lxc
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user