Skip to content

Commit

Permalink
[Docs] Node/Relayminer/AppgateServer deployment guide (#400)
Browse files Browse the repository at this point in the history
Co-authored-by: Daniel Olshansky <[email protected]>
  • Loading branch information
okdas and Olshansk authored Apr 5, 2024
1 parent f050022 commit 38a9658
Show file tree
Hide file tree
Showing 13 changed files with 98,528 additions and 19,707 deletions.
118,061 changes: 98,365 additions & 19,696 deletions docs/static/openapi.yml

Large diffs are not rendered by default.

6 changes: 4 additions & 2 deletions docusaurus/docs/actors/relay_miner.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ sidebar_position: 5

## Overview

An `RelayMiner` is responsible for proxying `RelayRequests` between an `AppGate Server`
and the supplied `Service`.
A `RelayMiner` is a specialized operation node (not an on-chain actor) designed
for individuals to **offer services** through Pocket Network alongside a staked
`Supplier`. It is responsible for proxying `RelayRequests` between an
`AppGate Server` and the supplied `Service`.

[Suppliers](./supplier.md) interested in providing `Service`s on Pocket Network
would need to run a `RelayMiner` in addition to the software that provides the said `Service`.
Expand Down
2 changes: 1 addition & 1 deletion docusaurus/docs/developer_guide/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Install the following dependencies:
6. [Tilt](https://docs.tilt.dev/install.html) - k8s local development tool & environment manager

:::note
You might already have these installed if you've followed the [localnet instructions](../infrastructure/localnet.md).
You might already have these installed if you've followed the [localnet instructions](./internal_infrastructure/localnet.md).
:::

## Launch LocalNet
Expand Down
8 changes: 0 additions & 8 deletions docusaurus/docs/infrastructure/_category_.json

This file was deleted.

8 changes: 8 additions & 0 deletions docusaurus/docs/internal_infrastructure/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"label": "Internal infrastructure",
"position": 10,
"link": {
"type": "generated-index",
"description": "Internal infrastructure related to deploying, maintaining and testing various (Local, Dev, Test) environments."
}
}
File renamed without changes.
8 changes: 8 additions & 0 deletions docusaurus/docs/run_a_node/_category_.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"label": "Run a Node",
"position": 8,
"link": {
"type": "generated-index",
"description": "Guides on how to deploy and operated various type of Pocket Network nodes."
}
}
41 changes: 41 additions & 0 deletions docusaurus/docs/run_a_node/appgate_server.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
title: AppGate Server
sidebar_position: 2
---

# AppGate Server Operation <!-- omit in toc -->

- [What is AppGate Server?](#what-is-appgate-server)
- [AppGate Server Operation Requirements](#appgate-server-operation-requirements)
- [Docker Compose Example](#docker-compose-example)
- [Kubernetes Example](#kubernetes-example)

## What is AppGate Server?

See the [AppGate Server](../actors/appgate_server.md) documentation for more
information on what an AppGate Server is. This page aims to provide links and
details on how to deploy and operate it.

## AppGate Server Operation Requirements

An AppGate Server requires the following:

1. A staked on-chain [Application](../actors/application.md) to pay for services.
2. An optional on-chain [Gateway](../actors/gateway.md) to optionally proxy services.
3. A connection to a [Full Node](./full_node.md) to interact with the blockchain.

:::tip
It is crucial to deploy a [Full Node](full_node.md) prior to setting up a RelayMiner.
This ensures the necessary infrastructure for blockchain communication is in place.
:::

## Docker Compose Example

Please refer to the `Deploying an AppGate Server` section in [poktroll-docker-compose-example](https://github.com/pokt-network/poktroll-docker-compose-example#deploying-an-appgate-server)
GitHub repository on how to deploy an AppGate Server using `docker-compose`.

_TODO: Move over the relevant information from the `poktroll-docker-compose-example` repository into the docs_

## Kubernetes Example

_TODO: Provide an example using [strangelove-ventures/cosmos-operator](https://github.com/strangelove-ventures/cosmos-operator)._
61 changes: 61 additions & 0 deletions docusaurus/docs/run_a_node/full_node.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
title: Full Node
sidebar_position: 1
---

# Full Node <!-- omit in toc -->

- [What is a Full Node](#what-is-a-full-node)
- [Roles \& Responsibilities](#roles--responsibilities)
- [Types of Full Nodes](#types-of-full-nodes)
- [Pocket Network Full Nodes](#pocket-network-full-nodes)
- [Docker Compose Example](#docker-compose-example)
- [Kubernetes Example](#kubernetes-example)

## What is a Full Node

In blockchain networks, a Full Node retains a complete copy of the ledger.

You can visit the [Cosmos SDK documentation](https://docs.cosmos.network/main/user/run-node/run-node)
for more information on Full Nodes.

## Roles & Responsibilities

It is usually responsible for:

1. Verifying all committed transactions and blocks
2. Increase network security through data redundancy
3. Fostering decentralization
4. Gossiping blocks & transactions to other nodes

It is not responsible for:

1. Proposing new blocks
2. Participating in consensus

## Types of Full Nodes

There are two types of Full Nodes:

1. **Archive Nodes**: These nodes store the entire history of the blockchain.
2. **Pruning Nodes**: These nodes store only the most recent blocks and transactions.

## Pocket Network Full Nodes

Within Pocket Network, the role of Full Nodes is pivotal for Node Runners. These
nodes needed for off-chain entities like [RelayMiners](./relay_miner.md) and
[AppGates](./appgate_server.md), which rely on interaction with the Pocket Network
blockchain for full functionality.

This guide outlines how to configure, deploy nad maintain Full Nodes.

## Docker Compose Example

Please refer to the `Deploying a Full Node` section in [poktroll-docker-compose-example](https://github.com/pokt-network/poktroll-docker-compose-example#deploying-a-full-node)
GitHub repository on how to deploy an AppGate Server using `docker-compose`.

_TODO: Move over the relevant information from the `poktroll-docker-compose-example` repository into the docs_

## Kubernetes Example

_TODO: Provide an example using [strangelove-ventures/cosmos-operator](https://github.com/strangelove-ventures/cosmos-operator)._
40 changes: 40 additions & 0 deletions docusaurus/docs/run_a_node/relay_miner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: RelayMiner
sidebar_position: 3
---

# RelayMiner <!-- omit in toc -->

- [What is a RelayMiner](#what-is-a-relayminer)
- [RelayMiner Operation Requirements](#relayminer-operation-requirements)
- [Docker Compose Example](#docker-compose-example)
- [Kubernetes Example](#kubernetes-example)

## What is a RelayMiner

See the [RelayMiner](../actors/appgate_server.md) documentation for more
information on what a RelayMiner is. This page aims to provide links and
details on how to deploy and operate it.

## RelayMiner Operation Requirements

A RelayMiner requires the following:

1. A staked on-chain [Supplier](../actors/supplier.md) to provide services.
2. A connection to a [Full Node](./full_node.md) to interact with the blockchain.

:::tip
It is crucial to deploy a [Full Node](full_node.md) prior to setting up a RelayMiner.
This ensures the necessary infrastructure for blockchain communication is in place.
:::

## Docker Compose Example

Please refer to the `Deploying a RelayMiner` section in [poktroll-docker-compose-example](https://github.com/pokt-network/poktroll-docker-compose-example#deploying-a-relay-miner)
GitHub repository on how to deploy an AppGate Server using `docker-compose`.

_TODO: Move over the relevant information from the `poktroll-docker-compose-example` repository into the docs_

## Kubernetes Example

_TODO: Provide an example using [strangelove-ventures/cosmos-operator](https://github.com/strangelove-ventures/cosmos-operator)._

0 comments on commit 38a9658

Please sign in to comment.