0.4.0 • Published 3 months ago

@into-cps-association/libms v0.4.0

Weekly downloads
-
License
SEE LICENSE IN <L...
Repository
-
Last release
3 months ago

Overview

The lib microservice is a simplified file manager providing graphQL API. It has two features:

  • provide a listing of directory contents.
  • transfer a file to user.

:arrow_down: Install

The package is available in Github packages registry.

Set the registry and install the package with the following commands

sudo npm config set @into-cps-association:registry https://npm.pkg.github.com
sudo npm install -g @into-cps-association/libms

The npm install command asks for username and password. The username is your Github username and the password is your Github personal access token. In order for the npm to download the package, your personal access token needs to have read:packages scope.

:gear: Configure

The microservices requires config specified in INI format. The template configuration file is:

PORT='4001'
MODE='local' or 'gitlab'
LOCAL_PATH ='/Users/<Username>/DTaaS/files'
LOG_LEVEL='debug'
APOLLO_PATH='/lib' or ''
GRAPHQL_PLAYGROUND='false' or 'true'

The LOCAL_PATH variable is the absolute filepath to the location of the local directory which will be served to users by the Library microservice. This sample configuration file can be used.

Replace the default values the appropriate values for your setup.

:rocket: Use

Display help.

$libms -h
Usage: libms [options]

The lib microservice is a file server. It supports file transfer
over GraphQL and HTTP protocols.

Options:
  -c, --config <file>  provide the config file (default .env)
  -H, --http <file>    enable the HTTP server with the specified config
  -h, --help           display help for libms

Both the options are not mandatory.

Configuration file

The config is saved .env file by convention. If -c is not specified The libms looks for .env file in the working directory from which it is run. If you want to run libms without explicitly specifying the configuration file, run

libms

To run libms with a custom config file,

libms -c FILE-PATH
libms --config FILE-PATH

If the environment file is named something other than .env, for example as config/.env.default, you can run

libms -c "config/.env.default"

You can press Ctl+C to halt the application.

Protocol Support

The libms supports GraphQL protocol by default. It is possible to enable the HTTP protocol by setting the -H option.

To run libms with a custom config for HTTP protocol, use

libms -H FILE-PATH
libms --http FILE-PATH

A sample configuration is available.

Accessible URLs

The microservice is available at:

GraphQL protocol: 'localhost:PORT/lib' HTTP protocol: 'localhost:PORT/lib/files'

The API page shows sample queries and responses.