xlab-si / xopera-opera

xOpera orchestrator compliant with TOSCA YAML v1.3 in the making
https://xlab-si.github.io/xopera-docs/
Apache License 2.0
35 stars 14 forks source link

Consider dockerizing opera CLI and opera API #135

Open anzoman opened 3 years ago

anzoman commented 3 years ago

Description

The cloud native solutions along with containerized (dockerized) microservices are becoming more and more popular. Microservices nowadays usually run in the hybrid cloud environments inside Docker containers that can be orchestrated with Kubernetes, managed by RedHat OpenShift and so on.

We can join this flow too. This is currently just a proposition, but opera orchestrator or its parts could be available inside the Docker container. This would bring a lot of flexibility and would allow users to use opera better within their (cloud) apps, so they could use the orchestrator in the cloud every time they need. Thing that can currently be put in a Docker container are opera CLI and opera API. They can stand in separate container or could be joined in just one Docker image.

Steps

To realize this idea we could connect our opera GitHub repository with DockerHub (a new opera repository should be created there before that) and configure CI build that will build and push the opera Docker images to DockerHub every time that we create a new develop or production opera release (that's when we push on master branch or when a new git tag is created).

Current behaviour

Right now opera does not provide Docker images.

Expected results

To be able to use the opera TOSCA orchestrator from a Docker container.

cankarm commented 3 years ago

This is a good idea and we can proceed after more necessary things are done.

anzoman commented 3 years ago

@cankarm to inform everyone - the first step towards this has been taken with #165 within the dev.sh bash script, where a local CI Docker container can be built for the testing of Pipfile packages installation (user can run ./dev.sh integration). We also added .dockerignore file which will ignore some unnecessary files when building Docker images.

anzoman commented 2 years ago

The Dockerfile was added in 4a228a842dbf3a2e542cfabe3c647cf63b015ee6.