- Update repo URLs from HTTPS placeholder to git@github.com:lazorgurl/homelab.git - Update container image refs from OWNER to lazorgurl - Set KUBECONFIG env in Taskfile - Fix kubeconfig-fetch.sh to auto-detect server IP from inventory - Fix Ansible: callback plugin, br_netfilter ordering, ssh service name
29 lines
950 B
Bash
Executable File
29 lines
950 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
ROOT_DIR="$(dirname "$SCRIPT_DIR")"
|
|
INVENTORY="$ROOT_DIR/infra/ansible/inventory/hosts.yaml"
|
|
|
|
# Auto-detect server IP from Ansible inventory, or use env override
|
|
if [[ -z "${K3S_SERVER_HOST:-}" ]] && [[ -f "$INVENTORY" ]]; then
|
|
SERVER_HOST=$(grep -A1 'k3s_role: server' "$INVENTORY" | grep ansible_host | awk '{print $2}' | head -1)
|
|
fi
|
|
SERVER_HOST="${SERVER_HOST:-${K3S_SERVER_HOST:-192.168.1.50}}"
|
|
SSH_USER="${SSH_USER:-julia}"
|
|
KUBECONFIG_PATH="${KUBECONFIG_PATH:-$HOME/.kube/homelab}"
|
|
|
|
echo "Fetching kubeconfig from ${SERVER_HOST}..."
|
|
|
|
ssh "${SSH_USER}@${SERVER_HOST}" "sudo cat /etc/rancher/k3s/k3s.yaml" \
|
|
| sed "s/127.0.0.1/${SERVER_HOST}/g" \
|
|
> "$KUBECONFIG_PATH"
|
|
|
|
chmod 600 "$KUBECONFIG_PATH"
|
|
|
|
echo "Kubeconfig written to ${KUBECONFIG_PATH}"
|
|
echo ""
|
|
echo "To use:"
|
|
echo " export KUBECONFIG=${KUBECONFIG_PATH}"
|
|
echo " kubectl get nodes"
|