Commit 1b7baef7 authored by Spiros Koulouzis's avatar Spiros Koulouzis

added example messages and build 'running' state workflow for depolyer

parent 7b58dce3
......@@ -21,36 +21,37 @@ class AnsibleService:
self.semaphore_base_url = semaphore_base_url
self.semaphore_username = semaphore_username
self.semaphore_password = semaphore_password
self.semaphore_helper = SemaphoreHelper(self.semaphore_base_url, self.semaphore_username, self.semaphore_password)
def execute(self,nodes_pair,operation):
def execute(self,nodes_pair):
vms = nodes_pair[0]
orchestartor = nodes_pair[1]
desired_state = None
interfaces = orchestartor.node_template.interfaces
for interface in interfaces:
if interface == 'Standard':
if 'current_state' in orchestartor.attributes:
current_state = orchestartor.attributes['current_state']
if 'desired_state' in orchestartor.attributes:
desired_state = orchestartor.attributes['desired_state']
if desired_state:
project_id = self.semaphore_helper.create_project(orchestartor.name)
inventory_contents = self.build_yml_inventory(vms)
private_key = self.get_private_key(vms)
key_id = self.semaphore_helper.create_ssh_key(orchestartor.name, project_id, private_key)
inventory_id = self.semaphore_helper.create_inventory(orchestartor.name, project_id, key_id,inventory_contents)
if 'RUNNING' == desired_state:
standard = interfaces['Standard']
create = standard['create']
inputs = create['inputs']
git_url = inputs['repository']
playbook_name = inputs['playbook']
# repository_id = self.semaphore_helper.create_repository(orchestartor.name, project_id, key_id, git_url)
# template_id = self.semaphore_helper.create_template(project_id, key_id, inventory_id, repository_id, playbook_name)
# task_id = self.semaphore_helper.execute_task(project_id, template_id, playbook_name)
git_url = 'https://github.com/skoulouzis/playbooks.git'
private_key = '-----BEGIN RSA PRIVATE KEY-----6qFrczm3VYELw0Flw06Cf2Bza8rAVFnFqWpZJHLh7LFMt/U5ocn4df45NrE4UXo+hGoK7xWb/A' \
'zudkwDkSexIAUHx/yPsHXK0gIxGtpsAXzV+7Y+5bI4gsN+WAJgOASFi6YHJU1YuAkLkPk5Gqb5UGZn7DoS9cGFQKvLCxBQIDAQABAoIBA' \
'GXPM7ugfC-----END RSA PRIVATE KEY-----'
path = self.get_path('inventory.yaml')
with open(path, 'r') as stream:
data = yaml.load(stream)
inventory_contents = yaml.dump(data)
playbook_name = 'k8s_install.yml'
semaphore_helper = SemaphoreHelper(self.semaphore_base_url,self.semaphore_username,self.semaphore_password)
project_id = semaphore_helper.create_project(orchestartor.name)
key_id = semaphore_helper.create_ssh_key(orchestartor.name,project_id,private_key)
inventory_id = semaphore_helper.create_inventory(orchestartor.name, project_id, key_id, inventory_contents)
repository_id = semaphore_helper.create_repository(orchestartor.name,project_id,key_id,git_url)
template_id = semaphore_helper.create_template(project_id,key_id,inventory_id,repository_id,playbook_name)
task_id = semaphore_helper.execute_task(project_id, template_id, playbook_name)
pass
def get_path(self,file_name):
......
......@@ -34,10 +34,10 @@ class TestDeployer(unittest.TestCase):
def test(self):
logger = logging.getLogger(__name__)
tosca_path = "../../example_messages/"
input_tosca_file_path = tosca_path + '/message_provision_response.json'
input_tosca_file_path = tosca_path + '/message_deploy_request.json'
if not os.path.exists(input_tosca_file_path):
tosca_path = "../example_messages/"
input_tosca_file_path = tosca_path + '/message_provision_response.json'
input_tosca_file_path = tosca_path + '/message_deploy_request.json'
with open(input_tosca_file_path, 'r') as stream:
parsed_json_message = json.load(stream)
......
......@@ -38,36 +38,6 @@ services:
depends_on:
- mysql
#polemarch:
#image: vstconsulting/polemarch
#environment:
#POLEMARCH_DB_TYPE: mysql
#POLEMARCH_DB_NAME: project-db
#POLEMARCH_DB_USER: project-user
#POLEMARCH_DB_PASSWORD: project-pas
#POLEMARCH_DB_PORT: 3306
#POLEMARCH_DB_HOST: mysql
#DB_INIT_CMD: "SET sql_mode='STRICT_TRANS_TABLES', default_storage_engine=INNODB, NAMES 'utf8', CHARACTER SET 'utf8', SESSION collation_connection = 'utf8_unicode_ci'"
#CACHE_LOCATION: 'redis://redis:6379/0'
#RPC_ENGINE: 'redis://redis:6379/1'
#RPC_CONCURRENCY: 15
#POLEMARCH_LOG_LEVEL: DEBUG
#POLEMARCH_DEBUG: 'true'
#TIMEZONE: 'Asia/Vladivostok'
#ports:
#- "30001:8080"
#redis:
#image: "redis:alpine"
#mysql:
#image: "mysql:5.7"
#environment:
#MYSQL_USER: project-user
#MYSQL_PASSWORD: project-pas
#MYSQL_DATABASE: project-db
#MYSQL_ROOT_PASSWORD: project-root
logspout:
ports:
......@@ -86,40 +56,40 @@ services:
- "27017:27017"
#manager:
#depends_on:
#- rabbit
#- mongo
#- sure-tosca
#image: manager:3.0.0
#environment:
#RABBITMQ_HOST: rabbit
#MONGO_HOST: mongo
#SURE_TOSCA_BASE_PATH: http://sure-tosca:8081/tosca-sure/1.0.0
#ports:
#- "30000:8080"
manager:
depends_on:
- rabbit
- mongo
- sure-tosca
image: manager:3.0.0
environment:
RABBITMQ_HOST: rabbit
MONGO_HOST: mongo
SURE_TOSCA_BASE_PATH: http://sure-tosca:8081/tosca-sure/1.0.0
ports:
- "30000:8080"
sure-tosca:
image: sure-tosca:3.0.0
ports:
- "8081:8081"
#planner:
#depends_on:
#- rabbit
#- sure-tosca
#image: planner:3.0.0
#environment:
#RABBITMQ_HOST: rabbit
planner:
depends_on:
- rabbit
- sure-tosca
image: planner:3.0.0
environment:
RABBITMQ_HOST: rabbit
#provisioner:
#depends_on:
#- rabbit
#- sure-tosca
#image: provisioner:3.0.0
#environment:
#RABBITMQ_HOST: rabbit
#SURE_TOSCA_BASE_PATH: http://sure-tosca:8081/tosca-sure/1.0.0
provisioner:
depends_on:
- rabbit
- sure-tosca
image: provisioner:3.0.0
environment:
RABBITMQ_HOST: rabbit
SURE_TOSCA_BASE_PATH: http://sure-tosca:8081/tosca-sure/1.0.0
#deployer:
#depends_on:
......
This diff is collapsed.
{"owner":"user","creationDate":1585323740913,"toscaTemplate":{"tosca_definitions_version":"tosca_simple_yaml_1_0","tosca_default_namespace":null,"template_name":null,"topology_template":{"description":null,"inputs":null,"node_templates":{"ws-pema":{"properties":{"ports":["30001:8080"]},"type":"tosca.nodes.ARTICONF.Container.Application.Docker","artifacts":{"image":{"type":"tosca.artifacts.Deployment.Image.Container.Docker","file":"alogo53/ws-pema-lifewatch","repository":"docker_hub"}}}},"relationship_templates":null,"outputs":null,"groups":null,"substitution_mappings":null,"policies":null},"template_author":null,"template_version":null,"description":"TOSCA example\n","imports":[{"nodes":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"},{"data":"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"},{"capabilities":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"},{"policies":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"},{"interfaces":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"}],"dsl_definitions":null,"node_types":null,"relationship_types":null,"relationship_templates":null,"capability_types":null,"artifact_types":null,"data_types":null,"interface_types":null,"policy_types":null,"group_types":null,"repositories":{"docker_hub":"https://hub.docker.com/"}}}
{"owner":"user","creationDate":1585660820879,"toscaTemplate":{"tosca_definitions_version":"tosca_simple_yaml_1_0","tosca_default_namespace":null,"template_name":null,"topology_template":{"description":null,"inputs":null,"node_templates":{"ws-pema":{"properties":{"ports":["30001:8080"]},"type":"tosca.nodes.ARTICONF.Container.Application.Docker","artifacts":{"image":{"type":"tosca.artifacts.Deployment.Image.Container.Docker","file":"alogo53/ws-pema-lifewatch","repository":"docker_hub"}}}},"relationship_templates":null,"outputs":null,"groups":null,"substitution_mappings":null,"policies":null},"template_author":null,"template_version":null,"description":"TOSCA example\n","imports":[{"nodes":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"},{"data":"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"},{"capabilities":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"},{"policies":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"},{"interfaces":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"}],"dsl_definitions":null,"node_types":null,"relationship_types":null,"relationship_templates":null,"capability_types":null,"artifact_types":null,"data_types":null,"interface_types":null,"policy_types":null,"group_types":null,"repositories":{"docker_hub":"https://hub.docker.com/"}}}
{"toscaTemplate": {"description": "TOSCA example", "imports": [{"nodes": "https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"}, {"data": "https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"}, {"capabilities": "https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"}, {"policies": "https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"}, {"interfaces": "https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"}], "tosca_definitions_version": "tosca_simple_yaml_1_0", "topology_template": {"node_templates": {"compute": {"interfaces": {"Standard": {"create": "dumy.yaml"}}, "properties": {"disk_size": "10000 MB", "mem_size": "1000 MB", "num_cores": 1, "os": "Ubuntu 18.04", "user_name": "vm_user"}, "type": "tosca.nodes.ARTICONF.VM.Compute"}, "compute_1": {"interfaces": {"Standard": {"create": "dumy.yaml"}}, "properties": {"disk_size": "10000 MB", "mem_size": "1000 MB", "num_cores": 1, "os": "Ubuntu 18.04", "user_name": "vm_user"}, "type": "tosca.nodes.ARTICONF.VM.Compute"}, "kubernetes": {"interfaces": {"Standard": {"configure": {"inputs": {"playbook": "https://raw.githubusercontent.com/skoulouzis/CONF/develop/ansible_playbooks/k8s_dashboard.yaml"}}, "create": {"inputs": {"playbook": "https://raw.githubusercontent.com/skoulouzis/CONF/develop/ansible_playbooks/k8s_install.yml"}}, "delete": {"inputs": {"playbook": "https://raw.githubusercontent.com/skoulouzis/CONF/develop/ansible_playbooks/k8s_delete.yaml"}}}}, "requirements": [{"host": {"capability": "tosca.capabilities.ARTICONF.VM.topology", "node": "topology", "relationship": "tosca.relationships.HostedOn"}}], "type": "tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"}, "topology": {"artifacts": {"provisioned_files": {"required": false, "type": "string"}}, "interfaces": {"CloudsStorm": {"delete": {"inputs": {"code_type": "SEQ", "object_type": "SubTopology"}}, "hscale": {"inputs": {"code_type": "SEQ", "object_type": "SubTopology"}}, "provision": {"inputs": {"code_type": "SEQ", "object_type": "SubTopology"}}, "start": {"inputs": {"code_type": "SEQ", "object_type": "SubTopology"}}, "stop": {"inputs": {"code_type": "SEQ", "object_type": "SubTopology"}}}}, "properties": {"domain": "Frankfurt", "provider": "EC2"}, "requirements": [{"vm": {"capability": "tosca.capabilities.ARTICONF.VM", "node": "compute", "relationship": "tosca.relationships.DependsOn"}}, {"vm": {"capability": "tosca.capabilities.ARTICONF.VM", "node": "compute_1", "relationship": "tosca.relationships.DependsOn"}}], "type": "tosca.nodes.ARTICONF.VM.topology"}, "ws-pema": {"artifacts": {"image": {"file": "alogo53/ws-pema-lifewatch", "repository": "docker_hub", "type": "tosca.artifacts.Deployment.Image.Container.Docker"}}, "properties": {"ports": ["30001:8080"]}, "requirements": [{"host": {"capability": "tosca.capabilities.ARTICONF.docker.Orchestrator", "node": "kubernetes", "relationship": "tosca.relationships.HostedOn"}}], "type": "tosca.nodes.ARTICONF.Container.Application.Docker"}}}}, "creationDate": 1585325490086}
{"toscaTemplate": {"description": "TOSCA example", "imports": [{"nodes": "https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"}, {"data": "https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"}, {"capabilities": "https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"}, {"policies": "https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"}, {"interfaces": "https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"}], "tosca_definitions_version": "tosca_simple_yaml_1_0", "topology_template": {"node_templates": {"compute": {"interfaces": {"Standard": {"create": "dumy.yaml"}}, "properties": {"disk_size": "10000 MB", "mem_size": "1000 MB", "num_cores": 1, "os": "Ubuntu 18.04", "user_name": "vm_user"}, "type": "tosca.nodes.ARTICONF.VM.Compute"}, "compute_1": {"interfaces": {"Standard": {"create": "dumy.yaml"}}, "properties": {"disk_size": "10000 MB", "mem_size": "1000 MB", "num_cores": 1, "os": "Ubuntu 18.04", "user_name": "vm_user"}, "type": "tosca.nodes.ARTICONF.VM.Compute"}, "kubernetes": {"interfaces": {"Standard": {"configure": {"inputs": {"playbook": "k8s_dashboard.yaml", "repository": "https://github.com/skoulouzis/playbooks.git"}}, "create": {"inputs": {"playbook": "k8s_install.yml", "repository": "https://github.com/skoulouzis/playbooks.git"}}, "delete": {"inputs": {"playbook": "k8s_delete.yaml", "repository": "https://github.com/skoulouzis/playbooks.git"}}}}, "requirements": [{"host": {"capability": "tosca.capabilities.ARTICONF.VM.topology", "node": "topology", "relationship": "tosca.relationships.HostedOn"}}], "type": "tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"}, "topology": {"artifacts": {"provisioned_files": {"required": false, "type": "string"}}, "interfaces": {"CloudsStorm": {"delete": {"inputs": {"code_type": "SEQ", "object_type": "SubTopology"}}, "hscale": {"inputs": {"code_type": "SEQ", "object_type": "SubTopology"}}, "provision": {"inputs": {"code_type": "SEQ", "object_type": "SubTopology"}}, "start": {"inputs": {"code_type": "SEQ", "object_type": "SubTopology"}}, "stop": {"inputs": {"code_type": "SEQ", "object_type": "SubTopology"}}}}, "properties": {"domain": "Frankfurt", "provider": "EC2"}, "requirements": [{"vm": {"capability": "tosca.capabilities.ARTICONF.VM", "node": "compute", "relationship": "tosca.relationships.DependsOn"}}, {"vm": {"capability": "tosca.capabilities.ARTICONF.VM", "node": "compute_1", "relationship": "tosca.relationships.DependsOn"}}], "type": "tosca.nodes.ARTICONF.VM.topology"}, "ws-pema": {"artifacts": {"image": {"file": "alogo53/ws-pema-lifewatch", "repository": "docker_hub", "type": "tosca.artifacts.Deployment.Image.Container.Docker"}}, "properties": {"ports": ["30001:8080"]}, "requirements": [{"host": {"capability": "tosca.capabilities.ARTICONF.docker.Orchestrator", "node": "kubernetes", "relationship": "tosca.relationships.HostedOn"}}], "type": "tosca.nodes.ARTICONF.Container.Application.Docker"}}}}, "creationDate": 1585660828105}
{"owner":"user","creationDate":1585325797006,"toscaTemplate":{"tosca_definitions_version":"tosca_simple_yaml_1_0","tosca_default_namespace":null,"template_name":null,"topology_template":{"description":null,"inputs":null,"node_templates":{"compute":{"properties":{"disk_size":"10000 MB","mem_size":"1000 MB","num_cores":1,"os":"Ubuntu 18.04","user_name":"vm_user"},"interfaces":{"Standard":{"create":"dumy.yaml"}},"type":"tosca.nodes.ARTICONF.VM.Compute"},"compute_1":{"properties":{"disk_size":"10000 MB","mem_size":"1000 MB","num_cores":1,"os":"Ubuntu 18.04","user_name":"vm_user"},"interfaces":{"Standard":{"create":"dumy.yaml"}},"type":"tosca.nodes.ARTICONF.VM.Compute"},"kubernetes":{"requirements":[{"host":{"capability":"tosca.capabilities.ARTICONF.VM.topology","node":"topology","relationship":"tosca.relationships.HostedOn"}}],"interfaces":{"Standard":{"configure":{"inputs":{"playbook":"https://raw.githubusercontent.com/skoulouzis/CONF/develop/ansible_playbooks/k8s_dashboard.yaml"}},"create":{"inputs":{"playbook":"https://raw.githubusercontent.com/skoulouzis/CONF/develop/ansible_playbooks/k8s_install.yml"}},"delete":{"inputs":{"playbook":"https://raw.githubusercontent.com/skoulouzis/CONF/develop/ansible_playbooks/k8s_delete.yaml"}}}},"type":"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"},"topology":{"properties":{"domain":"Frankfurt","provider":"EC2"},"requirements":[{"vm":{"capability":"tosca.capabilities.ARTICONF.VM","node":"compute","relationship":"tosca.relationships.DependsOn"}},{"vm":{"capability":"tosca.capabilities.ARTICONF.VM","node":"compute_1","relationship":"tosca.relationships.DependsOn"}}],"interfaces":{"CloudsStorm":{"delete":{"inputs":{"code_type":"SEQ","object_type":"SubTopology"}},"hscale":{"inputs":{"code_type":"SEQ","object_type":"SubTopology"}},"provision":{"inputs":{"code_type":"SEQ","object_type":"SubTopology"}},"start":{"inputs":{"code_type":"SEQ","object_type":"SubTopology"}},"stop":{"inputs":{"code_type":"SEQ","object_type":"SubTopology"}}}},"type":"tosca.nodes.ARTICONF.VM.topology","attributes":{"credential":{"cloud_provider_name":"EC2","keys":{"aws_access_key_id":"XXXXXXXXXXXXXXXX"},"token":"XXXXXXXXXXXXX","token_type":"access_key"},"desired_state":"RUNNING"},"artifacts":{"provisioned_files":{"required":false,"type":"string"}}},"ws-pema":{"properties":{"ports":["30001:8080"]},"requirements":[{"host":{"capability":"tosca.capabilities.ARTICONF.docker.Orchestrator","node":"kubernetes","relationship":"tosca.relationships.HostedOn"}}],"type":"tosca.nodes.ARTICONF.Container.Application.Docker","artifacts":{"image":{"file":"alogo53/ws-pema-lifewatch","repository":"docker_hub","type":"tosca.artifacts.Deployment.Image.Container.Docker"}}}},"relationship_templates":null,"outputs":null,"groups":null,"substitution_mappings":null,"policies":null},"template_author":null,"template_version":null,"description":"TOSCA example","imports":[{"nodes":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"},{"data":"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"},{"capabilities":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"},{"policies":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"},{"interfaces":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"}],"dsl_definitions":null,"node_types":null,"relationship_types":null,"relationship_templates":null,"capability_types":null,"artifact_types":null,"data_types":null,"interface_types":null,"policy_types":null,"group_types":null,"repositories":null}
{"owner":"user","creationDate":1585660972026,"toscaTemplate":{"tosca_definitions_version":"tosca_simple_yaml_1_0","tosca_default_namespace":null,"template_name":null,"topology_template":{"description":null,"inputs":null,"node_templates":{"compute":{"properties":{"disk_size":"10000 MB","mem_size":"1000 MB","num_cores":1,"os":"Ubuntu 18.04","user_name":"vm_user"},"interfaces":{"Standard":{"create":"dumy.yaml"}},"type":"tosca.nodes.ARTICONF.VM.Compute"},"compute_1":{"properties":{"disk_size":"10000 MB","mem_size":"1000 MB","num_cores":1,"os":"Ubuntu 18.04","user_name":"vm_user"},"interfaces":{"Standard":{"create":"dumy.yaml"}},"type":"tosca.nodes.ARTICONF.VM.Compute"},"kubernetes":{"requirements":[{"host":{"capability":"tosca.capabilities.ARTICONF.VM.topology","node":"topology","relationship":"tosca.relationships.HostedOn"}}],"interfaces":{"Standard":{"configure":{"inputs":{"playbook":"k8s_dashboard.yaml","repository":"https://github.com/skoulouzis/playbooks.git"}},"create":{"inputs":{"playbook":"k8s_install.yml","repository":"https://github.com/skoulouzis/playbooks.git"}},"delete":{"inputs":{"playbook":"k8s_delete.yaml","repository":"https://github.com/skoulouzis/playbooks.git"}}}},"type":"tosca.nodes.ARTICONF.docker.Orchestrator.Kubernetes"},"topology":{"properties":{"domain":"Frankfurt","provider":"EC2"},"requirements":[{"vm":{"capability":"tosca.capabilities.ARTICONF.VM","node":"compute","relationship":"tosca.relationships.DependsOn"}},{"vm":{"capability":"tosca.capabilities.ARTICONF.VM","node":"compute_1","relationship":"tosca.relationships.DependsOn"}}],"interfaces":{"CloudsStorm":{"delete":{"inputs":{"code_type":"SEQ","object_type":"SubTopology"}},"hscale":{"inputs":{"code_type":"SEQ","object_type":"SubTopology"}},"provision":{"inputs":{"code_type":"SEQ","object_type":"SubTopology"}},"start":{"inputs":{"code_type":"SEQ","object_type":"SubTopology"}},"stop":{"inputs":{"code_type":"SEQ","object_type":"SubTopology"}}}},"type":"tosca.nodes.ARTICONF.VM.topology","attributes":{"credential":{"cloud_provider_name":"EC2","keys":{"aws_access_key_id":"XXXXXXXXXXXX"},"token":"XXXXXXXXXXXXX","token_type":"access_key"},"desired_state":"RUNNING"},"artifacts":{"provisioned_files":{"required":false,"type":"string"}}},"ws-pema":{"properties":{"ports":["30001:8080"]},"requirements":[{"host":{"capability":"tosca.capabilities.ARTICONF.docker.Orchestrator","node":"kubernetes","relationship":"tosca.relationships.HostedOn"}}],"type":"tosca.nodes.ARTICONF.Container.Application.Docker","artifacts":{"image":{"file":"alogo53/ws-pema-lifewatch","repository":"docker_hub","type":"tosca.artifacts.Deployment.Image.Container.Docker"}}}},"relationship_templates":null,"outputs":null,"groups":null,"substitution_mappings":null,"policies":null},"template_author":null,"template_version":null,"description":"TOSCA example","imports":[{"nodes":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/nodes.yaml"},{"data":"https://raw.githubusercontent.com/skoulouzis/CONF/develop/TOSCA/types/data.yml"},{"capabilities":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/capabilities.yaml"},{"policies":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/policies.yaml"},{"interfaces":"https://raw.githubusercontent.com/skoulouzis/DRIP/develop/TOSCA/types/interfaces.yml"}],"dsl_definitions":null,"node_types":null,"relationship_types":null,"relationship_templates":null,"capability_types":null,"artifact_types":null,"data_types":null,"interface_types":null,"policy_types":null,"group_types":null,"repositories":null}}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment