Skip to main content

OpenRemote Command-line interface

Project description

CI/CD docker Code style: black pre-commit Open Source? Yes! Donate

OpenRemote CLI

Intro

This is Command Line Interface to OpenRemote IoT platform. It's purpose is to reduce friction of using OpenRemote by Do It Yourself users.

It is published as a Python package on PyPi.org

About OR

OpenRemote is a great real OpenSource IoT platform.

Usage

To install/upgrade the CLI:

pip install --upgrade openremote-cli
or --version

Docker image

There is also docker image with embedded openremote-cli and other tools used during stack management, like python, aws or docker-compose. Therefore, docker is the only tool installed when you need to work on remote host. Example:

% docker run -ti --rm openremote/openremote-cli -V
openremote-cli/0.6.46 3.8.10 (default, May 12 2021, 15:56:47) [GCC 8.3.0] Linux/#1 SMP Tue Mar 23 09:27:39 UTC 202
% docker run -ti --rm --entrypoint bash -v ~/.aws:/root/.aws openremote/openremote-cli
root@4438b25d0834:/# aws --version
aws-cli/2.1.39 Python/3.8.8 Linux/5.10.25-linuxkit exe/x86_64.debian.10 prompt/off

Deploy local OpenRemote stack

or deploy

When it finishes you should be able to open https://localhost and login with admin:secret to the manager. Depending on your machine it can take few minutes to start or services (usually less than 10 minutes). If it does not work yet, check it with docker ps to see if all services are in healthy or starting stage.

Remove local OpenRemote stack

or deploy --action remove

Deploy OpenRemote stack on AWS with DNS entry

or deploy --platform aws --dnsname myiot.mydomain.com

Check health of the openremote stack

or deploy -a health --dnsname myiot.mydomain.com -v

Install shell completion extension

zsh

TODO

bash

TODO

Configure existing OpenRemote instance

Add users

Add assets

Add customization

Develop openremote-cli

Following tools are used:

  • python (pip, poetry, black, PyPI.org)
  • git (pre-commit, actions)
  • docker (docker-compose, swarm)
  • AWS (CloudFormation)
  • make

poetry run openremote-cli -V

Adding feature

In this project we use Behavior-driven development (or BDD). BDD is an agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in a software project.

This project uses Gherkin to define what features which should be covered. Features files can be generated by people on manager level or even higher. An example of file defining a feature:

Feature: deploy

  Scenario: deploy to localhost
    Given we have docker and docker-compose installed
    When we call openremote-cli --dry-run deploy --action create
    Then show what will be done

When the feature is implemented it can be checked with behave:

> behave
Feature: deploy # features/deploy.feature:1

  Scenario: deploy to localhost                                  # features/deploy.feature:3
    Given we have docker and docker-compose installed            # features/steps/deploy_steps.py:8 0.453s
    When we call openremote-cli --dry-run deploy --action create # features/steps/deploy_steps.py:16 0.591s
    Then show what will be done                                  # features/steps/deploy_steps.py:24 0.000s

1 feature passed, 0 failed, 0 skipped
1 scenario passed, 0 failed, 0 skipped
3 steps passed, 0 failed, 0 skipped, 0 undefined
Took 0m1.044s

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openremote_cli-0.6.61.tar.gz (63.0 kB view details)

Uploaded Source

Built Distribution

openremote_cli-0.6.61-py3-none-any.whl (64.6 kB view details)

Uploaded Python 3

File details

Details for the file openremote_cli-0.6.61.tar.gz.

File metadata

  • Download URL: openremote_cli-0.6.61.tar.gz
  • Upload date:
  • Size: 63.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.9.16 Linux/5.15.0-1030-azure

File hashes

Hashes for openremote_cli-0.6.61.tar.gz
Algorithm Hash digest
SHA256 ee51ba51723e1372475203192723a107853fbd7b0e8d321ca5336686565b52db
MD5 96f30e4e2f6510816cce0c9c0607ef26
BLAKE2b-256 a36bc5e82cfcc3729d3bbb8a1eeeabbfc3e2bbfefa4248b7385992ab33a7027a

See more details on using hashes here.

File details

Details for the file openremote_cli-0.6.61-py3-none-any.whl.

File metadata

  • Download URL: openremote_cli-0.6.61-py3-none-any.whl
  • Upload date:
  • Size: 64.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.2 CPython/3.9.16 Linux/5.15.0-1030-azure

File hashes

Hashes for openremote_cli-0.6.61-py3-none-any.whl
Algorithm Hash digest
SHA256 90e1a5c5a3f179c5e3264e2bdcf9ee8b906ab80468a1bc9cf7d4ba6715139a9c
MD5 6cb1bc3b86529a45e4ef61d6da4debbb
BLAKE2b-256 9e88e886ad8c9418d3e6c5ad2c05118885afe808616686291b0610bcdaa19ddf

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page