TOSCA YAML parser for xOpera orchestrator.
xOpera TOSCA parser aims to be a lightweight parser component compliant with OASIS TOSCA. The current compliance is with the TOSCA Simple Profile in YAML v1.3.
We are also testing experimental support for TOSCA Version 2.0, which will become the main version after TOSCA 2.0 is released.
opera-tosca-parser
requires Python 3 and a virtual environment.
In a typical modern Linux environment, we should already be set.
In Ubuntu, however, we might need to run the following commands:
$ sudo apt update
$ sudo apt install -y python3-venv python3-wheel python-wheel-common
The orchestration tool is available on PyPI as a package named opera-tosca-parser. Apart from the latest PyPI production version, you can also find the latest PyPI development version, which includes pre-releases so that you will be able to test the latest features before they are officially released.
The simplest way to test opera-tosca-parser
is to install it into Python virtual environment:
$ python3 -m venv .venv && . .venv/bin/activate
(.venv) $ pip install opera-tosca-parser
To test if everything is working as expected, you can clone xopera-examples GitHub repository and try to parse a
simple hello-world example with the opera-tosca-parser
CLI tool that comes along with the TOSCA parser:
(.venv) $ git clone git@github.com:xlab-si/xopera-examples.git
(.venv) $ cd xopera-examples/misc/hello-world
(.venv) $ opera-tosca-parser parse service.yaml
Parsing service template...
Done.
And that is it.
The opera
orchestrator is available in xopera-opera repository.
For more startup examples please visit xopera-examples repository.
If you want to use opera commands from an API take a look at xopera-api repository.
You can also take a look at the xOpera SaaS component, which is designed for business partners and enterprise users.
To find more about xOpera project visit our xOpera documentation.
This work is licensed under the Apache License 2.0.
You can contact the xOpera team by sending an email to xopera@xlab.si.
Some work from this project has received funding from the European Union’s Horizon 2020 research and innovation programme under Grant Agreements No. 825040 (RADON), No. 825480 (SODALITE) and No. 101000162 (PIACERE).