ensign

module
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 8, 2022 License: BSD-3-Clause

README

Ensign

An eventing platform that is distributed in time and space.

Quick Start

Build the docker compose images:

$ ./containers/build.sh build

Then once the images are built run the docker containers:

$ ./containers/build.sh up

You can then run publishers and subscribers using the debug command to generate 30 events per second:

$ go run ./cmd/debug generate

And to create a subscriber to consume the events:

$ go run ./cmd/debug consume

Documentation

The primary Ensign documentation is published in this repo in the docs/ directory as a Hugo site using the hugo-book theme.

The API documentation will be online on pkg.go.dev when we make this repository open source. Until then you can view the API documentation locally using godoc.

Hugo Documentation

First, ensure you have hugo installed by following the hugo installation instructions for your operating system. On OS X the simplest way to do this is with homebrew:

$ brew install hugo

Change directories into the docs/ directory. Note all of the following commands assume that your current working directory is docs/.

To run the local hugo development server:

$ hugo serve -D

You should now be able to view the docs locally at http://localhost:1313.

To create a new documentation page:

$ hugo new path/to/page.md

This will create a new page with the documentation default template; open in a browser and edit in markdown; your changes should reload live in the browser! Our theme has many options and shortcodes; to see how these work, please viist the theme documentation. A couple of important quick links are below:

To help with generating and updating markdown tables, we recommend:

API Documentation

First, ensure you have godoc installed:

$ go install golang.org/x/tools/cmd/godoc@latest

You can then run the API documentation locally using:

$ godoc --http=:6060

The docs should be available shortly when you open your browser to http://localhost:6060/pkg/github.com/rotationalio/ensign/pkg/.

Directories

Path Synopsis
cmd
pkg
api
ensign
Package ensign implements the Ensign single node server.
Package ensign implements the Ensign single node server.
ensign/mock
Package mock implements an in-memory gRPC mock Ensign server that can be connected to using a bufconn.
Package mock implements an in-memory gRPC mock Ensign server that can be connected to using a bufconn.
ensign/o11y
Package o11y (a numeronym for "observability") exports server-specific metric collectors to Prometheus for monitoring of the service and Ensign nodes.
Package o11y (a numeronym for "observability") exports server-specific metric collectors to Prometheus for monitoring of the service and Ensign nodes.
quarterdeck/db
Package db establishes a connection with a Raft replicated sqlite3 database.
Package db establishes a connection with a Raft replicated sqlite3 database.
sdks
go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL