BigBoat docker dashboard API


Keywords
docker, dashboard, bigboat, api
License
Apache-2.0
Install
pip install bigboat==0.2.10

Documentation

BigBoat docker dashboard Python API

PyPI Build status Coverage Status Quality Gate Status

Python wrapper library for the BigBoat API. This API can create, retrieve, update and delete application definitions, do similar operations for instances and poll for status.

Support for v2 and the deprecated v1 APIs (limited to certain operations) is included. Note that BigBoat development itself has halted.

Requirements

The BigBoat Python API has been tested to work on Python 3.8+. The API has few dependencies; see requirements.txt for the list of installation requirements. The short list is also repeated here:

Installation

Install the latest version from PyPI using:

pip install bigboat

Functionality

First, import the library:

import bigboat

Next, determine the URL of your BigBoat instance. In this example we use http://BIG_BOAT. Also check whether to use the v1 or v2 version of the API. v1 is limited (deprecated in newer versions) and v2 requires an API key. Example:

api = bigboat.Client_v2('http://BIG_BOAT', 'MY_API_KEY')

You can then use various methods on the client API, namely:

  • api.apps(): List of Applications
  • api.get_app(name, version): Retrieve a specific Application
  • api.update_app(name, version): Register an Application
  • api.delete_app(name, version): Delete an Application
  • api.instances(): List of Instances
  • api.get_instance(): Retrieve a specific Instance
  • api.update_instance(name, app_name, version, ...): Start an Instance
  • api.delete_instance(name): Stop an Instance

In addition to the common methods, v2 has the following API methods:

  • api.get_compose(name, version, file_name): Retrieve a docker compose or bigboat compose file for an Application
  • api.update_compose(name, version, file_name, content): Update a docker compose or bigboat compose file for an Application
  • api.statuses(): Retrieve a list of status dictionaries

Development

  • GitHub Actions is used to run unit tests and report on coverage for commits and pull requests.
  • SonarCloud performs quality gate scans and tracks them.
  • Coveralls receives coverage reports and tracks them.
  • You can perform local lint checks, typing checks, tests and coverage during development with make pylint, make mypy, make test and make coverage, respectively, after installing dependencies from analysis-requirements.txt (for the pylint and mypy recipes) and test-requirements.txt (necessary to let all recipes for checks function correctly).
  • We publish releases to PyPI using make release which performs multiple checks: version number consistency, lint, typing and unit tests.

License

The API wrapper library is licensed under the Apache 2.0 License.

References