Sign inSign up

openremote/openremote-cli

By openremote

Updated over 4 years ago

Docker image for openremote-cli tool.

Image
0

10K+

openremote/openremote-cli repository overview

CI/CD Open Source? Yes!

Docker CLI usage

# See version
docker run --rm -ti openremote/openremote-cli -V

# Deploy on local machine
docker run --rm -ti openremote/openremote-cli deploy

# Deploy on AWS
docker run --rm -ti -v ~/.aws:/root/.aws openremote/openremote-cli deploy --provider aws -v --dnsname test.mvp.openremote.io

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
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
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
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

Tag summary

Content type

Image

Digest

Size

281.5 MB

Last updated

over 4 years ago

docker pull openremote/openremote-cli