125 lines
3.8 KiB
Markdown
125 lines
3.8 KiB
Markdown
|
<h1>Installation</h1>
|
||
|
|
||
|
<h2>Table of Contents</h2>
|
||
|
|
||
|
- [Introduction](#introduction)
|
||
|
- [Prerequisites](#prerequisites)
|
||
|
- [Installation](#installation)
|
||
|
- [External Package](#external-package)
|
||
|
- [Local Usage](#local-usage)
|
||
|
- [Getting Started](#getting-started)
|
||
|
- [Client Configuration](#client-configuration)
|
||
|
- [Generate the Documentation](#generate-the-documentation)
|
||
|
- [How to Run the Scripts](#how-to-run-the-scripts)
|
||
|
- [Reference API](#reference-api)
|
||
|
|
||
|
***
|
||
|
|
||
|
## Introduction
|
||
|
|
||
|
We present here the general steps required to install and use the ThreeFold Grid Client.
|
||
|
|
||
|
The [Grid Client](https://github.com/threefoldtech/tfgrid-sdk-ts/tree/development/packages/grid_client) is written using [TypeScript](https://www.typescriptlang.org/) to provide more convenience and type-checked code. It is used to deploy workloads like virtual machines, kubernetes clusters, quantum storage, and more.
|
||
|
|
||
|
## Prerequisites
|
||
|
|
||
|
To install the Grid Client, you will need the following on your machine:
|
||
|
|
||
|
- [Node.js](https://nodejs.org/en) ^18
|
||
|
- npm 8.2.0 or higher
|
||
|
- may need to install libtool (**apt-get install libtool**)
|
||
|
|
||
|
> Note: [nvm](https://nvm.sh/) is the recommended way for installing node.
|
||
|
|
||
|
To use the Grid Client, you will need the following on the TFGrid:
|
||
|
|
||
|
- A TFChain account
|
||
|
- TFT in your wallet
|
||
|
|
||
|
If it is not the case, please visit the [Get started section](../../system_administrators/getstarted/tfgrid3_getstarted.md).
|
||
|
|
||
|
## Installation
|
||
|
|
||
|
### External Package
|
||
|
|
||
|
To install the external package, simply run the following command:
|
||
|
|
||
|
```bash
|
||
|
yarn add @threefold/grid_client
|
||
|
```
|
||
|
|
||
|
> Note: For the **qa**, **test** and **main** networks, please use @2.1.1 version.
|
||
|
|
||
|
### Local Usage
|
||
|
|
||
|
To use the Grid Client locally, clone the repository then install the Grid Client:
|
||
|
|
||
|
- Clone the repository
|
||
|
- ```bash
|
||
|
git clone https://github.com/threefoldtech/tfgrid-sdk-ts
|
||
|
```
|
||
|
- Install the Grid Client
|
||
|
- With yarn
|
||
|
- ```bash
|
||
|
yarn install
|
||
|
```
|
||
|
- With npm
|
||
|
- ```bash
|
||
|
npm install
|
||
|
```
|
||
|
|
||
|
> Note: In the directory **grid_client/scripts**, we provided a set of scripts to test the Grid Client.
|
||
|
|
||
|
## Getting Started
|
||
|
|
||
|
You will need to set the client configuration either by setting the json file manually (**scripts/config.json**) or by using the provided script (**scripts/client_loader.ts**).
|
||
|
|
||
|
### Client Configuration
|
||
|
|
||
|
Make sure to set the client configuration properly before using the Grid Client.
|
||
|
|
||
|
- **network**: The network environment (**dev**, **qa**, **test** or **main**).
|
||
|
|
||
|
- **mnemonic**: The 12 words mnemonics for your account.
|
||
|
- Learn how to create one [here](../../dashboard/wallet_connector.md).
|
||
|
|
||
|
- **storeSecret**: This is any word that will be used for encrypting/decrypting the keys on ThreeFold key-value store.
|
||
|
|
||
|
- **ssh_key**: The public SSH key set on your machine.
|
||
|
|
||
|
> Note: Only networks can't be isolated, all projects can see the same network.
|
||
|
|
||
|
## Generate the Documentation
|
||
|
|
||
|
The easiest way to test the installation is to run the following command with either yarn or npm to generate the Grid Client documentation:
|
||
|
|
||
|
* With yarn
|
||
|
* ```
|
||
|
yarn run serve-docs
|
||
|
```
|
||
|
* With npm
|
||
|
* ```
|
||
|
npm run serve-docs
|
||
|
```
|
||
|
|
||
|
> Note: You can also use the command **yarn run** to see all available options.
|
||
|
|
||
|
## How to Run the Scripts
|
||
|
|
||
|
You can explore the Grid Client by testing the different scripts proposed in **grid_client/scripts**.
|
||
|
|
||
|
- Update your customized deployments specs if needed
|
||
|
- Run using [ts-node](https://www.npmjs.com/ts-node)
|
||
|
- With yarn
|
||
|
- ```bash
|
||
|
yarn run ts-node --project tsconfig-node.json scripts/zdb.ts
|
||
|
```
|
||
|
- With npx
|
||
|
- ```bash
|
||
|
npx ts-node --project tsconfig-node.json scripts/zdb.ts
|
||
|
```
|
||
|
|
||
|
## Reference API
|
||
|
|
||
|
While this is still a work in progress, you can have a look [here](https://threefoldtech.github.io/tfgrid-sdk-ts/packages/grid_client/docs/api/index.html).
|