2.1.0-rc2 • Published 1 year ago

grid3_client v2.1.0-rc2

Weekly downloads
-
License
ISC
Repository
github
Last release
1 year ago

grid3_client_ts

npm version Build tests code coverage

Github repo: grid3_client_ts

grid3_client is a client used for deploying workloads (VMs, ZDBs, k8s, etc.) on grid3.

Prerequisites

  • node 16.13.1 or higher
  • npm 8.2.0 or higher
  • may need to install libtool apt-get install libtool

Installation

Warning: For Qanet, Please use @2.0.0 version

Warning: For Testnet, Please use @2.0.0 version

Warning: For Mainnet, Please use @1.5.0 version

External package

npm install grid3_client

or

yarn add grid3_client

Local usage

  • Clone the repository
git clone https://github.com/threefoldtech/grid3_client_ts.git
  • Install it
npm install

or

yarn install

Getting started

Client configuration

  • Network environment: should select dev environment, qa, test or main.

  • Mnemonic: 12 words for your account. create one

  • Store secret: it's any word that will be used for encrypting/decrypting the keys on threefold key-value store.

  • project name: it's a name to isolate the deployments into a namespace.

    Note: only network can't be isolated, all project can see the same network.

Create client instance

  • Here's a simple example of creating a client instance with the default configurations.

  • or you can check more advanced configuration here.

    async function getClient(): Promise<GridClient> {
    const gridClient = new GridClient({
        network: config.network,
        mnemonic: config.mnemonic,
    });
    await gridClient.connect();
    
    return gridClient;
    }
  • You can set your configurations through environment variables or JSON config file as seen here.

  • With clientOptions being added, all urls are now configured. So, you can easily get the proxy URL for the used network simply by:

    const proxyURL = gridClient.clientOptions.proxyURL

for more details, check client options

Important Note: grid client should be disconnected after finishing its usage.

gridClient.disconnect();

Using the client

This section assumes that you are using the client configuration from client_loader.ts

  • After creating a client instance you can call it in any of your scripts using getClient().

    const grid3 = getClient();
  • And then you can use this client instance with any of the client modules.

  • For example to deploy a VM you will need to use the machines module with the client and it can be used as follows. you can find the full example script here.

    • To deploy a VM

      await grid3.machines.deploy(vms);
    • To delete a VM

      await grid3.machines.delete({ name: vms.name });
  • More example scripts can be found here

Running the scripts

  • Before Running the scripts make sure you have a tsconfig.json file. here is an example file.

    {
        "compilerOptions": {
            "noImplicitAny": false,
            "module": "commonjs",
            "target": "esnext",
            "lib": [
                "ESNext",
                "DOM"
            ],
            "types": [
                "node",
                "jest"
            ],
            "declaration": true,
            "declarationMap": true,
            "outDir": "./dist/node",
            "esModuleInterop": true,
            "emitDecoratorMetadata": true,
            "experimentalDecorators": true,
            "allowJs": true,
            "baseUrl": "."
        },
        "include": [
            "src/**/*"
        ]
    }
  • After following the previous examples to create a client instance and using it in a script, you can then execute this script using ts-node.

    npx ts-node --project tsconfig-node.json filename.ts

    or

    yarn run ts-node --project tsconfig-node.json filename.ts

Usage examples

API Docs

https://threefoldtech.github.io/grid3_client_ts/api/

Testing

Related Documentations

1.6.0

1 year ago

2.0.0

1 year ago

1.6.0-rc7

1 year ago

1.6.0-rc5

1 year ago

1.6.0-rc6

1 year ago

1.6.0-rc4

1 year ago

1.5.3

1 year ago

1.5.2

1 year ago

1.5.1

1 year ago

2.0.0-rc11

1 year ago

2.0.0-rc12

1 year ago

2.0.0-rc10

1 year ago

2.1.0-rc2

1 year ago

2.1.0-rc1

1 year ago

2.0.0-rc7

1 year ago

2.0.0-rc6

1 year ago

2.0.0-rc5

1 year ago

2.0.0-rc4

1 year ago

2.0.0-rc3

1 year ago

2.0.0-rc2

1 year ago

2.0.0-rc1

1 year ago

2.0.0-rc9

1 year ago

2.0.0-rc8

1 year ago

1.6.0-rc1

1 year ago

1.6.0-rc2

1 year ago

1.6.0-rc3

1 year ago

1.5.0

1 year ago

1.4.4

2 years ago

1.5.0-rc1

1 year ago

1.5.0-rc2

1 year ago

1.5.0-rc3

1 year ago

1.5.0-rc4

1 year ago

1.4.3

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.4.0-rc8

2 years ago

1.4.0-rc7

2 years ago

1.4.0-rc6

2 years ago

1.4.0-rc5

2 years ago

1.4.0-rc4

2 years ago

1.4.0-rc3

2 years ago

1.3.9

2 years ago

1.3.8

2 years ago

1.3.7

2 years ago

1.3.6

2 years ago

1.3.5

2 years ago

1.3.4

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.4.0-rc2

2 years ago

1.4.0-rc1

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.0.2

2 years ago

0.0.40

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

0.0.37

2 years ago

0.0.38

2 years ago

0.0.39

2 years ago

0.0.30

2 years ago

0.0.31

2 years ago

0.0.32

2 years ago

0.0.33

2 years ago

0.0.34

2 years ago

0.0.35

2 years ago

0.0.36

2 years ago

0.0.26

2 years ago

0.0.27

2 years ago

0.0.28

2 years ago

0.0.29

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.0.10

2 years ago

0.0.20

2 years ago

0.0.21

2 years ago

0.0.22

2 years ago

0.0.23

2 years ago

0.0.24

2 years ago

0.0.25

2 years ago

0.0.15

2 years ago

0.0.16

2 years ago

0.0.17

2 years ago

0.0.18

2 years ago

0.0.19

2 years ago

0.0.11

2 years ago

0.0.12

2 years ago

0.0.13

2 years ago

0.0.14

2 years ago

0.0.3

3 years ago

0.0.10

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.7

2 years ago

0.0.6

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago