Geo-scale, next-generation peer-to-peer sharing platform built on top of OpenZiti.
Go to file
2023-01-17 13:50:15 -05:00
.github/workflows openziti-rest-kitchen -> openziti (#158) 2023-01-13 15:01:34 -05:00
bin initial rough pass for a stored token implementation 2023-01-09 11:00:37 -06:00
build use series in unlabeled build slug (#97) 2022-11-21 14:09:27 -05:00
cmd/zrok fix pfxlog prefix (#158) 2023-01-13 15:12:18 -05:00
controller fixes to postgres migrations to prevent primary key collisions (#160); fixes to migrations to remove renaming lint 2023-01-17 11:59:27 -05:00
docs getting started+concepts; iteration (#149) 2023-01-17 13:50:15 -05:00
endpoints openziti-rest-kitchen -> openziti (#158) 2023-01-13 15:01:34 -05:00
etc quickstart polish 2022-12-07 12:01:56 -05:00
model better metrics accumulator (#74, #76) 2022-10-18 11:57:32 -04:00
rest_client_zrok openziti-rest-kitchen -> openziti (#158) 2023-01-13 15:01:34 -05:00
rest_model_zrok limitless flag on accounts (#96) 2023-01-13 13:16:10 -05:00
rest_server_zrok openziti-rest-kitchen -> openziti (#158) 2023-01-13 15:01:34 -05:00
specs limitless flag on accounts (#96) 2023-01-13 13:16:10 -05:00
tui seriousbusiness 2023-01-13 14:36:07 -05:00
ui limitless flag on accounts (#96) 2023-01-13 13:16:10 -05:00
util ensure supplied email addresses are valid at both the CLI and the API (#108) 2022-11-29 13:23:23 -05:00
zrokdir openziti-rest-kitchen -> openziti (#158) 2023-01-13 15:01:34 -05:00
.gitignore don't check in local development config 2022-11-18 16:12:30 -05:00
.goreleaser-darwin.yml openziti-rest-kitchen -> openziti (#158) 2023-01-13 15:01:34 -05:00
.goreleaser-linux.yml openziti-rest-kitchen -> openziti (#158) 2023-01-13 15:01:34 -05:00
.goreleaser-release.yml fully cross-platform build? (#70) 2022-11-03 16:51:22 -04:00
.goreleaser-windows.yml openziti-rest-kitchen -> openziti (#158) 2023-01-13 15:01:34 -05:00
CHANGELOG.md Merge branch 'main' into v0.3.0 2022-11-28 11:26:12 -05:00
go.mod openziti-rest-kitchen -> openziti (#158) 2023-01-13 15:01:34 -05:00
go.sum zrok invite tui (#153) 2023-01-11 14:26:58 -05:00
README.md README (#62); CHANGELOG 2022-11-11 13:23:51 -05:00

zrok

zrok is a service designed to provide frictionless access to ephemeral, geo-scale reverse proxy capabilities. zrok is implemented on top of OpenZiti as a Ziti Native Application.

Characteristics

zrok has the following characteristics:

Frictionless

zrok is designed to provide a "frictionless" experience. Only a single binary and a single command are required to take advantage of all of the power of zrok.

zrok works in a large number environments: developer shells, container sidecars, serverless environments, webhooks.

Expand with OpenZiti

zrok is built on top of OpenZiti, a next-generation solution for secure application connectivity. zrok is a fantastic way to start working with OpenZiti. Start with simple zrok ephemeral connectivity, and then layer on additional capabilities provided by the underlying OpenZiti network.

Bring zrok into your existing OpenZiti deployment to provide rapid, ephemeral connectivity for a number of important HTTP scenarios.

World-Scale

zrok is the software that powers the zrok.io world-scale service. zrok can scale as large as you need.

Multiple Isolated Tenants

A single zrok instance can support any number of isolated tenants, allowing them to coexist on top of the same OpenZiti deployment in a secure manner.

Self-hosting Capable

Install zrok on top of your own OpenZiti network. zrok is simple to operate and scale.

Concepts

zrok is conceptually structured like this:

zrok overview

zrok Frontend, zrok Backend

The zrok reverse proxy is broken into two halves, a frontend and a backend. These two components connect over an OpenZiti network. Together the frontend and the backend work together to implement a reverse proxy.

The frontend is designed to be sited on an accessible network (typically the public internet). This allows traffic from that accessible network to ingress into the zrok frontend, across the dynamic reverse proxy.

The backend is designed to be sited in a private environment, such as a private development server, or a serverless environment, or a container sidecar. The backend only needs outbound connectivity to reach the OpenZiti network and the zrok controller.

The controller is a lightweight control plane component, which orchestrates connectivity between frontend and backend components.