ff-ruyijs
A AI Browser run any site JavaScript from Python with the real Firefox engine. Headless SpiderMonkey + Necko for automation and scraping.
翻译准备中
制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A Kubernetes operator that discovers DNS records, tracks service status, monitors network flows, and manages image inventories across your cluster — all presented in a unified web dashboard.
sreportal.io/portal)┌──────────────────────────────────────────────────────┐
│ SRE Portal Pod │
│ │
│ ┌──────────────┐ ┌─────────────┐ ┌────────────┐ │
│ │ Controllers │ │ Connect API │ │ Web UI │ │
│ │ (ctrl-runtime)│ │ (gRPC/h2c) │ │ (Echo v5) │ │
│ └──────┬───────┘ └──────┬──────┘ └─────┬──────┘ │
│ │ │ │ │
│ └─────────┬───────┴───────┬───────┘ │
│ │ │ │
│ K8s API Server MCP (/mcp, /mcp/*) │
└──────────────────────────────────────────────────────┘
| CRD | Group | Description |
|---|---|---|
| Portal | v1alpha1 | Named dashboard view with optional remote federation |
| DNS | v1alpha2 | Manual DNS entry groups linked to a portal |
| DNSRecord | v1alpha2 | Auto-discovered endpoints (managed by the operator) |
| Alertmanager | v1alpha1 | Alertmanager instance linked to a portal |
| Component | v1alpha1 | Platform component with operational status |
| Incident | v1alpha1 | Declared incident with timeline updates |
| Maintenance | v1alpha1 | Scheduled maintenance window |
| Release | v1alpha1 | Release entry for the release tracker |
| FlowObserver | v1alpha1 | Network flow discovery configuration |
| NetworkFlowDiscovery | v1alpha1 | Discovered network flow topology |
| ImageInventory | v1alpha1 | Container image inventory linked to a registry |
| ImageRegistry | v1alpha1 | Image registry configuration |
kubectl configured to access the clusterhelm install sreportal oci://ghcr.io/golgoth31/charts/sreportal \
--namespace sreportal-system --create-namespace
kubectl port-forward -n sreportal-system svc/sreportal-controller-manager 8090:8090
Open http://localhost:8090 in your browser.
apiVersion: v1
kind: Service
metadata:
name: my-web-app
annotations:
external-dns.alpha.kubernetes.io/hostname: "myapp.example.com"
sreportal.io/portal: "main" # optional: route to a specific portal
sreportal.io/groups: "Backend,APIs" # optional: assign to groups
spec:
type: ClusterIP
ports:
- port: 80
SRE Portal exposes 7 MCP servers (Streamable HTTP) for AI assistant integration.
MCP must be enabled with --enable-mcp (disabled by default). Transport: streamable-http (default) or stdio.
| Endpoint | Tools |
|---|---|
/mcp or /mcp/dns | search_fqdns, list_portals, get_fqdn_details |
/mcp/alerts | list_alerts |
/mcp/status | list_components, list_maintenances, list_incidents, get_platform_status |
/mcp/releases | list_releases |
/mcp/netpol | list_network_flows, get_service_flows |
/mcp/image | list_images, list_upgrades, list_mutations |
/mcp/metrics | list_metrics |
Claude Code:
claude mcp add sreportal --transport http http://localhost:8090/mcp
claude mcp add sreportal-alerts --transport http http://localhost:8090/mcp/alerts
claude mcp add sreportal-status --transport http http://localhost:8090/mcp/status
claude mcp add sreportal-netpol --transport http http://localhost:8090/mcp/netpol
claude mcp add sreportal-image --transport http http://localhost:8090/mcp/image
Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"sreportal": { "transport": "http", "url": "http://localhost:8090/mcp" },
"sreportal-alerts": { "transport": "http", "url": "http://localhost:8090/mcp/alerts" },
"sreportal-status": { "transport": "http", "url": "http://localhost:8090/mcp/status" },
"sreportal-netpol": { "transport": "http", "url": "http://localhost:8090/mcp/netpol" },
"sreportal-image": { "transport": "http", "url": "http://localhost:8090/mcp/image" }
}
}
Full documentation: golgoth31.github.io/sreportal
| Component | Technology |
|---|---|
| Operator | Go 1.26, Kubebuilder, controller-runtime v0.23 |
| API | Connect protocol (connectrpc.com/connect) |
| Web UI | React 19, Vite, Tailwind CSS v4, shadcn/ui, TanStack Query v5 |
| MCP | Model Context Protocol (mark3labs/mcp-go) |
| Web server | Echo v5 with h2c |
| Codegen | Buf (protobuf) |
| DNS sources | sigs.k8s.io/external-dns |
| Testing | Ginkgo v2, Gomega, envtest |
make build # Build manager binary
make run # Run locally with current kubeconfig
make test # Unit tests with envtest
make manifests # Regenerate CRDs/RBAC
make proto # Regenerate Go + TypeScript from proto
make build-web # Build React app (Vite)
See Development for the full guide.
Copyright 2026.
Licensed under the Apache License, Version 2.0. See LICENSE for details.