Skip to main content

A tool to complete TosKer application description withsuitable Docker Images

Project description

TosKeriser is a tool to complete TosKer applications with suitable Docker Images. The user can specify the software required by each component and the tool complete the specification with a suitable container to run the components.

It was first presented in > A. Brogi, D, Neri, L. Rinaldi, J. Soldani > **From (incomplete) TOSCA specifications to running applications, with Docker.* > Submitted for publication*

If you wish to reuse the tool or the sources contained in this repository, please properly cite the above mentioned paper. Below you can find the BibTex reference:

@misc{TosKeriser,
  author = {Antonio Brogi and Davide Neri and Luca Rinaldi and Jacopo Soldani},
  title = {{F}rom (incomplete) {TOSCA} specifications to running applications, with {D}ocker,
  note = {{\em [Submitted for publication]}}
}

Quick Guide

Installation

In is possible to install TosKeriser by using pip:

# pip install toskeriser

The minimum Python version supported is 2.7.

Example of usage

For instance the following application has a components called server require a set of software (node>=6.2, ruby>2 and any version of wget) and Alpine as Linux distribution.

...
server:
  type: tosker.nodes.Software
  requirements:
  - host:
     node_filter:
       properties:
       - supported_sw:
         - node: 6.2.x
         - ruby: 2.x
         - wget: x
       - os_distribution: alpine
  ...

After run TosKeriser on this specification, it creates the component server_container and connects the server component to it. It is possible to see that the server_container has all the software required by server and has also Alpine v3.4 as Linux distribution.

...
server:
  type: tosker.nodes.Software
  requirements:
  - host:
     node_filter:
       properties:
       - supported_sw:
         - node: 6.2.x
         - ruby: 2.x
         - wget: x
       - os_distribution: alpine
       node: server_container
  ...

server_container:
     type: tosker.nodes.Container
     properties:
       supported_sw:
         node: 6.2.0
         ash: 1.24.2
         wget: 1.24.2
         tar: 1.24.2
         bash: 4.3.42
         ruby: 2.3.1
         httpd: 1.24.2
         npm: 3.8.9
         git: 2.8.3
         erl: '2'
         unzip: 1.24.2
       os_distribution: Alpine Linux v3.4
     artifacts:
       my_image:
         file: jekyll/jekyll:3.1.6
         type: tosker.artifacts.Image
         repository: docker_hub

More examples can be found in the data/examples folder.

Usage guide

toskerise FILE [COMPONENT..] [OPTIONS]
toskerise --help|-h
toskerise --version|-v

FILE
  TOSCA YAML file or a CSAR to be completed

COMPONENT
  a list of component to be completed (by default all component are considered)

OPTIONS
  --debug                              active debug mode
  -q|--quiet                           active quiet mode
  -i|--interactive                     active interactive mode
  -f|--force                           force the update of all containers
  --constraints=value                  constraint to give to DockerFinder
                                       (e.g. --constraints 'size<=100MB pulls>30 stars>10')
  --policy=top_rated|size|most_used    ordering of the images

License

MIT license

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

TosKeriser-0.2.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

TosKeriser-0.2.0-py2.py3-none-any.whl (22.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file TosKeriser-0.2.0.tar.gz.

File metadata

  • Download URL: TosKeriser-0.2.0.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for TosKeriser-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a902f63c6cea09b90b7cb86bceb418cb220a0899006c2282d67632aabef15930
MD5 58939e9da4d21682e7139c90e1a5cc82
BLAKE2b-256 6c5bc5f8b397ac4b3c9c35402882e4640f4acd57f166cac8ff3cd6539d43b7d1

See more details on using hashes here.

File details

Details for the file TosKeriser-0.2.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for TosKeriser-0.2.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9beae5ef6578d521b1f47fde6b482e261eefa391ac8b9a5b47d3ce640e295e65
MD5 0ab8797e9bce9fdad18f326ebaf2deb0
BLAKE2b-256 7acbbbb420b203221819af09bb750c2ebc8c5ebca933562acb9a52dae0b3e278

See more details on using hashes here.

Supported by

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