Grove Platform
An internal developer platform — deploy an app in two commands.
Grove turns a git repo into a running, previewable, promotable application: per-environment URLs, per-PR preview deployments, GitOps sync, image promotion with a production gate, dashboards, and single-sign-on — all provisioned from one declarative config, no tickets.
Access is invite-only
The platform, its services, and every deployed app live behind a private mesh. Public visitors see only this page and the sign-in / mesh endpoints. To get in you need a platform identity and a mesh connection:
- Ask your platform team for an account — a sign-in identity at login.<domain>.
- The mesh control plane (dashboard) is at
vpn.<domain>; once connected, the full developer
documentation is at
docs.internal.<domain>.
Join the mesh
Already have an account? Three steps to get connected:
- Install the NetBird client — app.netbird.io/install (macOS, Linux, Windows).
- Connect. Point the client at this platform's mesh:
A browser opens for single sign-on atnetbird up --management-url https://api.vpn.<domain>login.<domain>— approve it and your device joins. - Verify.
netbird statusshould reportConnected. You can now reach every*.internal.<domain>service — see “Once you're connected” below.
No account yet? See “Access is invite-only” above — ask your platform team first.
Once you're connected
Two places to go first — both are mesh-only, so these links work only after the steps above:
- Developer docs — docs.internal.<domain>: the full manual, from onboarding to deploying your first app.
- Platform dashboard — home.internal.<domain>: one page linking every platform service (git, GitOps, promotion, dashboards) and your deployed apps.
Not a developer? Start at the dashboard — the team wiki, boards, chat, and whiteboard are one click from there — and skip the kubectl section below. The docs have a Using the platform page written for you.
Connect kubectl to the cluster (developers)
Cluster access goes through the kubectl-grove plugin — one
binary that is both the Grove CLI (kubectl grove …) and the
OIDC credential helper kubectl uses to sign you in. Install it now
(public download, no mesh needed):
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
curl -fsSL -o kubectl-grove \
"https://www.<domain>/downloads/kubectl-grove-${OS}-${ARCH}"
chmod +x kubectl-grove && sudo mv kubectl-grove /usr/local/bin/
The platform hosts its own builds — /downloads/
lists all of them (macOS & Linux, arm64 & amd64, plus
SHA256SUMS), always the version matching this cluster. Then —
after joining the mesh, since the kubeconfig endpoint is
mesh-gated — fetch your kubeconfig:
kubectl grove login <domain>
Your first kubectl call opens a browser for single sign-on at
login.<domain>; after that, tokens refresh
automatically.
Contact
Questions, access requests, or something broken? Reach the platform team:
- Platform admin — platform-admin@marnyg.xyz