af95c3795c
Phase 1 — Structural overhaul: - Move all source from headlamp-sealed-secrets/ subdirectory to repo root - Delete 23 AI-generated docs, 8 pre-built tarballs, release snapshots dir - Remove all working-directory refs from CI/release workflows - Update install-plugin.sh and typedoc.json paths Phase 2 — Config standardization: - Create .eslintrc.js and .prettierrc.js (standard Headlamp configs) - Remove inline eslintConfig/prettier from package.json (drop jsx-a11y, prettier extends) - Rewrite tsconfig.json (package name extend, add compilerOptions.types) - Create vitest.config.mts and vitest.setup.ts (standard from polaris) - Replace headlamp-plugin CLI scripts with direct tool invocation - Rewrite .gitignore with standard baseline Phase 3 — MCP & Claude settings: - Create .mcp.json with github/kubernetes/flux/playwright servers - Create .claude/settings.local.json - Remove 7 specialized agents, keep 3 meta-orchestration agents Phase 4 — Documentation: - Rewrite CLAUDE.md (remove subdirectory refs, standard format) - Add ArtifactHub badge, Architecture section, standardized install methods to README.md - Create CONTRIBUTING.md and SECURITY.md - Fix pre-existing test bugs in validators.test.ts (isValidNamespace returns boolean, not ValidationResult; error message string mismatches) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
80 lines
2.2 KiB
Bash
Executable File
80 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Install Headlamp Sealed Secrets Plugin
|
|
#
|
|
# This script builds and installs the plugin to your local Headlamp installation.
|
|
#
|
|
|
|
set -e
|
|
|
|
# Colors for output
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
NC='\033[0m' # No Color
|
|
|
|
echo -e "${GREEN}Headlamp Sealed Secrets Plugin Installer${NC}"
|
|
echo "=========================================="
|
|
echo
|
|
|
|
# Detect OS and set plugin directory
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
PLUGIN_DIR="$HOME/Library/Application Support/Headlamp/plugins/headlamp-sealed-secrets"
|
|
echo -e "${YELLOW}Detected: macOS${NC}"
|
|
elif [[ "$OSTYPE" == "linux-gnu"* ]]; then
|
|
PLUGIN_DIR="$HOME/.config/Headlamp/plugins/headlamp-sealed-secrets"
|
|
echo -e "${YELLOW}Detected: Linux${NC}"
|
|
else
|
|
echo -e "${RED}Unsupported OS: $OSTYPE${NC}"
|
|
echo "For Windows, please see HEADLAMP_INSTALLATION.md"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Plugin will be installed to: $PLUGIN_DIR"
|
|
echo
|
|
|
|
# Check if node/npm are available
|
|
if ! command -v npm &> /dev/null; then
|
|
echo -e "${RED}Error: npm is not installed${NC}"
|
|
echo "Please install Node.js and npm first"
|
|
exit 1
|
|
fi
|
|
|
|
# Navigate to plugin directory
|
|
cd "$(dirname "$0")"
|
|
|
|
echo -e "${GREEN}Step 1: Installing dependencies...${NC}"
|
|
npm install
|
|
|
|
echo
|
|
echo -e "${GREEN}Step 2: Building plugin...${NC}"
|
|
npm run build
|
|
|
|
echo
|
|
echo -e "${GREEN}Step 3: Creating plugin directory...${NC}"
|
|
mkdir -p "$PLUGIN_DIR"
|
|
|
|
echo
|
|
echo -e "${GREEN}Step 4: Copying plugin files...${NC}"
|
|
cp -v dist/main.js "$PLUGIN_DIR/"
|
|
cp -v package.json "$PLUGIN_DIR/"
|
|
cp -v README.md "$PLUGIN_DIR/" 2>/dev/null || true
|
|
cp -v LICENSE "$PLUGIN_DIR/" 2>/dev/null || true
|
|
|
|
echo
|
|
echo -e "${GREEN}✓ Installation complete!${NC}"
|
|
echo
|
|
echo "Plugin installed to: $PLUGIN_DIR"
|
|
echo
|
|
echo "Next steps:"
|
|
echo "1. Restart Headlamp desktop application"
|
|
echo "2. Open Headlamp and connect to your cluster"
|
|
echo "3. Look for 'Sealed Secrets' in the sidebar"
|
|
echo
|
|
echo "To verify sealed-secrets controller is installed:"
|
|
echo " kubectl get pods -n kube-system -l name=sealed-secrets-controller"
|
|
echo
|
|
echo "To install sealed-secrets controller (if not present):"
|
|
echo " kubectl apply -f https://github.com/bitnami-labs/sealed-secrets/releases/download/v0.24.0/controller.yaml"
|
|
echo
|