The document does not specify quality assignments at this stage.
Quick Tip #1
Elements in graphs can be clicked to open their type definition!
Quick Tip #2
You can query technology rules for your deployment scenario using vintner utils scenarios!
This document specifies the deployment technology rules.
The specification is under active development and is not backwards compatible with any previous versions.
Ansible is an automation tool primarily used for configuration management, application deployment, and task automation. It allows system administrators and DevOps teams to manage software on servers using SSH, without the need for agents on target nodes. Ansible uses simple, human-readable YAML files called playbooks to define tasks and configurations, enabling consistent management of IT environments across multiple servers.
Find out more.
Terraform is an infrastructure as code (IaC) tool that allows users to define, provision, and manage cloud infrastructure in a consistent, automated, and reproducible way. Using a declarative configuration language called HashiCorp Configuration Language (HCL), Terraform enables users to define infrastructure components such as virtual machines, networks, and storage in human-readable configuration files. It supports a wide range of cloud providers, including AWS, Azure, Google Cloud, and many others, allowing for seamless multi-cloud management. By applying these configurations, Terraform creates and manages the defined resources through APIs.
Find out more.
Kubernetes is a system for automating the deployment, scaling, and management of containerized applications, offering production-grade container orchestration. It provides a platform for running and managing applications in clusters of servers, ensuring high availability, scalability, and efficient resource utilization. Kubernetes allows users to define the desired state of their applications using declarative manifests, which specify the configuration, deployment, and management of containerized workloads. By continuously monitoring and adjusting the cluster to match these desired states, Kubernetes simplifies the application deployment process, supports automated rollouts and rollbacks, and ensures the self-healing of applications.
Find out more.
Docker Compose is a tool that enables the definition and running of multi-container applications on a Docker Engine, using a single YAML configuration file. It allows the management of services, networks, and volumes, in a declarative manner. Compose is particularly suited for single-host deployments, providing a consistent environment across various stages of the application lifecycle. However, it is limited to working within the Docker ecosystem.
Find out more.
The following scenarios deploy a node template of node type docker.engine with various hosting stacks, artifacts, deployment technologies, and qualities.
In this scenario, the node template "component" of node type docker.engine is deployed.
The node template is hosted on the node template "host 1" of node type local.machine.
In this scenario, the node template "component" of node type docker.engine is deployed.
The node template is hosted on the node template "host 1" of node type remote.machine.
The following scenarios deploy a node template of node type gcp.service with various hosting stacks, artifacts, deployment technologies, and qualities.
In this scenario, the node template "component" of node type ingress is deployed.
The node template is hosted on the node template "host 1" of node type kubernetes.cluster.
In this scenario, the node template "component" of node type ingress is deployed.
The node template is hosted on the node template "host 1" of node type local.machine.
In this scenario, the node template "component" of node type ingress is deployed.
The node template is hosted on the node template "host 1" of node type remote.machine.
The following scenarios deploy a node template of node type mysql.database with various hosting stacks, artifacts, deployment technologies, and qualities.
In this scenario, the node template "component" of node type mysql.database is deployed.
The node template is hosted on the node template "host 1" of node type mysql.dbms, which is hosted on the node template "host 2" of node type docker.engine, which is hosted on the node template "host 3" of node type local.machine.
In this scenario, the node template "component" of node type mysql.database is deployed.
The node template is hosted on the node template "host 1" of node type mysql.dbms, which is hosted on the node template "host 2" of node type docker.engine, which is hosted on the node template "host 3" of node type remote.machine.
In this scenario, the node template "component" of node type mysql.database is deployed.
The node template is hosted on the node template "host 1" of node type mysql.dbms, which is hosted on the node template "host 2" of node type gcp.cloudsql.
In this scenario, the node template "component" of node type mysql.database is deployed.
The node template is hosted on the node template "host 1" of node type mysql.dbms, which is hosted on the node template "host 2" of node type kubernetes.cluster.
In this scenario, the node template "component" of node type mysql.database is deployed.
The node template is hosted on the node template "host 1" of node type mysql.dbms, which is hosted on the node template "host 2" of node type local.machine.
In this scenario, the node template "component" of node type mysql.database is deployed.
The node template is hosted on the node template "host 1" of node type mysql.dbms, which is hosted on the node template "host 2" of node type remote.machine.
In this scenario, the node template "component" of node type mysql.dbms is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type dbms.image.
The node template is hosted on the node template "host 1" of node type docker.engine, which is hosted on the node template "host 2" of node type local.machine.
In this scenario, the node template "component" of node type mysql.dbms is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type dbms.image.
The node template is hosted on the node template "host 1" of node type docker.engine, which is hosted on the node template "host 2" of node type remote.machine.
In this scenario, the node template "component" of node type mysql.dbms is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type dbms.image.
The node template is hosted on the node template "host 1" of node type gcp.cloudsql.
In this scenario, the node template "component" of node type mysql.dbms is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type dbms.image.
The node template is hosted on the node template "host 1" of node type kubernetes.cluster.
In this scenario, the node template "component" of node type mysql.dbms is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type dbms.image.
The node template is hosted on the node template "host 1" of node type local.machine.
In this scenario, the node template "component" of node type mysql.dbms is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type dbms.image.
The node template is hosted on the node template "host 1" of node type remote.machine.
The following scenarios deploy a node template of node type object.storage with various hosting stacks, artifacts, deployment technologies, and qualities.
In this scenario, the node template "component" of node type object.storage is deployed.
The node template is hosted on the node template "host 1" of node type gcp.cloudstorage.
In this scenario, the node template "component" of node type object.storage is deployed.
The node template is hosted on the node template "host 1" of node type minio.server, which is hosted on the node template "host 2" of node type docker.engine, which is hosted on the node template "host 3" of node type local.machine.
In this scenario, the node template "component" of node type object.storage is deployed.
The node template is hosted on the node template "host 1" of node type minio.server, which is hosted on the node template "host 2" of node type docker.engine, which is hosted on the node template "host 3" of node type remote.machine.
In this scenario, the node template "component" of node type object.storage is deployed.
The node template is hosted on the node template "host 1" of node type minio.server, which is hosted on the node template "host 2" of node type kubernetes.cluster.
The following scenarios deploy a node template of node type redis.server with various hosting stacks, artifacts, deployment technologies, and qualities.
In this scenario, the node template "component" of node type redis.server is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type cache.image.
The node template is hosted on the node template "host 1" of node type docker.engine, which is hosted on the node template "host 2" of node type local.machine.
In this scenario, the node template "component" of node type redis.server is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type cache.image.
The node template is hosted on the node template "host 1" of node type docker.engine, which is hosted on the node template "host 2" of node type remote.machine.
In this scenario, the node template "component" of node type redis.server is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type cache.image.
The node template is hosted on the node template "host 1" of node type gcp.memorystore.
In this scenario, the node template "component" of node type redis.server is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type cache.image.
The node template is hosted on the node template "host 1" of node type kubernetes.cluster.
The following scenarios deploy a node template of node type service.application with various hosting stacks, artifacts, deployment technologies, and qualities.
In this scenario, the node template "component" of node type service.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type docker.image.
The node template is hosted on the node template "host 1" of node type docker.engine, which is hosted on the node template "host 2" of node type local.machine.
In this scenario, the node template "component" of node type service.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type docker.image.
The node template is hosted on the node template "host 1" of node type docker.engine, which is hosted on the node template "host 2" of node type remote.machine.
In this scenario, the node template "component" of node type service.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type docker.image.
The node template is hosted on the node template "host 1" of node type gcp.cloudrun.
In this scenario, the node template "component" of node type service.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type docker.image.
The node template is hosted on the node template "host 1" of node type kubernetes.cluster.
In this scenario, the node template "component" of node type service.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type tar.archive.
The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type local.machine.
In this scenario, the node template "component" of node type service.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type tar.archive.
The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type remote.machine.
In this scenario, the node template "component" of node type service.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type zip.archive.
The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type local.machine.
In this scenario, the node template "component" of node type service.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type zip.archive.
The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type remote.machine.
In this scenario, the node template "component" of node type service.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type zip.archive.
The node template is hosted on the node template "host 1" of node type gcp.appengine.
The following scenarios deploy a node template of node type software.application with various hosting stacks, artifacts, deployment technologies, and qualities.
In this scenario, the node template "component" of node type software.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type apt.package.
The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type local.machine.
In this scenario, the node template "component" of node type software.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type apt.package.
The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type remote.machine.
In this scenario, the node template "component" of node type software.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type tar.archive.
The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type local.machine.
In this scenario, the node template "component" of node type software.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type tar.archive.
The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type remote.machine.
In this scenario, the node template "component" of node type software.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type zip.archive.
The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type local.machine.
In this scenario, the node template "component" of node type software.application is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type zip.archive.
The node template is hosted on an arbitrary hosting stack of arbitrary length, which is hosted on the node template "host 2" of node type remote.machine.
The following scenarios deploy a node template of node type virtual.machine with various hosting stacks, artifacts, deployment technologies, and qualities.
In this scenario, the node template "component" of node type virtual.machine is deployed.
This node template is implemented by its deployment artifact "artifact" of artifact type machine.image.
The node template is hosted on the node template "host 1" of node type openstack.provider.
We provide a reference implementation for this specification as part of OpenTOSCA Vintner.
OpenTOSCA Vintner is a TOSCA preprocessing and management layer.
The project is open-source, licensed under Apache-2.0, and publicly available at GitHub.
Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its
Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including,
without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work
and assume any risks associated with Your exercise of permissions under this License.