fix: PageHead header alignment, analytics proxy, and infra improvements (#64)
🤖 Pull request created from `various-fixes` containing PageHead
breadcrumbs and navigation alignment fixes, Umami analytics proxy, and
infrastructure updates.
This commit is contained in:
1 parent
ff5a50bad8
commit
9ee672504f
110 files changed
+2649
-1760
No files matched your search
@@ -19,7 +19,116 @@ k3s --version
|
||||
systemctl stop k3s.service || true
|
||||
systemctl disable k3s.service || true
|
||||
|
||||
# Create configuration directory
|
||||
# Create configuration directory and default config
|
||||
mkdir -p /etc/rancher/k3s
|
||||
cat << 'EOF' > /etc/rancher/k3s/config.yaml
|
||||
write-kubeconfig-mode: "0644"
|
||||
EOF
|
||||
chmod 644 /etc/rancher/k3s/config.yaml
|
||||
|
||||
# Pre-stage default GitOps root sync manifest
|
||||
mkdir -p /etc/flux
|
||||
cat << 'EOF' > /etc/flux/cluster-sync.yaml
|
||||
apiVersion: source.toolkit.fluxcd.io/v1
|
||||
kind: GitRepository
|
||||
metadata:
|
||||
name: ermnvldmr-repo
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 1m
|
||||
url: https://github.com/deytenit/ermnvldmr.com.git
|
||||
ref:
|
||||
branch: next
|
||||
---
|
||||
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
||||
kind: Kustomization
|
||||
metadata:
|
||||
name: cluster-sync
|
||||
namespace: flux-system
|
||||
spec:
|
||||
interval: 1m
|
||||
sourceRef:
|
||||
kind: GitRepository
|
||||
name: ermnvldmr-repo
|
||||
path: ./ci/k8s/clusters/production
|
||||
prune: true
|
||||
wait: true
|
||||
timeout: 3m
|
||||
decryption:
|
||||
provider: sops
|
||||
secretRef:
|
||||
name: sops-age
|
||||
EOF
|
||||
|
||||
# Install the cluster bootstrap script into /usr/local/bin
|
||||
cat << 'EOF' > /usr/local/bin/bootstrap-cluster.sh
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
echo "=== [Bootstrap] Checking for Secondary Persistent Data Disk ==="
|
||||
if [ -b /dev/vdb ]; then
|
||||
echo "Secondary disk /dev/vdb detected."
|
||||
if ! blkid /dev/vdb >/dev/null 2>&1; then
|
||||
echo "Formatting /dev/vdb with ext4 filesystem..."
|
||||
mkfs.ext4 -F -L k3s-storage /dev/vdb
|
||||
fi
|
||||
mkdir -p /var/lib/rancher/k3s/storage
|
||||
if ! grep -qs '/var/lib/rancher/k3s/storage' /proc/mounts; then
|
||||
mount /dev/vdb /var/lib/rancher/k3s/storage
|
||||
echo "LABEL=k3s-storage /var/lib/rancher/k3s/storage ext4 defaults,noatime 0 2" >> /etc/fstab
|
||||
echo "Mounted /dev/vdb to /var/lib/rancher/k3s/storage."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "=== [Bootstrap] Starting K3s Service ==="
|
||||
systemctl enable --now k3s.service
|
||||
|
||||
echo "=== [Bootstrap] Waiting for K3s API server ready ==="
|
||||
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml
|
||||
until kubectl get nodes >/dev/null 2>&1; do
|
||||
echo "Waiting for Kubernetes API..."
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo "=== [Bootstrap] Cluster node is online ==="
|
||||
kubectl get nodes
|
||||
|
||||
echo "=== [Bootstrap] Setting up Kubectl access for non-root users ==="
|
||||
for home_dir in /home/*; do
|
||||
if [ -d "$home_dir" ]; then
|
||||
user_name=$(basename "$home_dir")
|
||||
mkdir -p "$home_dir/.kube"
|
||||
cp /etc/rancher/k3s/k3s.yaml "$home_dir/.kube/config"
|
||||
chown -R "$user_name:$user_name" "$home_dir/.kube"
|
||||
chmod 600 "$home_dir/.kube/config"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "=== [Bootstrap] Creating flux-system namespace ==="
|
||||
kubectl create namespace flux-system --dry-run=client -o yaml | kubectl apply -f -
|
||||
|
||||
echo "=== [Bootstrap] Injecting SOPS age decryption key ==="
|
||||
if [ -f /root/.config/sops/age/keys.txt ]; then
|
||||
kubectl create secret generic sops-age \
|
||||
--namespace=flux-system \
|
||||
--from-file=age.agekey=/root/.config/sops/age/keys.txt \
|
||||
--dry-run=client -o yaml | kubectl apply -f -
|
||||
echo "sops-age secret created."
|
||||
else
|
||||
echo "WARNING: /root/.config/sops/age/keys.txt not found. Inject key manually via kubectl."
|
||||
fi
|
||||
|
||||
echo "=== [Bootstrap] Installing Flux Operator / Custom Resources ==="
|
||||
kubectl apply -k "https://github.com/fluxcd/flux2/manifests/install?ref=v2.4.0" || true
|
||||
|
||||
echo "=== [Bootstrap] Applying initial GitOps root sync ==="
|
||||
if [ -f /etc/flux/cluster-sync.yaml ]; then
|
||||
kubectl apply -f /etc/flux/cluster-sync.yaml
|
||||
fi
|
||||
|
||||
echo "=== [Bootstrap] First-Boot Bootstrap Sequence Complete ==="
|
||||
EOF
|
||||
|
||||
chmod 755 /usr/local/bin/bootstrap-cluster.sh
|
||||
|
||||
echo "=== K3s Pre-installation Complete ==="
|
||||
Reference in new issue
Block a user