Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Docs] Node/Relayminer/AppgateServer deployment guide #400

Merged
merged 17 commits into from
Apr 5, 2024
Merged
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).
Olshansk marked this conversation as resolved.
Show resolved Hide resolved
:::

## 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."
}
}
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)._
Loading