Skip to main content

Lightweight TOSCA orchestrator lightweight API

Project description

xOpera API

An HTTP API interface to the opera orchestrator. Mimics CLI commands.

WIP.

Development

To begin:

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

OpenAPI base code is generated with generate.sh and is not checked in to the repository.

Other useful commands:

# openapi-generator basics
java -jar openapi-generator-cli-4.3.0.jar
java -jar openapi-generator-cli-4.3.0.jar help generate
java -jar openapi-generator-cli-4.3.0.jar validate --input-spec openapi-spec.yml --recommend
java -jar openapi-generator-cli-4.3.0.jar config-help --generator-name python-flask --full-details

Usage

With Docker:

docker-compose up --build
curl localhost:8080

With a local development installation:

./generate.sh
python3 -m venv .venv
source .venv/bin/activate
pip install wheel
pip install -r requirements.txt
cd src/
python3 -m opera.api.cli
curl localhost:8080

Building for PyPI, releases

  • Generate sources with ./generate.sh.
  • Test built packages in a Docker container.
  • Only release tags without any local changes present.
  • Manually create and upload releases onto GitHub, no automation for that.
  • Build and test before pushing tags to reduce rollbacks.
pip3 install -r requirements.txt
./generate.sh
git tag -a 1.2.3 -m 1.2.3

rm -rfv dist/
python setup.py sdist bdist_wheel

docker run -it --rm -v $(realpath ./dist/):/dist/:ro python:3.8-buster bash
    pip3 install dist/*.whl
    opera-api
    pip3 uninstall -y opera-api
    pip3 install dist/*.tar.gz
    opera-api

twine upload --repository <pypi|testpypi> dist/*
# upload to github manually

git push --tags

Project details


Download files

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

Source Distribution

opera-api-0.1.0.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opera_api-0.1.0-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file opera-api-0.1.0.tar.gz.

File metadata

  • Download URL: opera-api-0.1.0.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2

File hashes

Hashes for opera-api-0.1.0.tar.gz
Algorithm Hash digest
SHA256 c593afeede6cfb05ac96c2ae46590cdfd2295d5c705475836bc5a3c8c9817e2a
MD5 ea6a999250bbfbce8d02933777601503
BLAKE2b-256 e87b417b612c53227adcf2f5c6562752f0e96326d5c2b4aede96624563e764f8

See more details on using hashes here.

File details

Details for the file opera_api-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: opera_api-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.2

File hashes

Hashes for opera_api-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7df967eace62592a55a005e8f4042c719e42f186b30d96b543c9d23546c33a01
MD5 7a0fd5b065ed3dc2616fb9510681e98e
BLAKE2b-256 08aa2e2a25624081656197898305b7e138f8990e2909d6b879f0a66a21905b51

See more details on using hashes here.

Supported by

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