Snapp! is Iran's largest ride-hailing service. It launched in Tehran in February 2014 as Taxi Yaab, founded by Iyad Elkaser and Mahmud Fauz, and took the haggling out of hailing a car by quoting the fare before the trip started; the rebrand to Snapp! followed in 2019. By the end of 2020 it held around 85% of the Iranian ride-hailing market across 34 cities, and Snapp Group now says its services reach more than 60 million users in 287 cities, with the ride network passing four million trips in a single day.
What started as rides has grown into a super app. Alongside ride-hailing the group runs SnappFood for food delivery, SnappMarket for groceries, SnappBox for courier, SnappTrip and SnappRoom for flights and hotels, plus SnappBike, SnappEco and more than twenty services in all - carrying tens of millions of people, meals and parcels across the country every day.
snapp.ir · Open the Snapp app · All our repositories
Snapp Incubator is where the teams behind Snapp's platform publish the tools they build to run it: Kubernetes operators and admission webhooks that keep our multi-tenant OpenShift clusters honest, exporters and proxies that make them observable, and the Go libraries our services are written on top of. Almost everything here started as an internal need and stayed open because someone else probably has the same one.
| Project | What it does |
|---|---|
| ceph-s3-operator | Manage S3 users and buckets on Ceph RGW from Kubernetes. |
| quota-operator | Enforce per-team quota across namespaces and delegate the per-namespace share to users. |
| argocd-complementary-operator | Manage ArgoCD users and projects with ease and some labels. |
| node-config-operator | Manage node labels, annotations, and taints declaratively. |
| age-operator | GitOps secret management using age. |
| sops-operator | GitOps secret management using SOPS. |
| route-to-contour-httpproxy | Convert OpenShift HAProxy Routes into Contour HTTPProxies. |
| lbaas-operator | Create Services with custom Endpoints without the boilerplate. |
| svc-lb-to-cilium-netpolicy | Keep CiliumNetworkPolicy objects in sync with LoadBalancer Services. |
| chaos-operator | Chaos engineering, driven by custom resources. |
| namespacejanitor | Manage namespace lifecycle by team assignment and enforce user quotas. |
| cluster-machine-approver | CSR approval for cluster machines, adapted to our topology. |
| safe-drain | Make sure all your pods are up and running after you drain a node. |
| kubernetes-webhooks | The admission webhooks that guard SnappCloud clusters. |
| Project | What it does |
|---|---|
| Cerberus | An Envoy-compatible external authentication service. |
| soteria | EMQX authentication and ACL over the EMQ HTTP plugin. |
| contour-auth-multi-tenant | Contour's auth server with multi-tenant secret management for routes. |
| contour-admission-webhook | Safe Contour access in multi-tenant clusters. |
| contour-global-ratelimit-operator | Global rate limiting for Contour, as a custom resource. |
| contour-console-plugin | An OpenShift/OKD console dynamic plugin for Contour. |
| coredns-plugins | The CoreDNS plugins we run in production. |
| proksi | Shadow-test your web application against a second backend. |
| Project | What it does |
|---|---|
| thanos-federate-proxy | Add a /federate endpoint to Thanos. |
| health-exporter | Prometheus metrics for the health of remote endpoints. |
| nats-blackbox-exporter | Connect, subscribe, and publish over NATS to check that it is really working. |
| mqtt-blackbox-exporter | The same idea, for MQTT brokers. |
| exporting-platform | A place to write the metrics well-known exporters forgot. |
| hubble-middleware | Multi-tenant access in front of Cilium Hubble. |
| snappcloud-status | Our public status page (backend, frontend). |
| Project | What it does |
|---|---|
| helmfig | Generate the ConfigMap and values.yaml for helmifying an application. |
| s3-panel | Self-service web panel for S3-compatible object storage: buckets, objects, shares, quotas. |
| snappcloud-hub | The images and tooling behind our internal developer hub. |
| container-registry | Our Docker images in one place, built and pushed from one pipeline. |
| jira-MSTeams-proxy | Forward Jira ticket changes to Microsoft Teams webhooks. |
| matrix-on-call-bot | A Matrix bot for managing on-call rotations. |
| awesome-openshift-console-plugins | A curated list of OpenShift/OKD console dynamic plugins. |
| Project | What it does |
|---|---|
| ghodrat | Stress-test WebRTC media servers. |
| crafting-table | Generate SQL repository code from your model. |
| go-symspell | SymSpell in Go: very fast spelling correction and fuzzy search. |
| seperno | Persian text normalizer for search. |
| smapp-sdk-go | Go SDK for Snapp's map services. |
| gopool | A goroutine pool with graceful shutdown. |
| barat | A linter for localization files. |
| timeoff | The Iranian calendar, holidays included. |
We are wiring our platform up to AI agents, read-only first.
| Project | What it does |
|---|---|
| argocd-mcp | Expose ArgoCD Applications and AppProjects, with per-user access, to an agent. |
| openshift-mcp | Cluster context for agents working against OpenShift. |
| contour-envoy-mcp | Inspect Contour and Envoy routing state. |
| mcp-authz | Authorization in front of MCP servers. |
Issues and pull requests are welcome on every repository here. Each project carries its own contribution guide and license, so start with the README of the one you are interested in. If you are looking for something that is not on this page, browse all of our repositories — there are far more of them than fit here.