Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@lifeomic/alpha-cli

Package Overview
Dependencies
Maintainers
2
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lifeomic/alpha-cli

Curl-like CLI for the Alpha client

  • 3.1.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
186
decreased by-71.21%
Maintainers
2
Weekly downloads
 
Created
Source

alpha-cli

npm Build Status

alpha-cli provides a curl-like CLI wrapper around the alpha client. This allows Lambda services to be directly invoked manually.

Setup

$ npm install -g @lifeomic/alpha-cli

Usage

$ alpha --help
Options:
      --help             Show help                                     [boolean]
  -H, --header           Pass custom header line to server              [string]
      --lambda-handler   A javascript/typescript lambda handler to send requests
                         to                                             [string]
      --env-file         File to load as environment variables when importing
                         lambda                                         [string]
  -X, --request          Specify the request method to use
      --data-binary      Send binary data
      --proxy-port       port to proxy requests on      [number] [default: 9000]
      --proxy            http proxy requests to alpha [boolean] [default: false]
      --sign             Sign requests with AWS SignatureV4
                                                      [boolean] [default: false]
      --role             Role to assume when signing                    [string]
      --validate-status  Validate the HTTP response code and fail if not 2XX
                                                      [boolean] [default: false]
  -V, --version          Show the version number and quit              [boolean]

$ alpha lambda://user-service/users/jagoda | jq
{
  "id": "jagoda",
  "profile": {
    "email": "jeff.jagoda@lifeomic.com"
  }
}

Options

sign

Use for services like OpenSearch when set up with Role based auth. When combined with the --proxy option normal RESTful UI tools can then be used to hit a cluster without additional configuration.

Interacting with GraphQL lambdas using the Alpha CLI proxy

Introduction

This is a guide on how to proxy GraphQL requests through Alpha in order to be able to use IDEs to construct and execute queries. While this approach is IDE agnostic, this will demonstrate how to proxy to the Insomnia IDE, offering capabilities like automatic schema detection, auto-complete, linting, and a convenient way to save queries.

Install a GraphQL IDE

Insomnia has a nice interface, but [Postman] and other IDEs should work as well.

If you have brew, all you need to do to install Insomnia is run:

brew install --cask insomnia

Setup

You'll need to be authenticated against your AWS environment

# Connect to the proxy
alpha --proxy lambda://my-graphql-lambda:deployed

Usage

Once you're logged in and your proxy is running, launch Insomnia and start creating/organizing queries. It may be convenient to organize them by folder.

For a typical GraphQL request, you'll want to configure your request to POST to http://localhost:[port],

You'll also likely need to configure headers. If using lifeomic APIs, you may need lifeomic-account and lifeomic-user depending on the service:

Depending on how you've configured Insomnia, it will either automatically start fetching the schema, or you can manually fetch it.

Once you've successfully loaded the schema, you can pull up documentation using the same dialog, allowing you to click through and copy GraphQL queries/mutations.

Now that the schema is loaded, you can review documentation and create and test queries with autocomplete

FAQs

Package last updated on 29 Sep 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc