Source: https://seerepo.com/r/centrifugal/centrifugo/built
Markdown source: https://seerepo.com/r/centrifugal/centrifugo/built.md
Description: centrifugo is a Go repo built with github.com/justinas/alice. It stores its data in Postgres. It has 89,886 written lines, with 151 test files.

# What is centrifugo built with?

centrifugo is a Go repo built with github.com/justinas/alice. It stores its data in Postgres, signs people in with github.com/Azure/azure-sdk-for-go/sdk/azidentity, github.com/rakutentech/jwk-go, golang.org/x/oauth2, github.com/aws/aws-sdk-go-v2/credentials, and github.com/gorilla/securecookie, connects to Google, makes its content with github.com/valyala/fasttemplate and github.com/yuin/goldmark, is tested with github.com/stretchr/testify and go.uber.org/goleak, deploys with github.com/rs/zerolog, Prometheus, OpenTelemetry, github.com/aws/aws-sdk-go-v2, github.com/aws/aws-sdk-go-v2/config, and 4 more, and uses pgx, github.com/redis/rueidis, NATS.io, github.com/jackc/pgerrcode, github.com/twmb/franz-go, and 4 more. It has 89,886 written lines, with 151 test files.

Read on November 12, 2026, at commit 4b6d86e.

Repository: https://github.com/centrifugal/centrifugo

## Backend

### Data

- **[pgx](https://seerepo.com/uses/pgx)**
- **[Postgres](https://seerepo.com/uses/postgres)**: 12 files · [internal/consuming/postgresql.go, line 13](https://github.com/centrifugal/centrifugo/blob/4b6d86e23452a6fa1bd424ffe4526862efae85b8/internal/consuming/postgresql.go#L13)
- **github.com/redis/rueidis**: 7 files
- **[NATS.io](https://seerepo.com/uses/natsio)**: 3 files
- **github.com/jackc/pgerrcode**: 2 files
- **github.com/twmb/franz-go**: 2 files
- **github.com/aws/aws-sdk-go-v2/service/sqs**: 1 file
- **github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus**: 1 file
- **github.com/twmb/franz-go/pkg/kadm**: 1 file
- **github.com/twmb/franz-go/pkg/kmsg**: 1 file

### Sign-in

- **[github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://seerepo.com/uses/githubcom-azure-azure-sdk-for-go-sdk-azidentity)**: 2 files
- **github.com/rakutentech/jwk-go**: 2 files
- **[golang.org/x/oauth2](https://seerepo.com/uses/golangorg-x-oauth2)**: 2 files
- **[github.com/aws/aws-sdk-go-v2/credentials](https://seerepo.com/uses/githubcom-aws-aws-sdk-go-v2-credentials)**: 1 file
- **github.com/gorilla/securecookie**: 1 file

### Services

- **[Google](https://seerepo.com/uses/google)**: 1 file · [internal/consuming/google_pub_sub.go, line 18](https://github.com/centrifugal/centrifugo/blob/4b6d86e23452a6fa1bd424ffe4526862efae85b8/internal/consuming/google_pub_sub.go#L18)

## Support

### The base

- **github.com/justinas/alice**: 1 file

### Content

- **github.com/valyala/fasttemplate**: 1 file
- **[github.com/yuin/goldmark](https://seerepo.com/uses/githubcom-yuin-goldmark)**: 1 file

### Testing

- **github.com/stretchr/testify**: 112 files
- **go.uber.org/goleak**: 4 files

### Deploy

- **[github.com/rs/zerolog](https://seerepo.com/uses/githubcom-rs-zerolog)**: 50 files
- **[Prometheus](https://seerepo.com/uses/prometheus)**: 16 files
- **[OpenTelemetry](https://seerepo.com/uses/opentelemetry)**: 5 files
- **[github.com/aws/aws-sdk-go-v2](https://seerepo.com/uses/githubcom-aws-aws-sdk-go-v2)**: 3 files
- **[github.com/aws/aws-sdk-go-v2/config](https://seerepo.com/uses/githubcom-aws-aws-sdk-go-v2-config)**: 3 files
- **[github.com/aws/aws-sdk-go-v2/service/sts](https://seerepo.com/uses/githubcom-aws-aws-sdk-go-v2-service-sts)**: 2 files
- **[github.com/Azure/azure-sdk-for-go/sdk/azcore](https://seerepo.com/uses/githubcom-azure-azure-sdk-for-go-sdk-azcore)**: 1 file
- **[go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc](https://seerepo.com/uses/goopentelemetryio-contrib-instrumentation-googlegolangorg-grpc-otelgrpc)**: 1 file
- **[go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://seerepo.com/uses/goopentelemetryio-contrib-instrumentation-net-http-otelhttp)**: 1 file

### Tools

- **github.com/spf13/cobra**: 16 files
- **github.com/aws/smithy-go**: 1 file

### Other

- **github.com/go-viper/mapstructure/v2**: 5 files
- **google.golang.org/protobuf**: 5 files
- **github.com/quic-go/quic-go**: 3 files
- **github.com/quic-go/webtransport-go**: 3 files
- **golang.org/x/sync**: 3 files
- **github.com/gobwas/glob**: 2 files
- **github.com/gorilla/websocket**: 2 files
- **github.com/tidwall/sjson**: 2 files
- **gopkg.in/yaml.v3**: 2 files
- **github.com/joho/godotenv**: 1 file
- **github.com/mattn/go-isatty**: 1 file
- **github.com/pelletier/go-toml/v2**: 1 file
- **github.com/pkg/browser**: 1 file
- **github.com/spf13/pflag**: 1 file
- **github.com/spf13/viper**: 1 file
- **github.com/tidwall/gjson**: 1 file
- **golang.org/x/crypto**: 1 file
- **golang.org/x/time**: 1 file
- **[HashiCorp](https://seerepo.com/uses/hashicorp)**: 1 file
- **Uber**: 1 file

## Other repos with a similar stack

- [infiniflow/ragflow](https://seerepo.com/r/infiniflow/ragflow/built): pgx, Postgres, NATS.io, Google, golang.org/x/oauth2, github.com/aws/aws-sdk-go-v2/credentials, github.com/yuin/goldmark, OpenTelemetry, github.com/aws/aws-sdk-go-v2, github.com/aws/aws-sdk-go-v2/config, github.com/aws/aws-sdk-go-v2/service/sts, github.com/Azure/azure-sdk-for-go/sdk/azcore, go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp · [Compare](https://seerepo.com/compare/centrifugal/centrifugo/vs/infiniflow/ragflow)
- [hashicorp/vault](https://seerepo.com/r/hashicorp/vault/built): pgx, Postgres, Google, github.com/Azure/azure-sdk-for-go/sdk/azidentity, golang.org/x/oauth2, github.com/aws/aws-sdk-go-v2/credentials, Prometheus, OpenTelemetry, github.com/aws/aws-sdk-go-v2, github.com/aws/aws-sdk-go-v2/config, github.com/aws/aws-sdk-go-v2/service/sts, github.com/Azure/azure-sdk-for-go/sdk/azcore · [Compare](https://seerepo.com/compare/centrifugal/centrifugo/vs/hashicorp/vault)
- [prometheus/prometheus](https://seerepo.com/r/prometheus/prometheus/built): Google, github.com/Azure/azure-sdk-for-go/sdk/azidentity, golang.org/x/oauth2, github.com/aws/aws-sdk-go-v2/credentials, Prometheus, OpenTelemetry, github.com/aws/aws-sdk-go-v2, github.com/aws/aws-sdk-go-v2/config, github.com/aws/aws-sdk-go-v2/service/sts, github.com/Azure/azure-sdk-for-go/sdk/azcore, go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp · [Compare](https://seerepo.com/compare/centrifugal/centrifugo/vs/prometheus/prometheus)
- [seaweedfs/seaweedfs](https://seerepo.com/r/seaweedfs/seaweedfs/built): pgx, Postgres, Google, github.com/Azure/azure-sdk-for-go/sdk/azidentity, golang.org/x/oauth2, github.com/aws/aws-sdk-go-v2/credentials, Prometheus, github.com/aws/aws-sdk-go-v2, github.com/aws/aws-sdk-go-v2/config, github.com/aws/aws-sdk-go-v2/service/sts, github.com/Azure/azure-sdk-for-go/sdk/azcore · [Compare](https://seerepo.com/compare/centrifugal/centrifugo/vs/seaweedfs/seaweedfs)
- [mudler/LocalAI](https://seerepo.com/r/mudler/LocalAI/built): Postgres, NATS.io, golang.org/x/oauth2, github.com/aws/aws-sdk-go-v2/credentials, github.com/yuin/goldmark, Prometheus, OpenTelemetry, github.com/aws/aws-sdk-go-v2, github.com/aws/aws-sdk-go-v2/config · [Compare](https://seerepo.com/compare/centrifugal/centrifugo/vs/mudler/LocalAI)
- [mattermost/mattermost](https://seerepo.com/r/mattermost/mattermost/built): Postgres, github.com/Azure/azure-sdk-for-go/sdk/azidentity, golang.org/x/oauth2, github.com/aws/aws-sdk-go-v2/credentials, github.com/yuin/goldmark, Prometheus, github.com/aws/aws-sdk-go-v2, github.com/aws/aws-sdk-go-v2/config, github.com/Azure/azure-sdk-for-go/sdk/azcore · [Compare](https://seerepo.com/compare/centrifugal/centrifugo/vs/mattermost/mattermost)

## Frequently asked questions

### What language is centrifugo written in?

centrifugo is written in Go, with 89,886 written lines.

### What framework does centrifugo use?

centrifugo is built with github.com/justinas/alice.

### What database does centrifugo use?

centrifugo stores its data in Postgres.

The proof: [internal/consuming/postgresql.go, line 13](https://github.com/centrifugal/centrifugo/blob/4b6d86e23452a6fa1bd424ffe4526862efae85b8/internal/consuming/postgresql.go#L13)

### What does centrifugo sign people in with?

centrifugo signs people in with github.com/Azure/azure-sdk-for-go/sdk/azidentity, github.com/rakutentech/jwk-go, golang.org/x/oauth2, github.com/aws/aws-sdk-go-v2/credentials, and github.com/gorilla/securecookie.

### What services does centrifugo use?

centrifugo connects to Google and uses pgx, github.com/redis/rueidis, NATS.io, github.com/jackc/pgerrcode, github.com/twmb/franz-go, github.com/aws/aws-sdk-go-v2/service/sqs, github.com/Azure/azure-sdk-for-go/sdk/messaging/azservicebus, github.com/twmb/franz-go/pkg/kadm, and github.com/twmb/franz-go/pkg/kmsg.

The proof: [internal/consuming/google_pub_sub.go, line 18](https://github.com/centrifugal/centrifugo/blob/4b6d86e23452a6fa1bd424ffe4526862efae85b8/internal/consuming/google_pub_sub.go#L18)

### Does centrifugo have tests?

Yes. centrifugo has 151 test files and is tested with github.com/stretchr/testify and go.uber.org/goleak.

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

The ones that share most of its stack: infiniflow/ragflow, hashicorp/vault, and prometheus/prometheus.

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