Skip to content

NervesHub Mix command line interface

License

Notifications You must be signed in to change notification settings

peridio/cremini-elixir-cli

 
 

Repository files navigation

NervesHubCLI

CircleCI Hex version

NervesHubCLI provides a set of Mix tasks so that you can work with NervesHub from the command-line. Features include:

  • Uploading firmware to NervesHub
  • Generating device certificates and registration
  • Managing device provisioning metadata
  • Creating and managing firmware signing keys
  • Manage firmware deployments
  • Manage user and organization accounts

The recommended way of using the CLI is to include nerves_hub_link in your dependencies. nerves_hub_link pulls in nerves_hub_cli and includes the target runtime components necessary to use it.

Once installed, you can access available commands and documentation from the command-line using mix help:

$ mix help
...
mix nerves_hub.deployment # Manages NervesHub deployments
mix nerves_hub.device     # Manages your NervesHub devices
mix nerves_hub.firmware   # Manages firmware on NervesHub
mix nerves_hub.key        # Manages your firmware signing keys
mix nerves_hub.product    # Manages your products
mix nerves_hub.user       # Manages your NervesHub user account
...

$ mix help nerves_hub.device
...

Environment variables

NervesHubCLI may be configured using environment variables to simplify automation. The following variables are available:

  • NERVES_HUB_CERT - Certificate contents for authenticating with NervesHub
  • NERVES_HUB_KEY - The private key associated with NERVES_HUB_CERT
  • NERVES_HUB_ORG - NervesHub organization to use
  • NERVES_HUB_FW_PRIVATE_KEY - Fwup signing private key
  • NERVES_HUB_FW_PUBLIC_KEY - Fwup signing public key
  • NERVES_HUB_HOME - NervesHub CLI data directory (defaults to ~/.nerves-hub)
  • NERVES_HUB_HOST - NervesHub API endpoint IP address or hostname (defaults to api.nerves-hub.org)
  • NERVES_HUB_PORT - NervesHub API endpoint port (defaults to 443)
  • NERVES_HUB_NON_INTERACTIVE - Force all yes/no user interaction to be yes

For more information on using the CLI, see the nerves_hub_link documentation.

Connecting to other environments

NervesHubCLI can be directed to target other environments beside the public NervesHub instance. See the documentation for example config values to do this.

About

NervesHub Mix command line interface

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Elixir 100.0%