Frequently Asked Questions

Last updated 4 min read
Report issue

Frequently Asked Questions#

Common questions from operators and end-users. Use the search bar above to jump to a specific topic.

Getting started#

What's the absolute fastest way to try GritivaCore?#

BASH
curl -fsSL https://get.gritiva.com/agent | sudo bash -s -- --token <ENROLL_TOKEN>

Get an enrollment token from panel.gritiva.com → Add VM. The agent installs in under 60 seconds and the VM appears in your panel immediately. See Quick Start.

Do I need Docker?#

No. The agent is a single PyInstaller binary with no Docker dependency. Inside a scope, however, you'll typically run docker compose to deploy your apps — that's where Docker is useful. The host running the agent doesn't need Docker installed unless your scopes use it.

What Linux distros are supported?#

Tested on:

  • Ubuntu 22.04 LTS, 24.04 LTS
  • Debian 12 (bookworm), 13 (trixie)
  • Fedora 40+
  • Rocky Linux 9

Anything with kernel ≥ 5.15, systemd, iproute2, and nftables should work. We don't currently support Alpine (musl-libc incompatibility with the bundled binary).

Can I run the agent on a Raspberry Pi?#

Yes — we publish ARM64 binaries. ARMv7 is best-effort.

Concepts#

What's the difference between a Scope and a VM?#

A VM is a full guest OS with its own kernel. A Scope is a Linux network namespace + cgroup running on the agent's host kernel. Lighter than a VM, more isolated than a container. See Concepts: Scope.

What's the difference between gmesh and a VPN?#

gmesh IS a WireGuard mesh — so technically a VPN. The difference is: gmesh is per-scope, not per-VM. Each scope gets its own private interface and identity. Two scopes on the same VM are isolated from each other unless explicitly meshed. See Concepts: Mesh.

Why scopes instead of containers?#

Containers share the host's network stack and PID namespace by default — weaker isolation. Scopes give you full netns + cgroup isolation but without the overhead of a full VM. See Concepts: Scope for the full comparison.

Networking#

Can I attach my own domain?#

Yes — DRM is the primitive for this. One command:

BASH
gritivactl domain add app.example.com --scope my-app --port 8080

This provisions Cloudflare DNS, a cloudflared tunnel rule, nginx in the scope's netns, and a TLS cert. Live in ~30 seconds.

Do scopes need public IP addresses?#

No. The agent dials out to our control plane via WebSocket (always outbound 443). Scopes reach the public internet via the host's egress; inbound traffic comes via Cloudflare's tunnel into your scope. You don't open any inbound ports on the host.

Can two scopes on different VMs talk to each other?#

Yes — that's exactly what gmesh is for. Once both scopes join a VNet, they reach each other on a private subnet over WireGuard, no further config.

Security#

Where are my credentials stored?#

The agent's enrollment token is stored at /etc/gritiva/agent.toml (mode 0600, root-only). The hosted control plane stores account passwords as bcrypt hashes (cost 12) and session tokens as JWTs with a 60-minute TTL. See Privacy Policy.

What happens if my enrollment token leaks?#

Revoke it from the panel (Settings → Tokens) — the affected agent will fail its next heartbeat and need re-enrollment. Until you revoke, anyone with the token can register a fake VM under your account. Treat enrollment tokens like API keys.

Does Gritiva read my data?#

The hosted control plane sees telemetry (heartbeats, scope counts, mesh peer state) but not application payloads. Your gmesh traffic is end-to-end WireGuard between your VMs — we cannot decrypt it. See Privacy Policy §3.

Billing#

How am I billed?#

Per VM per month, starting on the 1st of each month, prorated for partial months. We invoice in arrears — you only pay for what you used. See Pricing.

Can I downgrade?#

Yes, anytime. Excess VMs above the new tier limit get marked as "unbilled" — they keep working but don't count toward the SLA.

Do you offer a startup discount?#

Yes — 50% off Pro for 12 months for companies <2 years old and <$1M ARR. Email [email protected] with proof.

Support#

How do I get help?#

  • Free plan: community Discord (TBD)
  • Pro plan: [email protected] (1 business day first response)
  • Enterprise plan: dedicated support engineer + Slack/Teams channel

Where do I report security issues?#

[email protected]. PGP key on the contact page. We follow a 90-day responsible-disclosure timeline.

Where do I report bugs in the code?#

GitHub issues: github.com/mohammad2000/GritivaCore/issues. Include your agent version (gritivactl version) and the relevant journalctl logs.

Still stuck?#

Email [email protected]. We read every message.