Source: https://seerepo.com/r/labring/sealos/built
Markdown source: https://seerepo.com/r/labring/sealos/built.md
Description: sealos is a Go repo built with Gin, sigs.k8s.io/controller-runtime, Next.js, and React.

# What is sealos built with?

sealos is a Go repo built with Gin, sigs.k8s.io/controller-runtime, Next.js, and React. It stores its data in MongoDB, etcd, MinIO, Postgres, go.etcd.io/etcd/api/v3, and 1 more, reaches it with gorm.io/gorm and Prisma, signs people in with github.com/golang-jwt/jwt/v4, jwt-decode, jsonwebtoken, and @marsidev/react-turnstile, takes payments with Stripe, makes its content with js-yaml, dompurify, nodemailer, qrcode.react, sharp, and 3 more, validates its data with Zod, @hookform/resolvers, and disposable-email-domains-js, is tested with github.com/onsi/ginkgo/v2, github.com/onsi/gomega, github.com/testcontainers/testcontainers-go, github.com/onsi/ginkgo, github.com/stretchr/testify, and 3 more, deploys with github.com/sirupsen/logrus, github.com/go-logr/logr, Docker, Kubernetes, go.uber.org/zap, and 8 more, and uses go.mongodb.org/mongo-driver, pq, github.com/patrickmn/go-cache, and Alipay. It has 260,606 written lines, with 325 test files.

Read on November 6, 2026, at commit 871f713.

Repository: https://github.com/labring/sealos

## Frontend (/)

### Interface

- **github.com/schollz/progressbar/v3**: 3 files
- **github.com/manifoldco/promptui**: 1 file

## Backend (/)

### The base

- **[Gin](https://seerepo.com/uses/gin)**: 20 files

### Data

- **go.mongodb.org/mongo-driver**
- **[pq](https://seerepo.com/uses/pq)**
- **[MongoDB](https://seerepo.com/uses/mongodb)**: 8 files · [frontend/desktop/src/services/backend/db/mongodb.ts, line 1](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/src/services/backend/db/mongodb.ts#L1)
- **[etcd](https://seerepo.com/uses/etcd)**: 5 files
- **MinIO**: 4 files · [frontend/desktop/src/pages/api/account/faceIdRealNameAuthCallback.ts, line 10](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/src/pages/api/account/faceIdRealNameAuthCallback.ts#L10)
- **[Postgres](https://seerepo.com/uses/postgres)**: 4 files · [controllers/pkg/database/cockroach/accountv2.go, line 34](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/controllers/pkg/database/cockroach/accountv2.go#L34)
- **go.etcd.io/etcd/api/v3**: 2 files
- **go.etcd.io/etcd/client/pkg/v3**: 2 files
- **github.com/patrickmn/go-cache**: 1 file

### Data access

- **[gorm.io/gorm](https://seerepo.com/uses/gormio-gorm)**: 33 files

### Sign-in

- **github.com/golang-jwt/jwt/v4**: 4 files

### Services

- **[Stripe](https://seerepo.com/uses/stripe)**: 5 files · [frontend/providers/costcenter/src/components/RechargeModal.tsx, line 31](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/providers/costcenter/src/components/RechargeModal.tsx#L31)
- **Alipay**: 1 file · [controllers/pkg/pay/alipay_payment.go, line 13](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/controllers/pkg/pay/alipay_payment.go#L13)

## Support (/)

### The base

- **sigs.k8s.io/controller-runtime**: 76 files

### Testing

- **github.com/onsi/ginkgo/v2**: 44 files
- **github.com/onsi/gomega**: 10 files
- **github.com/testcontainers/testcontainers-go**: 4 files
- **github.com/onsi/ginkgo**: 3 files
- **github.com/stretchr/testify**: 2 files
- **github.com/testcontainers/testcontainers-go/modules/postgres**: 2 files

### Deploy

- **[github.com/sirupsen/logrus](https://seerepo.com/uses/githubcom-sirupsen-logrus)**: 23 files
- **github.com/go-logr/logr**: 22 files
- **[Docker](https://seerepo.com/uses/docker)**: 12 files
- **Kubernetes**: 9 files
- **[go.uber.org/zap](https://seerepo.com/uses/gouberorg-zap)**: 4 files
- **[Prometheus](https://seerepo.com/uses/prometheus)**: 4 files
- **[gopkg.in/natefinch/lumberjack.v2](https://seerepo.com/uses/gopkgin-natefinch-lumberjackv2)**: 3 files
- **Helm**: 3 files
- **containerd**: 1 file
- **[github.com/prometheus/client_model](https://seerepo.com/uses/githubcom-prometheus-client-model)**: 1 file
- **github.com/prometheus/common**: 1 file
- **k8s.io/klog/v2**: 1 file

### Tools

- **github.com/spf13/cobra**: 76 files
- **github.com/davecgh/go-spew**: 2 files
- **k8s.io/kubectl**: 2 files
- **github.com/docker/cli**: 1 file
- **github.com/swaggo/gin-swagger**: 1 file
- **github.com/swaggo/swag**: 1 file

### Other

- **tea**
- **k8s.io/apimachinery**: 144 files
- **k8s.io/api**: 79 files
- **k8s.io/client-go**: 62 files
- **[Google](https://seerepo.com/uses/google)**: 58 files
- **golang.org/x/sync**: 30 files
- **github.com/spf13/pflag**: 27 files
- **sigs.k8s.io/yaml**: 21 files
- **github.com/opencontainers/image-spec**: 12 files
- **github.com/Masterminds/semver/v3**: 11 files
- **github.com/matoous/go-nanoid/v2**: 8 files
- **golang.org/x/exp**: 8 files
- **k8s.io/utils**: 8 files
- **github.com/google/go-containerregistry**: 7 files
- **golang.org/x/crypto**: 6 files
- **k8s.io/cri-api**: 6 files
- **google.golang.org/grpc**: 5 files
- **github.com/opencontainers/go-digest**: 4 files
- **golang.org/x/sys**: 4 files
- **github.com/pkg/errors**: 3 files
- **github.com/pkg/sftp**: 3 files
- **github.com/volcengine/volc-sdk-golang**: 3 files
- **golang.org/x/time**: 3 files
- **github.com/alibabacloud-go/darabonba-openapi/v2**: 2 files
- **github.com/emirpasic/gods**: 2 files
- **github.com/miekg/dns**: 2 files
- **github.com/pelletier/go-toml**: 2 files
- **github.com/vishvananda/netlink**: 2 files
- **github.com/wechatpay-apiv3/wechatpay-go**: 2 files
- **golang.org/x/term**: 2 files
- **gopkg.in/yaml.v2**: 2 files
- **gopkg.in/yaml.v3**: 2 files
- **HashiCorp**: 2 files
- **github.com/BurntSushi/toml**: 1 file
- **github.com/distribution/reference**: 1 file
- **github.com/docker/go-units**: 1 file
- **github.com/dustin/go-humanize**: 1 file
- **github.com/evanphx/json-patch/v5**: 1 file
- **github.com/go-resty/resty/v2**: 1 file
- **github.com/goccy/go-json**: 1 file
- **github.com/Masterminds/sprig/v3**: 1 file
- **github.com/mitchellh/mapstructure**: 1 file
- **github.com/swaggo/files**: 1 file
- **github.com/syndtr/gocapability**: 1 file
- **golang.org/x/net**: 1 file
- **k8s.io/component-helpers**: 1 file
- **sigs.k8s.io/kustomize/kyaml**: 1 file

## Frontend (frontend/desktop)

### The base

- **[Next.js](https://seerepo.com/uses/nextjs)**: 180 files · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)
- **[React](https://seerepo.com/uses/react)**: 77 files · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**

### Interface

- **Chakra UI**: 90 files
- **[React Hook Form](https://seerepo.com/uses/react-hook-form)**: 6 files
- **boring-avatars**: 2 files
- **[Framer](https://seerepo.com/uses/framer)**: 2 files
- **react-draggable**: 2 files
- **[nprogress](https://seerepo.com/uses/nprogress)**: 1 file

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 26 files
- **@chakra-ui/icons**: 1 file

## Backend (frontend/desktop)

### Data

- **[Postgres](https://seerepo.com/uses/postgres)**: 4 files · [controllers/pkg/database/cockroach/accountv2.go, line 34](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/controllers/pkg/database/cockroach/accountv2.go#L34)
- **[MongoDB](https://seerepo.com/uses/mongodb)**: 3 files · [frontend/desktop/src/services/backend/db/mongodb.ts, line 1](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/src/services/backend/db/mongodb.ts#L1)
- **MinIO**: 2 files · [frontend/desktop/src/pages/api/account/faceIdRealNameAuthCallback.ts, line 10](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/src/pages/api/account/faceIdRealNameAuthCallback.ts#L10)

### Data access

- **[Prisma](https://seerepo.com/uses/prisma)**: 2 files

### Sign-in

- **[jwt-decode](https://seerepo.com/uses/jwt-decode)**: 7 files
- **[jsonwebtoken](https://seerepo.com/uses/jsonwebtoken)**: 3 files
- **@marsidev/react-turnstile**: 2 files

## Support (frontend/desktop)

### Content

- **[js-yaml](https://seerepo.com/uses/js-yaml)**: 10 files
- **[dompurify](https://seerepo.com/uses/dompurify)**: 2 files
- **[nodemailer](https://seerepo.com/uses/nodemailer)**: 2 files
- **[qrcode.react](https://seerepo.com/uses/qrcodereact)**: 1 file
- **[sharp](https://seerepo.com/uses/sharp)**: 1 file
- **xml2js**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 25 files
- **[@hookform/resolvers](https://seerepo.com/uses/hookform-resolvers)**: 2 files
- **disposable-email-domains-js**: 2 files

### Testing

- **Vitest**: 42 files
- **Testing Library**: 3 files

### Deploy

- **@kubernetes/client-node**: 9 files

### Other

- **next-i18next**: 67 files
- **[TanStack](https://seerepo.com/uses/tanstack)**: 50 files
- **uuid**: 20 files
- **zustand**: 15 files
- **Axios**: 11 files
- **Lodash**: 11 files
- **react-i18next**: 10 files
- **dayjs**: 6 files
- **nanoid**: 4 files
- **clsx**: 3 files
- **croner**: 2 files
- **decimal.js**: 2 files
- **alicloud**: 1 file
- **i18next**: 1 file
- **Immer**: 1 file
- **js-cookie**: 1 file

## Support (frontend/packages/client-sdk)

### Content

- **[js-yaml](https://seerepo.com/uses/js-yaml)**: 1 file

### Deploy

- **@kubernetes/client-node**: 1 file

### Other

- **dayjs**: 1 file
- **js-cookie**: 1 file
- **uuid**: 1 file

## Frontend (frontend/packages/driver)

### The base

- **[React](https://seerepo.com/uses/react)**: 1 file · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)

## Frontend (frontend/packages/gtm)

### The base

- **[Next.js](https://seerepo.com/uses/nextjs)**: 2 files · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)
- **[React](https://seerepo.com/uses/react)**: 2 files · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)

## Support (frontend/packages/gtm)

### Tools

- **TypeScript**: 1 file

## Frontend (frontend/packages/mcp-sdk)

### The base

- **[React](https://seerepo.com/uses/react)**: [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)
- **[Next.js](https://seerepo.com/uses/nextjs)**: 1 file · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)

## Support (frontend/packages/mcp-sdk)

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 1 file

### Tools

- **openapi-types**: 1 file

### Other

- **Axios**: 1 file
- **https**: 1 file

## Support (frontend/packages/metrics-sdk)

### Deploy

- **@kubernetes/client-node**: 1 file

### Other

- **.ENV**: 2 files
- **Axios**: 1 file
- **dayjs**: 1 file
- **https**: 1 file

## Frontend (frontend/packages/shadcn-ui)

### The base

- **[React](https://seerepo.com/uses/react)**: 35 files · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**
- **[class-variance-authority](https://seerepo.com/uses/class-variance-authority)**: 4 files
- **[tailwind-merge](https://seerepo.com/uses/tailwind-merge)**: 1 file

### Interface

- **[Radix UI](https://seerepo.com/uses/radix-ui)**: 20 files
- **[react-day-picker](https://seerepo.com/uses/react-day-picker)**: 2 files
- **[React Hook Form](https://seerepo.com/uses/react-hook-form)**: 1 file
- **[sonner](https://seerepo.com/uses/sonner)**: 1 file

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 11 files

## Support (frontend/packages/shadcn-ui)

### Other

- **clsx**: 1 file
- **date-fns**: 1 file

## Frontend (frontend/packages/shared)

### The base

- **[React](https://seerepo.com/uses/react)**: 7 files · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)

### Interface

- **@chakra-ui/react**: 1 file

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 2 files
- **Chakra UI**: 1 file

## Support (frontend/packages/shared)

### Content

- **[js-yaml](https://seerepo.com/uses/js-yaml)**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 5 files

### Other

- **[TanStack](https://seerepo.com/uses/tanstack)**: 2 files
- **picocolors**: 1 file
- **zustand**: 1 file

## Frontend (frontend/packages/ui)

### The base

- **[React](https://seerepo.com/uses/react)**: 12 files · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)

### Interface

- **Chakra UI**: 78 files
- **[react-syntax-highlighter](https://seerepo.com/uses/react-syntax-highlighter)**: 1 file

### Icons

- **@chakra-ui/icons**: 2 files

## Support (frontend/packages/ui)

### Content

- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 1 file

## Frontend (frontend/providers/costcenter)

### The base

- **[Next.js](https://seerepo.com/uses/nextjs)**: 58 files · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)
- **[React](https://seerepo.com/uses/react)**: 52 files · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)

### Styles

- **[Tailwind CSS](https://seerepo.com/uses/tailwind-css)**

### Interface

- **Chakra UI**: 18 files
- **[react-day-picker](https://seerepo.com/uses/react-day-picker)**: 10 files
- **[echarts](https://seerepo.com/uses/echarts)**: 3 files
- **echarts-for-react**: 3 files
- **@tanstack/react-table**: 2 files
- **[nprogress](https://seerepo.com/uses/nprogress)**: 1 file
- **react-zoom-pan-pinch**: 1 file
- **[sonner](https://seerepo.com/uses/sonner)**: 1 file

### Icons

- **[Lucide](https://seerepo.com/uses/lucide)**: 30 files
- **@chakra-ui/icons**: 1 file

## Backend (frontend/providers/costcenter)

### Data

- **[MongoDB](https://seerepo.com/uses/mongodb)**: 3 files · [frontend/desktop/src/services/backend/db/mongodb.ts, line 1](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/src/services/backend/db/mongodb.ts#L1)

### Sign-in

- **[jsonwebtoken](https://seerepo.com/uses/jsonwebtoken)**: 1 file

### Services

- **[Stripe](https://seerepo.com/uses/stripe)**: 3 files · [frontend/providers/costcenter/src/components/RechargeModal.tsx, line 31](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/providers/costcenter/src/components/RechargeModal.tsx#L31)

## Support (frontend/providers/costcenter)

### Content

- **[js-yaml](https://seerepo.com/uses/js-yaml)**: 6 files
- **@zumer/snapdom**: 1 file
- **[qrcode.react](https://seerepo.com/uses/qrcodereact)**: 1 file

### Validation

- **[Zod](https://seerepo.com/uses/zod)**: 5 files

### Testing

- **Vitest**: 5 files

### Deploy

- **@kubernetes/client-node**: 1 file

### Other

- **next-i18next**: 63 files
- **[TanStack](https://seerepo.com/uses/tanstack)**: 27 files
- **date-fns**: 20 files
- **zustand**: 7 files
- **Axios**: 5 files
- **alicloud**: 2 files
- **Lodash**: 2 files
- **Immer**: 1 file
- **js-cookie**: 1 file
- **react-i18next**: 1 file

## Frontend (frontend/providers/license)

### The base

- **[React](https://seerepo.com/uses/react)**: 24 files · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)
- **[Next.js](https://seerepo.com/uses/nextjs)**: 13 files · [in frontend/desktop/package.json](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/package.json)

### Interface

- **Chakra UI**: 24 files
- **[react-day-picker](https://seerepo.com/uses/react-day-picker)**: 2 files
- **[nprogress](https://seerepo.com/uses/nprogress)**: 1 file
- **[react-syntax-highlighter](https://seerepo.com/uses/react-syntax-highlighter)**: 1 file

### Icons

- **@chakra-ui/icons**: 3 files

## Backend (frontend/providers/license)

### Data

- **[MongoDB](https://seerepo.com/uses/mongodb)**: 1 file · [frontend/desktop/src/services/backend/db/mongodb.ts, line 1](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/src/services/backend/db/mongodb.ts#L1)

### Sign-in

- **[jsonwebtoken](https://seerepo.com/uses/jsonwebtoken)**: 1 file

## Support (frontend/providers/license)

### Content

- **[js-yaml](https://seerepo.com/uses/js-yaml)**: 4 files
- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 1 file

### Deploy

- **@kubernetes/client-node**: 3 files

### Other

- **next-i18next**: 10 files
- **Lodash**: 3 files
- **[TanStack](https://seerepo.com/uses/tanstack)**: 3 files
- **Axios**: 1 file
- **date-fns**: 1 file
- **dayjs**: 1 file
- **decimal.js**: 1 file
- **js-cookie**: 1 file
- **nanoid**: 1 file
- **node-cron**: 1 file
- **react-i18next**: 1 file
- **zustand**: 1 file

## Other repos with a similar stack

- [calcom/cal.diy](https://seerepo.com/r/calcom/cal.diy/built): Postgres, Stripe, Next.js, React, Tailwind CSS, React Hook Form, Framer, Lucide, Prisma, dompurify, nodemailer, sharp, Zod, @hookform/resolvers, class-variance-authority, tailwind-merge, Radix UI, react-day-picker, sonner · [Compare](https://seerepo.com/compare/calcom/cal.diy/vs/labring/sealos)
- [infiniflow/ragflow](https://seerepo.com/r/infiniflow/ragflow/built): Gin, pq, Postgres, React, go.uber.org/zap, Tailwind CSS, React Hook Form, Lucide, dompurify, Zod, @hookform/resolvers, class-variance-authority, tailwind-merge, Radix UI, react-day-picker, sonner, react-syntax-highlighter, react-markdown · [Compare](https://seerepo.com/compare/infiniflow/ragflow/vs/labring/sealos)
- [QuantumNous/new-api](https://seerepo.com/r/QuantumNous/new-api/built): Gin, Postgres, Stripe, React, gorm.io/gorm, Prometheus, Tailwind CSS, React Hook Form, Lucide, dompurify, qrcode.react, Zod, @hookform/resolvers, class-variance-authority, tailwind-merge, react-day-picker, sonner, @tanstack/react-table · [Compare](https://seerepo.com/compare/labring/sealos/vs/QuantumNous/new-api)
- [TryGhost/Ghost](https://seerepo.com/r/TryGhost/Ghost/built): Stripe, React, Tailwind CSS, React Hook Form, Lucide, jsonwebtoken, js-yaml, dompurify, nodemailer, sharp, Zod, @hookform/resolvers, class-variance-authority, tailwind-merge, Radix UI, react-day-picker, sonner · [Compare](https://seerepo.com/compare/labring/sealos/vs/TryGhost/Ghost)
- [Significant-Gravitas/AutoGPT](https://seerepo.com/r/Significant-Gravitas/AutoGPT/built): Postgres, Stripe, Next.js, React, Tailwind CSS, React Hook Form, boring-avatars, Framer, Zod, @hookform/resolvers, class-variance-authority, tailwind-merge, Radix UI, react-day-picker, sonner, react-markdown · [Compare](https://seerepo.com/compare/labring/sealos/vs/Significant-Gravitas/AutoGPT)
- [supabase/supabase](https://seerepo.com/r/supabase/supabase/built): Stripe, Next.js, React, Tailwind CSS, React Hook Form, Lucide, js-yaml, Zod, @hookform/resolvers, class-variance-authority, Radix UI, react-day-picker, sonner, react-syntax-highlighter, react-markdown · [Compare](https://seerepo.com/compare/labring/sealos/vs/supabase/supabase)

## Frequently asked questions

### What language is sealos written in?

sealos is written in Go, with 260,606 written lines.

### What framework does sealos use?

sealos is built with Gin, sigs.k8s.io/controller-runtime, Next.js, and React.

### What database does sealos use?

sealos stores its data in MongoDB, etcd, MinIO, Postgres, go.etcd.io/etcd/api/v3, and go.etcd.io/etcd/client/pkg/v3 and reaches it with gorm.io/gorm and Prisma.

The proof: [frontend/desktop/src/services/backend/db/mongodb.ts, line 1](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/desktop/src/services/backend/db/mongodb.ts#L1)

### What does sealos sign people in with?

sealos signs people in with github.com/golang-jwt/jwt/v4, jwt-decode, jsonwebtoken, and @marsidev/react-turnstile.

### What does sealos take payments with?

sealos takes payments with Stripe.

The proof: [frontend/providers/costcenter/src/components/RechargeModal.tsx, line 31](https://github.com/labring/sealos/blob/871f713df1297feba4ee52c06f230ab265c9d691/frontend/providers/costcenter/src/components/RechargeModal.tsx#L31)

### What services does sealos use?

sealos uses go.mongodb.org/mongo-driver, pq, github.com/patrickmn/go-cache, and Alipay.

### Does sealos have tests?

Yes. sealos has 325 test files and is tested with github.com/onsi/ginkgo/v2, github.com/onsi/gomega, github.com/testcontainers/testcontainers-go, github.com/onsi/ginkgo, github.com/stretchr/testify, github.com/testcontainers/testcontainers-go/modules/postgres, Vitest, and Testing Library.

### Which repos have a stack like sealos's?

The ones that share most of its stack: calcom/cal.diy, infiniflow/ragflow, and QuantumNous/new-api.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
