2.1.10 • Published 9 months ago

@prosopo/flux v2.1.10

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
9 months ago

@prosopo/flux

This package contains a Command Line Interface (CLI) for interacting with the Flux cloud network.

CLI Usage

Authentication

Authenticate with Flux Main Site only

Use to generate the authentication for a Flux node for a specific app.This allows you to go straight to the RunOnFlux Login and login with the login phrase and signature.

# authenticate with the network for a specific app
npx flux auth
{
  nodeAPIURL: URL {
    href: 'https://api.runonflux.io/',
    origin: 'https://api.runonflux.io',
    ...
  },
  nodeLoginPhrase: 'asdlkadalkdalskdasldkadlkadlkaldkasdlk',
  nodeSignature: 'lkjasdlajsdlkajdlkajdlaskjdlaskjdlaskjdaslkd/9I='
}

Authenticate with a Node and an App

Use to generate the authentication for a Flux node for a specific app. This allows you to go straight to the node for the app you are working with and login with the login phrase and signature.

# authenticate with the network for a specific app
npx flux auth <app_name>
{
  nodeAPIURL: URL {
    # You can now visit this (using port 16126) to login with the login phrase and signature
    href: 'http://x.x.x.x:16127/',
    origin: 'http://x.x.x.x:16127',
    ...
  },
  nodeLoginPhrase: 'asdlkadalkdalskdasldkadlkadlkaldkasdlk',
  nodeSignature: 'lkjasdlajsdlkajdlkajdlaskjdlaskjdlaskjdaslkd/9I='
}

Authenticate with a Node and an App and a specific Node

Use to generate the authentication for a Flux node for a specific app on a specific node.

# authenticate with the network for a specific app at a specific ip
npx flux auth <app_name> --ip <node_ip=x.x.x.x:port>

Get Dapp Details

Get Dapps

Use this command to get a list of all your dapps that are running on the network.

# get all dapps
npx flux getDapps

Get Dapp

Full Details

Use this command to get the full details of a dapp running on the network.

# get details of a specific dapp
npx flux getDapp <app_name>

Nodes only

Use this command to get the IP addresses of the nodes that are running the app.

# get details of a specific dapp and show only the nodes
npx flux getDapp <app_name> --nodes

Redeploy

Soft redeploy

Restart the app on all nodes that are running the app.

# redeploy the app
npx flux redeploy <app_name>
...
ℹ apiUrl: http://x.x.x.x:16127/id/verifylogin                                                                                                                                   deploy.js 15:00:42
ℹ { status: 'success',                                                                                                                                                                deploy.js 15:00:42
  data: { message: '<app_name> queried for global soft redeploy' } }

Hard redeploy

Remove the container and restart the app on all nodes that are running the app.

# hard redeploy the app
npx flux redeploy <app_name> --hard
...
ℹ apiUrl: http://x.x.x.x:16127/id/verifylogin                                                                                                                                   deploy.js 15:00:42
ℹ { status: 'success',                                                                                                                                                                deploy.js 15:00:42
  data: { message: '<app_name> queried for global hard redeploy' } }

Logs

Get Logs

Use this command to get the logs of the app for all nodes.

# get logs of a specific dapp
npx flux getLogs <app_name>

┌─────────┬─────────────────────────────────┬────────────────────────────────────────────────────────────────────────────────────────────────┐
│ (index) │               url               │                                              logs                                              │
├─────────┼─────────────────────────────────┼────────────────────────────────────────────────────────────────────────────────────────────────┤
│    0    │ 'http://x.x.x.x:16126/' │  '{"status":"success","data":"... ...'  │
│    1    │               ''                │ "d-0-...\\nApp running on port 9232\\n * Serving Flask app 'app'" │
│    2    │               ''                │                                  '\\n * Debug mode: off\\n"}'                                  │
│    3    │   'http://x.x.x.x:16186/'   │  '{"status":"success","data":"... ...'  │
│    4    │               ''                │ "d-0-...\\nApp running on port 9232\\n * Serving Flask app 'app'" │
│    5    │               ''                │                                  '\\n * Debug mode: off\\n"}'                                  │
│    6    │  'http://x.x.x.x:16126/'   │  '{"status":"success","data":"... ...'  │
│    7    │               ''                │ "d-0-...\\nApp running on port 9232\\n * Serving Flask app 'app'" │
│    8    │               ''                │                                  '\\n * Debug mode: off\\n"}'                                  │
│    9    │   'http://x.x.x.x:16146/'   │ '<html><body><h2>Flux Node is not confirmed on the network</h2>\nIt may take a few minutes f'  │
│   10    │               ''                │      'or your Flux Node to be available over domain.<br>\nEU-NODES-1-1\n</body></html>\n'      │
└─────────┴─────────────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────┘

Get Logs from a specific Node

Use this command to get the logs of the app from a specific node.

# get logs of a specific dapp at a specific ip
npx flux getLogs <app_name> --ip <node_ip=x.x.x.x:port>

Save the logs to a file

Use this command to get the logs of the app from a specific node.

# get logs of a specific dapp and save them to a file. The log format will be `host | log` with the logs separated by a newline
npx flux getLogs <app_name> --file <file_name>

Sign a Message

Use this command to sign a message with the private key of the node.

# sign a message
> npx flux sign <msg>
CLI:info {
  _: [ 'sign' ],
  '$0': 'node_modules/.bin/flux',
  msg: '<msg>'
}
CLI:info Public Key: 15...b
CLI:info Base64 Signature: H...=

Format an env file

Use this command to format an env file in the array format needed for updating in FluxOS. The output will be printed to the terminal.

# format the env file
> npx flux formatenv .env
CLI:info ["FOO=bar","BAR=BLAH"]

You can write the output to a file by using the --write flag.

# format the env file and write the output to a file
> npx flux formatenv .env --write <file_name>
2.1.8

9 months ago

2.1.9

9 months ago

2.1.10

9 months ago

2.1.7

9 months ago

2.1.6

9 months ago

2.1.5

9 months ago

2.1.2

9 months ago

2.1.1

10 months ago

2.1.4

9 months ago

2.1.3

9 months ago

2.1.0

10 months ago

2.0.3

10 months ago

2.0.2

11 months ago

1.0.2

1 year ago

0.3.42

1 year ago

1.0.1

1 year ago

0.3.41

1 year ago

2.0.1

11 months ago

2.0.0

11 months ago

0.3.40

1 year ago

0.3.39

1 year ago

0.3.38

1 year ago

0.3.37

1 year ago

0.3.36

1 year ago

0.3.5

1 year ago

0.3.4

1 year ago

0.3.3

1 year ago

0.3.2

1 year ago

0.3.1

1 year ago

0.2.41

1 year ago