Add plain Kubernetes deployment manifests#90
Conversation
Dependency-free manifests under deploy/kubernetes/ (namespace, PVC, Deployment, Service, optional Ingress, kustomization) so Rackpad can be run on any cluster with 'kubectl apply -k'. Mirrors docker-compose.yml: single replica, non-root (uid 10001), read-only rootfs + writable /tmp, SQLite DB on a PVC, /api/health probes. README documents env vars and the discovery networking tradeoffs (L3/SNMP from a normal pod vs L2/ARP needing hostNetwork).
|
Thanks so much for taking the time to contribute and open this pull request. I really appreciate the effort and the interest in improving Rackpad. At this stage, I’m not accepting pull requests directly so I can maintain the integrity, consistency, and direction of the project while it is still moving quickly. For now, the best way to contribute is to open an issue describing the change, bug, or improvement you had in mind. I’ll review issues, implement the changes in the main codebase where they fit, and then you’re very welcome to test the result, give feedback, and help refine it from there. Thanks again for the contribution and for understanding. |
|
I completely don't understand your rationale but after all it's your project. Do whatever you think is right ;) |
Adds dependency-free Kubernetes manifests under
deploy/kubernetes/so Rackpad can be run on any cluster without Helm, an operator, or a third-party chart — justkubectl apply -k deploy/kubernetes/.What's included
namespace.yamlrackpadnamespacepvc.yaml/datadeployment.yaml/api/healthprobesservice.yamlingress.yamlkustomization.yamlREADME.mdDesign
Mirrors the conventions in
docker-compose.yml: single replica (SQLite is single-writer,strategy: Recreate), non-root, read-only root filesystem with a writable/tmpemptyDir, and the database persisted on a PVC. Probes hit the existing/api/healthendpoint.The README also documents the discovery networking tradeoffs on Kubernetes — L3 (ICMP/TCP/SNMP) works from a normal pod with
NET_RAW, while L2/ARP MAC capture needshostNetwork: true+NET_ADMIN(the equivalent ofdocker-compose.host-discovery.yml). Defaults stay minimal-privilege; raw caps are an opt-in documented step.Validated with
kubectl kustomizeandkubectl apply --dry-run=client. Image tag left at:latestwith a note to pin for production.Happy to adjust paths, naming, or fold this into the docs differently if you'd prefer.