Initial monorepo scaffold
Turborepo + pnpm monorepo for k3s homelab cluster on Intel NUCs. - Apps: Next.js web frontend, Express API (TypeScript, Dockerfiles, k8s manifests) - Packages: shared UI, ESLint config, TypeScript config, Drizzle DB schemas - Infra/Ansible: bare-metal provisioning with roles for common, k3s-server, k3s-agent, hardening - Infra/Kubernetes: ArgoCD GitOps (app-of-apps + ApplicationSets), platform components (cert-manager, Traefik, CloudNativePG, Valkey, Longhorn, Sealed Secrets), namespaces - Observability: kube-prometheus-stack, Loki, Promtail as ArgoCD Applications - CI/CD: GitHub Actions for PR builds, preview deploys, production deploys - DX: Taskfile, utility scripts, copier templates, Ubiquiti network docs
This commit is contained in:
23
scripts/kubeconfig-fetch.sh
Executable file
23
scripts/kubeconfig-fetch.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
ROOT_DIR="$(dirname "$SCRIPT_DIR")"
|
||||
|
||||
SERVER_HOST="${K3S_SERVER_HOST:-10.0.10.11}"
|
||||
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"
|
||||
Reference in New Issue
Block a user