Skip to content

coro-sh/coro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Coro logo


Coro is a platform that makes it simple to issue and manage Operators, Accounts, and Users for NATS servers.

It is distributed as a single binary but consists of modular services that can be deployed independently:

  • Controller: Issues and manages Operators, Accounts, and Users.
  • Broker: Facilitates messaging between the Controller and connected Operator NATS servers.
  • UI: Web user interface for the Controller.

In addition to its core services, Coro provides the following tools:

  • pgtool: A CLI tool for initializing and managing the Coro Postgres database.
  • proxy-agent: A Proxy Agent that connects Operator NATS servers to the Broker.

Getting started

Demo

coro-demo.mov

Quickstart

The fastest way to get started is by running Coro in the all-in-one mode. Follow the quickstart example to run Coro using Docker Compose.

Scaling

The quickstart example runs an all-in-one Coro server using flag -service=all. For a high-availability setup, you can run the Controller, Broker, and UI services separately, allowing you to scale them independently.

See the scaling example for a simple Docker and Nginx based setup.

Configuration

Refer to the configuration guide for a full list of configuration options.

Development

Setup

After cloning the repository, install git hooks for automated code quality checks:

go tool lefthook install

This sets up pre-commit hooks that run formatting checks, linting, and tests on changed files.

Dev Server

An all-in-one development server can be easily started with make dev-server.

This command will:

  • Launch the Coro backend and frontend in a single server
  • Create a fresh Namespace that includes an Operator, Account, and User
  • Start an embedded NATS server for the Operator, connected to Coro through the proxy-agent
  • Set up a JetStream test Stream that publishes a message every 10 seconds

About

NATS auth management platform

Topics

Resources

License

Stars

Watchers

Forks