Crossplane управляет инфраструктурой через Kubernetes-ресурсы, но наблюдать за ними из терминала неудобно. Провайдеры, композиции, XRD, клеймы — всё приходится доставать через
kubectl get и разбирать вручную. Crossview — веб-дашборд, который показывает ресурсы Crossplane в одном интерфейсе с поиском, фильтрацией и отслеживанием статусов в реальном времени.Что умеет
Crossview подключается к Kubernetes API через Informers и отслеживает изменения ресурсов без постоянных запросов. Обновления приходят по WebSocket. Поддерживается работа с несколькими кластерами — переключение между контекстами прямо из UI.
Для каждого ресурса доступны статус-условия, метаданные, события и связи с другими объектами. Есть тёмная тема и SSO через OIDC/SAML.
Стек
Фронтенд — React + Vite + Chakra UI. Бэкенд — Go (Gin) +
client-go. БД — PostgreSQL (GORM).Как запустить
Через Helm:
helm repo add crossview https://corpobit.github.io/crossview
helm repo update
helm install crossview crossview/crossview \
--namespace crossview \
--create-namespace \
--set secrets.dbPassword=your-db-password
Через Docker Compose (в репозитории есть готовый файл с PostgreSQL):
docker-compose up
Для локальной разработки фронтенд и бэкенд запускаются отдельно:
npm install && npm run dev
cd crossview-go-server && go run main.go app:serve
Фронтенд на
localhost:5173 проксирует API на бэкенд (localhost:3001).API
Бэкенд предоставляет REST API на порту 3001:
GET /api/contexts — список Kubernetes-контекстовGET /api/resources?apiVersion=&kind= — список ресурсовGET /api/resource?apiVersion=&kind=&name= — детали ресурсаGET /api/events?kind=&name= — события ресурсаGET /api/watch — WebSocket для real-time обновленийПри запуске в кластере бэкенд автоматически использует service account без kubeconfig.
➡️ Репозиторий
📰 Наша подписка как дашборд, но приходит сама
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#арсенал_инженера
