Skip to content
@snapp-incubator

Snapp Cab Incubators

Growing snapp-cab open source projects

Snapp Incubator - open source from the engineers who run Snapp's platform

Hi 👋 we are Snapp!

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

What we open source

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.

Kubernetes operators and controllers

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.

Ingress, networking, and auth

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.

Observability

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).

Developer platform

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.

Go libraries and tools

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.

MCP servers

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.

Contributing

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.

Popular repositories Loading

  1. ghodrat ghodrat Public

    WebRTC media servers stress testing tool

    Go 51 2

  2. qsse qsse Public archive

    SSE over QUIC protocol

    Go 39 3

  3. thanos-federate-proxy thanos-federate-proxy Public

    A proxy to add `/federate` to Thanos monitoring

    Go 36 9

  4. ceph-s3-operator ceph-s3-operator Public

    A Kubernetes operator for efficient management of S3 users and buckets in S3 object storage created with Ceph RGW.

    Go 36 1

  5. helmfig helmfig Public

    A handy utility to generate configmap and values.yaml of your application for helmifying them

    Go 34

  6. crafting-table crafting-table Public

    SQL database repository code generator based on model

    Go 27 1

Repositories

Showing 10 of 114 repositories

Top languages

Loading…

Most used topics

Loading…