Managed Kubernetes — launching in Kampala, ug-1a
Coming soonManaged Kubernetes in Uganda
Somebody has to run etcd. In a Kampala team of five, that somebody is also your best engineer.
Kubernetes installs in an afternoon and takes three years to run well: certificate rotations, etcd backups nobody has restored, an upgrade that goes sideways with production on it, and one person who knows how the whole thing was assembled. That is a full-time role. Uganda has few engineers who have genuinely done it and fewer teams who can afford to lose one to it. Managed Kubernetes runs that layer in ug-1a, with autoscaling worker pools underneath and clusters opening at an indicative UGX 104,000 a month plus the resources your pods actually ask for. Join the waitlist and you will hear the week it is ready.
- Launching soon — join the waitlist for early access
- Managed control plane: API server, scheduler, etcd
- Clusters in Kampala, ug-1a
- Autoscaling worker pools, down to zero when idle
- Quoted and billed in UGX
Launching soon · Billed in UGX
Pricing
A cluster fee, plus what your nodes use
Pick a control plane — Basic or Fault Tolerant — then pay only for the vCPU, RAM, storage, and load balancers your worker nodes actually consume. In your currency, no forex.
Basic
Single master node for development, testing, and non-critical workloads.
Hosted in Nairobi, Dar es Salaam, Lagos & Kampala
- 1 master node
- 99.5% control-plane SLA
- Kubernetes 1.28–1.31
- Autoscaling worker pools
- Prometheus & Grafana included
Fault Tolerant
3 master nodes with automatic failover — recommended for production.
Hosted in Nairobi, Dar es Salaam, Lagos & Kampala
- 3 master nodes, automatic failover
- 99.95% control-plane SLA
- Kubernetes 1.28–1.31
- Autoscaling worker pools
- Prometheus & Grafana included
Worker node resources
Billed monthly, per unit consumed, on top of the cluster fee.
| Resource | Unit | Price /mo |
|---|---|---|
| vCPU | per vCPU | UGX 24,800 |
| RAM | per GB | UGX 11,400 |
| Local disk | per GB | UGX 710 |
| Network HDD | per GB | UGX 560 |
| Universal SSD | per GB | UGX 860 |
| Fast SSD | per GB | UGX 1,250 |
| Public IP | per IP | UGX 5,600 |
| Load balancer — Basic | per LB | UGX 61,000 |
| Load balancer — Basic, redundant | per LB | UGX 122,000 |
| Load balancer — Advanced, redundant | per LB | UGX 244,000 |
Your monthly total is the cluster fee plus the resources your worker nodes consume. Snapshots, file storage, and traffic beyond the included allowance bill at the same per-GB console rates. Prices exclude VAT; local currency figures are indicative and settled at checkout.
Where the cluster stands
The scarce thing in Uganda is not compute
Ask around Kampala for someone who has operated a production control plane — recovered an etcd quorum, rotated certificates under pressure, upgraded a live cluster without dropping traffic — and the list is short. It is short in most markets; it is shorter here, and the people on it are already employed. Meanwhile the workloads that genuinely want a container platform keep arriving: a fintech running eleven services against two wallet APIs, an NGO programme office carrying five donor systems with five different end dates, an ISP whose estate is thirty small daemons rather than one big application. Those teams do not need a platform engineer. They need the platform.
Where the cluster runs still matters, because containers multiply the distance problem rather than removing it. A request hits ingress, reaches a service, which calls two more, which each read a database and a cache, and something writes an event on the way out. One user action, eight network hops, before a response exists. Inside ug-1a those hops happen in one place. Split them across a continent and Uganda's geography makes it worse than most: the country is landlocked, no cable lands here, and every international path out of Kampala is hauled 900 kilometres and more overland to Mombasa or Dar es Salaam before it reaches salt water.
The reach in the other direction is domestic. The Uganda Communications Commission counted 49 million active mobile subscriptions and 19.7 million active mobile internet subscriptions in the quarter to June 2026, on a national fibre network that had grown to 80,257 route-kilometres and 5,663 towers. The state backbone carries a Kampala origin on to Gulu, Mbarara, Mbale, Jinja and Arua, and traffic between networks that meet at UIXP — 26 of them, 380G of connected capacity, running in Kampala since 2001 — is exchanged inside the city rather than hauled to another country and back.
And there is no hyperscale region to compare against. Amazon's African region is Cape Town, Microsoft's are in South Africa, Google's is Johannesburg, and the nearest edge to Kampala is in Nairobi — a different jurisdiction with a different regulator. A cluster in ug-1a is compute in Uganda rather than compute near Uganda, which is a distinction your persistent volumes care about even when your manifests do not.
49M
Active mobile subscriptions in Uganda (UCC, quarter to June 2026)
80,257 km
National fibre optic network, all operators (UCC, June 2026)
1.28–1.31
Kubernetes versions at launch
99.95%
Control-plane SLA on Fault Tolerant clusters
What comes wired in
A CSI driver that provisions Network HDD, Universal SSD or Fast SSD volumes straight from your PersistentVolumeClaims. Services of type LoadBalancer that provision a cloud load balancer. An NGINX ingress controller and Helm from any repository. Prometheus and Grafana with alerting on every cluster. Private clusters — control plane and workers with no public addresses, reached over VPN or a bastion — from the first release rather than a later tier.
The role you would otherwise be hiring for
This is the honest reason the product exists. The software is cheap to install and expensive to keep healthy, and most Ugandan teams need that skill far less often than one full-time person's worth. Handing the control plane over is not an admission about your engineers; it is what lets four of them ship product instead of one of them becoming the cluster.
The platform
Everything a production cluster needs
Networking, storage, monitoring, and access control come wired in — so day two looks like day one.
Managed control plane
API server, scheduler, controller manager, and etcd — run, upgraded, and backed up by us.
Autoscaling worker pools
The cluster autoscaler adds and removes nodes with demand, down to zero when idle.
Auto-healing nodes
Unhealthy nodes are detected and replaced automatically, with no manual intervention.
Persistent volumes
A CSI driver provisions HDD, Universal SSD, or Fast SSD volumes straight from your PVCs.
Private clusters
Run control plane and workers with no public IPs, reached over VPN or a bastion host.
Load balancer integration
Services of type LoadBalancer provision cloud load balancers automatically.
Prometheus & Grafana
Built-in monitoring and dashboards on every cluster, with alerting included.
Helm & NGINX ingress
Deploy from any Helm repository, with a built-in NGINX ingress controller for traffic.
Multiple K8s versions
Choose Kubernetes 1.28–1.31 and upgrade through the console with zero downtime.
Regions
Kampala is home. The other three are a border you choose to cross.
Deploy in ug-1a and the machine is in Kampala, in the country its users are already standing in. The region is chosen per instance rather than per account, so nothing about this decision is permanent or global: a production database in Kampala, a build runner wherever is convenient, a backup target somewhere else entirely, all on the same key and the same API.
The other three are Nairobi, Dar es Salaam and Lagos, on that same account, the same API and the same shilling invoice. Here is where a Ugandan buyer has to read the map differently from everyone else on it. For a business in Nairobi, ke-1a is home. For you it is abroad twice over: a copy of Ugandan personal data held there is a transfer out of Uganda that belongs in your section 19 record, and a request served from there still crosses the border at Malaba or Busia before it reaches your customer. Regional is not the same word as local, and Uganda is the market where the difference is easiest to see.
That said, the corridor is real and some businesses genuinely live on it. Trade moves between Kampala, Kisumu, Nairobi and Mombasa; the crude pipeline out of the Albertine region runs 1,443 km to Tanga on the Tanzanian coast; freight, agri-export, logistics and contracting firms bill customers in three countries. When your operation is actually in two markets, tz-1a or ke-1a stops being a distant region and becomes the second half of your own footprint. And when what you want is somewhere to put a standby, a replica or an offsite copy, another region on the same account is a configuration change rather than a second supplier to onboard.
Uganda
Kampala
~3 ms
typical, within metro · Data stays in Uganda
Kenya
Nairobi
~2 ms
typical, within metro · Data stays in Kenya
Tanzania
Dar es Salaam
~6 ms
typical, within metro · Data stays in Tanzania
Nigeria
Lagos
~4 ms
typical, within metro · Data stays in Nigeria
Use cases
Built for what you're building
Microservices
Run service meshes with built-in discovery, load balancing, and rolling deploys.
CI/CD pipelines
Host Jenkins, GitLab runners, or Argo CD close to your team, scaling with each build.
Batch & ML workloads
Queue batch jobs and training runs on autoscaling pools that shrink when idle.
Dev environments
Give every team an isolated namespace — one cluster, clean boundaries, less sprawl.
How it works
From zero to cluster in four steps
Pick region, version & cluster type
Choose your region, a Kubernetes version, and Basic or Fault Tolerant control plane.
Add worker pools
Size pools in vCPU, RAM, and storage, and set autoscaler bounds per pool.
Deploy with your tools
Download the kubeconfig, then kubectl apply or helm install like any cluster.
Let it run
The autoscaler tracks demand and auto-healing replaces bad nodes — day and night.
Uptime SLA
99.9%
- DDoS filtering is included, and so is the traffic
- Service credits applied automatically when we miss the SLA
- Measured monthly, per region, on network and power availability
Support
East Africa Time all year, and a queue that already knows Uganda
Two channels with two different jobs. A signed-in ticket arrives already carrying the account, the region and the instance, so the first reply is about the fault rather than about which machine you meant. [email protected] is the commercial door: a quotation against a purchase order, transfer details ahead of a payment run rather than during it, a billing account configured with your TIN and registered name before the first invoice, and the SLA terms and credit process in writing while you are still choosing.
Ahead of both sits status.lineserve.net. A region-wide event is published there while a reply is still being typed, and thirty seconds on it turns "the site is down" into "my instance is unreachable and the status page is clear" — a different ticket, and a far shorter one.
What that ticket should carry, in the order it is read: the region and the instance, the EAT time the behaviour started, the last thing that changed before it, the actual error text rather than a description of it, and whether it reproduces from more than one Ugandan network. That last one carries more weight here than almost anywhere. Uganda is a two-operator market, and an MTN handset, an Airtel handset and an office fibre line disagreeing about your service is a completely different fault from all three failing together — it is worth thirty seconds of your time and it can save an hour of everyone's.
Uganda runs on East Africa Time, UTC+3, and has never observed daylight saving, so a change window agreed in EAT means the same thing in January and in July. You share that clock exactly with Nairobi and Dar es Salaam and sit two hours ahead of Lagos, which matters when you are scheduling work across regions. The Ugandan commercial day generally runs 08:00 to 17:00, Monday to Friday. One scheduling detail that catches people out: a Ugandan public holiday falling on a weekend stays on that date rather than moving to the Monday, so the calendar is not the same shape as some of its neighbours'.
The last part of local support is vocabulary rather than hours. The person reading your ticket knows what an operator collections callback is and why it retries, knows what the border crossing at Malaba has to do with the traceroute you are staring at, and knows why your finance office wants a TIN on the document before the first billing run. None of that has to be explained before the actual problem can be. Buy from somewhere that has never sold into Uganda and the first twenty minutes of every serious ticket go on describing the country.
Sales
[email protected]Why Lineserve
Managed here beats self-managed anywhere
Running your own control plane on VMs means patching, etcd backups, and 2 a.m. failovers. Running on a distant hyperscaler means forex bills and latency. This is the third option.
What it will cost
A cluster fee in shillings, then the resources your pods asked for
Two numbers make a Kubernetes bill, and keeping them apart is what makes the second one predictable. The cluster management fee comes first: Basic, a single master node for development, testing and non-critical workloads, opens at an indicative UGX 104,000 a month behind a 99.5% control-plane SLA. Fault Tolerant, three master nodes with automatic failover, opens at UGX 433,000 behind a 99.95% SLA. Production belongs on Fault Tolerant. Everything else is a judgement about what a broken control plane costs you on a Thursday afternoon.
Worker resources are the second number, billed per unit consumed: UGX 24,800 per vCPU and UGX 11,400 per GB of RAM a month, node-local disk at UGX 710 per GB, and persistent volumes at UGX 560 per GB for Network HDD, UGX 860 for Universal SSD and UGX 1,250 for Fast SSD. A public address is UGX 5,600. Load balancers run UGX 61,000 for a Basic, UGX 122,000 for a Basic with automatic failover and UGX 244,000 for an Advanced redundant one. Nothing is bundled into a node size somebody else chose, which is what makes a pool you scale down actually get cheaper.
Which is why the autoscaler is worth turning on rather than admiring. Pools grow with demand and shrink to zero when idle, so a nightly aggregation pool is billed for the hours it ran. Model three lines — the cluster fee, the steady-state pool, and what the peak costs for the hours the peak lasts — and a coffee buying season, a school registration window or a donor reporting deadline becomes an hours number rather than a months number. Uganda's 2026 calendar is unusually broken up by public holidays, so build the model against your own busy weeks rather than a generic month.
These are Ugandan figures from a Ugandan price list. VAT sits on top at 18%, administered by the Uganda Revenue Authority, whose published list of taxable electronic services names web hosting first, and it is shown separately at checkout. Uganda's invoicing regime is EFRIS, and URA treats a VAT credit claimed on a purchase not supported by an e-invoice as non-compliance — so send [email protected] your TIN and your registered name as URA holds it when you join the waitlist, with any grant or purchase-order code the document has to carry.
Reserve pricing while you still have a budget year
Tell [email protected] the cluster tier and the rough pool shape and the team will put launch pricing in writing against your account. Donor-funded and government-adjacent procurement in particular needs a number long before an engineering team needs a cluster, and annual billing at ten months for twelve lines up with a budget year rather than cutting across it.
Where a cluster stops being the cheap answer
Worth being blunt: one application with steady traffic runs better and cheaper on a cloud server or a VPS, and both are live in ug-1a from UGX 51,750 and UGX 81,750. Kubernetes earns its cluster fee when you have many services, many clients, or a load whose shape changes by the hour. If that is not you yet, wait for a different product rather than this one.
Prices exclude VAT; Uganda's 18% is added at checkout. Figures are indicative launch pricing rather than an amount payable today, worker resources bill per unit consumed, and Ugandan accounts settle in UGX by MTN Mobile Money, Airtel Money, bank transfer or card.
Data residency
You filed the cluster under stateless. Then you listed the volumes.
It is an easy mistake and almost everyone makes it. Then you run the PersistentVolumeClaims: the Postgres a team installed from a Helm chart, the uploads directory holding scanned consent forms, the queue with message bodies in it, the logs carrying phone numbers and national ID references, the registry cache. All of it is data, on disks, in one building, in whichever country the cluster was created in — and none of it appears in the architecture diagram that says the platform is stateless.
Uganda's Data Protection and Privacy Act, 2019 is enforced by the Personal Data Protection Office, which sits within NITA-U. Section 29 requires data collectors, processors and controllers to register, including those outside Uganda processing Ugandan citizens' personal data, and registration is renewed annually. Section 19 governs what leaves: personal data may be transferred abroad where the destination country's protection is at least equivalent, or where the data subject consents, with Regulation 30(2) requiring consent for onward transfers.
There is no per-transfer permit to apply for, which is genuinely lighter than some of Uganda's neighbours run. What replaces it is an evidence duty: the PDPO expects you to hold records of the legal basis, the safeguards and the justification for each cross-border transfer, available for inspection during an audit, a compliance check or an investigation — and in July 2025 it decided a complaint against a foreign company that could not produce exactly that. For a cluster this means the placement decision is worth making once, deliberately, at creation, because a volume that ended up in the wrong country is not fixed by a manifest change.
Create the cluster in ug-1a and the worker nodes, their volumes and their snapshots are in Kampala, under Ugandan law, and they do not leave without your instruction. That is data residency for Uganda's Data Protection and Privacy Act. Your obligations as controller stay yours, registration included, and they are lighter work when nothing crossed a border.
Point the backup target at the same country
Velero snapshots, database dumps and object storage mirrors are the classic route by which data quietly leaves a country, because that is where the credentials already pointed. Object storage runs a per-region endpoint in Kampala, so a backup target inside Uganda is a configuration line rather than a project — and a restore that crosses the city rather than an ocean.
Non-personal state can go anywhere
Container images, build artefacts, Helm charts and telemetry stripped of identifiers raise none of these questions and can sit wherever your pipeline is happiest. Drawing that line explicitly is an afternoon well spent — treating every byte as sensitive produces a system your own team cannot operate.
Who runs here
The Ugandan teams a managed control plane is actually for
Not every workload wants Kubernetes. These are the ones where it is already the right answer and the control plane is the part nobody in the building has time for.
Fintech and mobile money backends
The shape is many small services rather than one large one: collections and disbursement handlers for MTN Mobile Money and Airtel Money, a USSD session backend, KYC, scoring, reconciliation jobs, a reporting service. Two wallet integrations rather than one means two callback paths that fail differently, and separating them is the whole argument for a container platform. A Fault Tolerant control plane is the part you do not want failing during a settlement run.
ISPs, telcos and their resellers
Two large mobile networks, a set of enterprise carriers and wholesalers — Roke Telkom, CSquared, Liquid, BCS Group, Tangerine, Paratus — and a research network in RENU carrying the universities. The workloads are RADIUS and AAA, resolvers and authoritative zones, mail relays, provisioning and billing portals, NetFlow collectors, looking-glass and speed-test endpoints, IPAM. That is a container platform's natural shape, and these buyers read a traceroute before they read a page like this one.
NGO and donor programme platforms
Structurally heavy in Uganda's buyer mix, with Kampala hosting UN country entities and a large international NGO presence, and Gulu and Arua carrying field operations. DHIS2 and other health and M&E systems, ODK and KoboToolbox form servers, beneficiary registries, donor dashboards, ERPNext or Odoo for grant accounting. A programme office often runs five or six of these for different funders with different end dates, which is exactly when namespaces and quotas beat six separate servers.
Oil, gas and Albertine service contractors
The contractor economy around Hoima, Buliisa and Kikuube runs on systems with wildly different uptime requirements on the same budget: site-to-Kampala data aggregation over constrained links, HSE and incident reporting, local-content and contractor management, procurement portals, telematics ingest from vehicle and equipment fleets. Several small services, one cluster, auto-healing nodes rather than somebody watching a dashboard at 03:00. The pipeline to Tanga also means workloads that straddle two Lineserve regions.
Agriculture, coffee and cooperative platforms
Coffee is one of Uganda's leading export earners, and the software around it has a calendar rather than a working week: traceability and geolocation datasets for EU-bound consignments, cooperative membership and payout systems, warehouse receipts, buyer portals, extension messaging. A worker pool with an autoscaler floor of zero costs nothing between seasons and takes the buying window when it arrives, which suits a business whose revenue does the same thing.
Universities, research and education platforms
RENU connects Uganda's universities and is a substantial UIXP participant. Behind it sit learning platforms at term-start scale, student information systems, institutional repositories and research data — a load that is flat for weeks and then vertical for two days when registration or results open. Scaling one deployment for that window and leaving everything else alone is the ordinary Kubernetes answer, and it is cheaper than sizing a server for the worst Tuesday of the year.
Agencies, ISVs and resellers
Kampala's agency scene runs many client systems on a handful of machines, with hubs like Hive Colab, The Innovation Village and Outbox feeding the developer pipeline. A namespace per client, quotas at the boundary, pools sized on the aggregate rather than the worst case — a long tail of small client services that would be uneconomic as individual VMs. The model only works at agency margins if the control plane is somebody else's job.
Customer references are available under NDA — ask [email protected] and the team will arrange one against the workload you are buying for.
Migrating
What moving a cluster here will look like at launch
From a control plane you run yourself
kubeadm on three VMs works, right up until the afternoon it does not — a certificate expires, etcd needs a restore rather than a restart, an upgrade goes sideways with production on it. At launch that layer is run, upgraded and backed up for you: API server, scheduler, controller manager and etcd, with unhealthy nodes detected and replaced automatically and version upgrades between 1.28 and 1.31 run through the console. Your manifests do not change. What changes is that the one person who knows how the cluster was built stops being a single point of failure for the whole organisation.
From a cluster hosted outside Uganda
The mechanics are the standard ones — kubectl, Helm and Velero. Export the namespaces, swap provider-specific annotations and storage classes for the CSI classes here, re-issue the ingress, run both until the new cluster is healthy, then move DNS. Two things change afterwards. Eight hops per request stop crossing a thousand kilometres of overland fibre and an ocean before they start. And the personal data on your volumes stops needing a section 19 record explaining why it left Uganda. Migration planning is included at no extra charge and is better done before the service opens than after.
One question settles where a cluster really is, and it is worth putting to every provider you shortlist, this one included: in which country are the worker nodes and their volumes? For ug-1a the answer is Uganda.
FAQ
Questions, answered
A service where we run the Kubernetes control plane for you — API server, scheduler, controller manager, and etcd — and handle upgrades, backups, and availability. You deploy and manage your applications; we keep the cluster healthy.
Basic clusters run a single master node and suit development, testing, and non-critical workloads, with a 99.5% control-plane SLA. Fault Tolerant clusters run 3 master nodes with automatic failover on a 99.95% SLA — recommended for production.
You pay the monthly cluster management fee (Basic or Fault Tolerant) plus the worker-node resources you actually consume — vCPU, RAM, storage, and load balancers. Scale worker pools up or down anytime; you only pay for what you use.
Versions 1.28 through 1.31, with new versions added shortly after upstream release. You upgrade your cluster through the console with zero downtime.
Yes. Enable the cluster autoscaler, set minimum and maximum node counts, and it adds or removes worker nodes automatically as your workload demands.
Yes. Create a cluster where the control plane and worker nodes have no public IP addresses, and reach it through a VPN or bastion host for maximum security.
Our CSI driver provisions volumes automatically when you create PersistentVolumeClaims. Choose HDD, Universal SSD, or Fast SSD storage classes to match your performance needs.
Yes. Every cluster ships with built-in Prometheus monitoring and Grafana dashboards. Container logs can flow to our logging service or your own backend.
Yes. Standard tools like kubectl, Helm, and Velero work directly, and our team assists with migration planning at no extra charge.
It is in build and not open for orders. Rather than publish a date that moves, we tell the waitlist directly — email [email protected] with the workload you have in mind and you will hear when the first release is ready.
Not yet. What you can do is size the cluster and the pools with us, get launch pricing in writing against your account, and be in the first group given access. Cloud servers and VPS in ug-1a are live if you need capacity in Kampala before then.
In ug-1a, our Kampala region. Control plane, worker nodes and their persistent volumes all sit there.
Basic runs a single master node and suits development, testing and non-critical workloads, on a 99.5% control-plane SLA at an indicative UGX 104,000 a month. Fault Tolerant runs three master nodes with automatic failover on a 99.95% SLA at UGX 433,000. Production belongs on Fault Tolerant.
The monthly cluster management fee plus the worker resources you consume — UGX 24,800 per vCPU, UGX 11,400 per GB of RAM, UGX 710 per GB of node-local disk, persistent volumes from UGX 560 per GB, public addresses at UGX 5,600 and load balancers from UGX 61,000. Scale pools up or down and the resource line follows.
No. Those figures are indicative launch pricing and nothing bills until the service opens. If your budget year needs a number sooner, ask [email protected] for a written quotation against your account.
UGX, on the same account as everything else you run here. Ugandan customers pay by MTN Mobile Money, Airtel Money, bank transfer or card, in shillings, with no conversion and no foreign transaction on the statement.
No. Displayed prices exclude VAT. Uganda's standard rate is 18%, administered by the Uganda Revenue Authority, and it is calculated and shown separately at checkout.
1.28 through 1.31 at launch, upgraded through the console, with new versions added shortly after upstream release.
Yes. Set minimum and maximum node counts per pool and the cluster autoscaler adds and removes nodes with demand, down to zero on pools that are idle — which is what makes a seasonal or nightly pool cost what those hours cost.
Yes — control plane and worker nodes with no public addresses, reached over VPN or a bastion host, from the first release.
Yes. Worker nodes and their volumes sit in ug-1a and are not moved out of the country without your instruction, which gives you data residency for Uganda's Data Protection and Privacy Act. Point your backup target at the Kampala object storage endpoint and the whole path stays in-country.
Those regions are on the same account and API, so it is a configuration rather than a project. Treat personal data deliberately: a copy outside Uganda is a cross-border transfer under section 19, and the PDPO expects a record of its legal basis and safeguards to exist if it asks. Images, build artefacts and de-identified telemetry raise no such question.
Often, no. One application with steady traffic runs better and cheaper on a cloud server from UGX 51,750 or a VPS from UGX 81,750, both live in ug-1a. Kubernetes earns its cluster fee when you have many services, many clients, or a load whose shape changes by the hour.
Ship on Kubernetes, skip the control plane
Managed Kubernetes is launching soon. Talk to us to reserve early access and pricing in your local currency, with no card to start.
Launching soon · 99.95% control-plane SLA on Fault Tolerant · Billed in UGX