#!/usr/bin/env bash set -euo pipefail echo "[1/10] Creating Kubernetes Workspace..." mkdir -p services/kubernetes mkdir -p hooks cat > services/kubernetes/client.js <<'EOC' import api from "../api"; export async function clusters(){ const {data}=await api.get("/api/kubernetes/clusters"); return data; } export async function namespaces(cluster){ const {data}=await api.get(`/api/kubernetes/${cluster}/namespaces`); return data; } export async function pods(cluster,namespace){ const {data}=await api.get(`/api/kubernetes/${cluster}/pods`,{ params:{namespace} }); return data; } export async function deployments(cluster,namespace){ const {data}=await api.get(`/api/kubernetes/${cluster}/deployments`,{ params:{namespace} }); return data; } export async function services(cluster,namespace){ const {data}=await api.get(`/api/kubernetes/${cluster}/services`,{ params:{namespace} }); return data; } export async function logs(cluster,pod,namespace){ const {data}=await api.get(`/api/kubernetes/${cluster}/logs`,{ params:{pod,namespace} }); return data; } export async function scale(cluster,namespace,deployment,replicas){ const {data}=await api.post(`/api/kubernetes/${cluster}/scale`,{ namespace, deployment, replicas }); return data; } export async function rollout(cluster,namespace,deployment){ const {data}=await api.post(`/api/kubernetes/${cluster}/rollout`,{ namespace, deployment }); return data; } export async function deletePod(cluster,namespace,pod){ const {data}=await api.delete(`/api/kubernetes/${cluster}/pod`,{ data:{ namespace, pod } }); return data; } EOC cat > hooks/useKubernetes.js <<'EOC' "use client"; import {useState} from "react"; import * as kube from "../services/kubernetes/client"; export default function useKubernetes(){ const [loading,setLoading]=useState(false); async function execute(fn,...args){ setLoading(true); try{ return await fn(...args); }finally{ setLoading(false); } } return{ loading, clusters:(...a)=>execute(kube.clusters,...a), namespaces:(...a)=>execute(kube.namespaces,...a), pods:(...a)=>execute(kube.pods,...a), deployments:(...a)=>execute(kube.deployments,...a), services:(...a)=>execute(kube.services,...a), logs:(...a)=>execute(kube.logs,...a), scale:(...a)=>execute(kube.scale,...a), rollout:(...a)=>execute(kube.rollout,...a), deletePod:(...a)=>execute(kube.deletePod,...a) }; } EOC echo "[2/10] Installing..." npm install echo "[3/10] Building..." npm run build >/dev/null echo "[4/10] Verify..." test -f services/kubernetes/client.js test -f hooks/useKubernetes.js echo "[5/10] Kubernetes API installed." echo "[6/10] Kubernetes hooks installed." echo "[7/10] Production build verified." echo "[8/10] Frontend verified." echo "[9/10] Ready." echo "[10/10] Complete."