[{"data":1,"prerenderedAt":311},["ShallowReactive",2],{"navigation_docs":3,"-getting-started-what-you-are-running":136,"-getting-started-what-you-are-running-surround":308},[4,26,47,68,89,110,123],{"title":5,"path":6,"stem":7,"children":8,"page":25},"Getting Started","\u002Fgetting-started","1.getting-started",[9,13,17,21],{"title":10,"path":11,"stem":12},"What you are running","\u002Fgetting-started\u002Fwhat-you-are-running","1.getting-started\u002F1.what-you-are-running",{"title":14,"path":15,"stem":16},"Architecture","\u002Fgetting-started\u002Farchitecture","1.getting-started\u002F2.architecture",{"title":18,"path":19,"stem":20},"Prerequisites","\u002Fgetting-started\u002Fprerequisites","1.getting-started\u002F3.prerequisites",{"title":22,"path":23,"stem":24},"Quickstart","\u002Fgetting-started\u002Fquickstart","1.getting-started\u002F4.quickstart",false,{"title":27,"path":28,"stem":29,"children":30,"page":25},"Install","\u002Finstall","2.install",[31,35,39,43],{"title":32,"path":33,"stem":34},"Install the chart","\u002Finstall\u002Finstall-the-chart","2.install\u002F1.install-the-chart",{"title":36,"path":37,"stem":38},"Activation","\u002Finstall\u002Factivation","2.install\u002F2.activation",{"title":40,"path":41,"stem":42},"DNS and TLS","\u002Finstall\u002Fdns-and-tls","2.install\u002F3.dns-and-tls",{"title":44,"path":45,"stem":46},"Verify your install","\u002Finstall\u002Fverify-your-install","2.install\u002F4.verify-your-install",{"title":48,"path":49,"stem":50,"children":51,"page":25},"Configure","\u002Fconfigure","3.configure",[52,56,60,64],{"title":53,"path":54,"stem":55},"Data services","\u002Fconfigure\u002Fdata-services","3.configure\u002F1.data-services",{"title":57,"path":58,"stem":59},"Secrets","\u002Fconfigure\u002Fsecrets","3.configure\u002F2.secrets",{"title":61,"path":62,"stem":63},"Registry and air-gapped installs","\u002Fconfigure\u002Fregistry-and-airgap","3.configure\u002F3.registry-and-airgap",{"title":65,"path":66,"stem":67},"Integrations","\u002Fconfigure\u002Fintegrations","3.configure\u002F4.integrations",{"title":69,"path":70,"stem":71,"children":72,"page":25},"Licensing","\u002Flicensing","4.licensing",[73,77,81,85],{"title":74,"path":75,"stem":76},"How licensing works","\u002Flicensing\u002Fhow-licensing-works","4.licensing\u002F1.how-licensing-works",{"title":78,"path":79,"stem":80},"Your key never leaves","\u002Flicensing\u002Fyour-key-never-leaves","4.licensing\u002F2.your-key-never-leaves",{"title":82,"path":83,"stem":84},"What phones home","\u002Flicensing\u002Fwhat-phones-home","4.licensing\u002F3.what-phones-home",{"title":86,"path":87,"stem":88},"Revoke and recover","\u002Flicensing\u002Frevoke-and-recover","4.licensing\u002F4.revoke-and-recover",{"title":90,"path":91,"stem":92,"children":93,"page":25},"Operate","\u002Foperate","5.operate",[94,98,102,106],{"title":95,"path":96,"stem":97},"Upgrade","\u002Foperate\u002Fupgrade","5.operate\u002F1.upgrade",{"title":99,"path":100,"stem":101},"Backup and restore","\u002Foperate\u002Fbackup-and-restore","5.operate\u002F2.backup-and-restore",{"title":103,"path":104,"stem":105},"Observability","\u002Foperate\u002Fobservability","5.operate\u002F3.observability",{"title":107,"path":108,"stem":109},"High availability","\u002Foperate\u002Fhigh-availability","5.operate\u002F4.high-availability",{"title":111,"path":112,"stem":113,"children":114,"page":25},"Troubleshooting","\u002Ftroubleshooting","6.troubleshooting",[115,119],{"title":116,"path":117,"stem":118},"Install failures","\u002Ftroubleshooting\u002Finstall-failures","6.troubleshooting\u002F1.install-failures",{"title":120,"path":121,"stem":122},"Licensing failures","\u002Ftroubleshooting\u002Flicensing-failures","6.troubleshooting\u002F2.licensing-failures",{"title":124,"path":125,"stem":126,"children":127,"page":25},"Reference","\u002Freference","9.reference",[128,132],{"title":129,"path":130,"stem":131},"Helm values","\u002Freference\u002Fhelm-values","9.reference\u002F1.helm-values",{"title":133,"path":134,"stem":135},"Environment variables","\u002Freference\u002Fenvironment","9.reference\u002F2.environment",{"id":137,"title":10,"body":138,"description":301,"extension":302,"links":303,"meta":304,"navigation":305,"path":11,"seo":306,"stem":12,"__hash__":307},"docs\u002F1.getting-started\u002F1.what-you-are-running.md",{"type":139,"value":140,"toc":295},"minimark",[141,145,154,157,162,170,176,191,217,228,231,235,238,249,255,265,269,272,275,281,291],[142,143,10],"h1",{"id":144},"what-you-are-running",[146,147,148,149,153],"p",{},"You are running one Helm chart, ",[150,151,152],"code",{},"platform",", on your own Kubernetes cluster. It stands up a complete Solvegio deployment: the API, an auth realm, a web tier, the data services, and a license agent.",[146,155,156],{},"The chart plays one of two roles. You pick the role at install time and everything else follows from it.",[158,159,161],"h2",{"id":160},"mvne-or-mvno","MVNE or MVNO",[146,163,164,165,169],{},"An ",[166,167,168],"strong",{},"MVNO"," sells connectivity to end customers. It has a storefront, a catalog, customers who buy eSIMs, orders, subscriptions, and support tickets. If you are selling travel eSIMs under your own brand, you are running an MVNO.",[146,171,164,172,175],{},[166,173,174],{},"MVNE"," sits behind MVNOs. It holds supplier integrations and a wholesale catalog, and it provisions and licenses the MVNOs downstream of it. Its web tier is an operator console, not a shop. If you are white-labeling storefronts for your own customers, you are running an MVNE.",[146,177,178,179,182,183,186,187,190],{},"Both roles come from the same chart and the same install command. ",[150,180,181],{},"platform.kind"," selects the role, and the API image (",[150,184,185],{},"solvegio\u002Fmvne-api"," or ",[150,188,189],{},"solvegio\u002Fmvno-api","), the web image, and the Kafka client id all derive from it. Nothing else in the command changes:",[192,193,198],"pre",{"className":194,"code":195,"language":196,"meta":197,"style":197},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","--set platform.kind=mvno   # or: mvne\n","bash","",[150,199,200],{"__ignoreMap":197},[201,202,205,209,213],"span",{"class":203,"line":204},"line",1,[201,206,208],{"class":207},"sBMFI","--set",[201,210,212],{"class":211},"sfazB"," platform.kind=mvno",[201,214,216],{"class":215},"sHwdD","   # or: mvne\n",[146,218,219,220,223,224,227],{},"If you install from a repo checkout instead of the published chart, ",[150,221,222],{},"values-mvno.yaml"," and ",[150,225,226],{},"values-mvne.yaml"," set that one key for you. The two forms render identically.",[146,229,230],{},"An MVNO does not have to sit under an MVNE. It can activate directly against the Solvegio Hub, which is the normal shape for a single operator running their own storefront. An MVNE only enters the picture if someone is reselling to you, or if you are the one reselling.",[158,232,234],{"id":233},"what-the-hub-is","What the Hub is",[146,236,237],{},"The Solvegio Hub is our service. It is the thing that knows your deployment exists, issues its license, and can revoke it. It is not part of what you install.",[146,239,240,241,244,245,248],{},"Your deployment talks to the Hub for a small, fixed set of reasons: it enrolls once with the activation code you give it, it renews and rotates its lease on a schedule, and it sends a periodic heartbeat. Those are all outbound calls from your cluster to ",[150,242,243],{},"https:\u002F\u002Fhub.solvegio.com",", the default value of ",[150,246,247],{},"activation.parentUrl",".",[146,250,251,254],{},[166,252,253],{},"The Hub never opens a connection into your cluster."," There is no callback, no webhook we deliver to you, no agent we log into, no port you open for us. Your ingress does not need to admit anything from us. If your cluster can make HTTPS requests out, the licensing chain works. If it cannot, the deployment stops serving when its lease expires, and we still cannot reach in to fix it.",[146,256,257,258,261,262,264],{},"Revocation works the same way, in reverse. We flip a row on our side. Nothing pushes to you. Your deployment discovers it on its next check-in and parks itself. See ",[259,260,74],"a",{"href":75}," for the full lifecycle, and ",[259,263,82],{"href":83}," for exactly what leaves your cluster.",[158,266,268],{"id":267},"what-you-own","What you own",[146,270,271],{},"The cluster is yours. We have no credentials for it and no access path into it.",[146,273,274],{},"The database is yours. It runs in your namespace by default, or against a managed Postgres you point the chart at. Your customer data, your orders, your SIM inventory: we never see any of it, and we have no way to query it. The usage counters the heartbeat reports are aggregate numbers your own deployment computes and sends.",[146,276,277,278,280],{},"The signing key is yours. It is generated inside your cluster, on first enrollment, by the license agent. The private half is written into a Kubernetes Secret in your namespace and never leaves it. The Hub only ever sees the public half and a proof that you hold the private one. ",[259,279,78],{"href":79}," explains the mechanism.",[146,282,283,284,286,287,290],{},"Next: ",[259,285,14],{"href":15},", for what a single ",[150,288,289],{},"helm install"," actually brings up.",[292,293,294],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":197,"searchDepth":204,"depth":296,"links":297},2,[298,299,300],{"id":160,"depth":296,"text":161},{"id":233,"depth":296,"text":234},{"id":267,"depth":296,"text":268},"The difference between an MVNE and an MVNO, and how your deployment relates to the Solvegio Hub.","md",null,{},true,{"title":10,"description":301},"KitOsUajv7hXpV3HH4PRunJ7UvPhar-1NdFtE6EnTU4",[303,309],{"title":14,"path":15,"stem":16,"description":310,"children":-1},"What a single helm install of the platform chart brings up in your namespace, and what each piece does.",1783967740854]