Add devcontainer for cross-platform development
- Dockerfile with all required tools (kubectl, flux, helm, sops, age, etc.) - devcontainer.json with VSCode config and extensions - postCreateCommand.sh for setup verification - Comprehensive README with setup instructions for macOS, Windows/WSL2, Linux - Automatic mounts for kubeconfig, SSH keys, age encryption keys - SOPS_AGE_KEY_FILE and KUBECONFIG pre-configured Enables development on Windows, macOS, and Linux with consistent environment. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Haiku 4.5
parent
d37a65f4fa
commit
857c3965ef
Executable
+35
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "🚀 Setting up ESS Community GitOps devcontainer..."
|
||||
|
||||
# Verify all required tools are installed
|
||||
echo "✅ Verifying installed tools..."
|
||||
commands=("kubectl" "flux" "helm" "sops" "age" "git" "docker")
|
||||
|
||||
for cmd in "${commands[@]}"; do
|
||||
if command -v $cmd &> /dev/null; then
|
||||
version=$($cmd version 2>/dev/null | head -1 || echo "installed")
|
||||
echo " ✓ $cmd: $version"
|
||||
else
|
||||
echo " ✗ $cmd: NOT FOUND"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
# Create necessary directories
|
||||
echo "📁 Creating home directories..."
|
||||
mkdir -p ~/.kube ~/.ssh ~/.age
|
||||
|
||||
# Print useful information
|
||||
echo ""
|
||||
echo "📚 Useful commands:"
|
||||
echo " - kubectl get pods -n matrix (check pod status)"
|
||||
echo " - flux get helmreleases -A (check helm releases)"
|
||||
echo " - sops apps/production/custom-configs/mas-secrets.sops.yaml (edit secrets)"
|
||||
echo ""
|
||||
echo "🔗 For kubeconfig setup:"
|
||||
echo " - Copy your ~/.kube/config to access the cluster"
|
||||
echo " - Run: kubectl get nodes"
|
||||
echo ""
|
||||
echo "✨ Devcontainer setup complete!"
|
||||
Reference in New Issue
Block a user