Skip to content

Commit 9657462

Browse files
committed
Enrich MYRTUS node types with production-ready definitions and remove example prefix
1 parent 6386f85 commit 9657462

File tree

7 files changed

+391
-44
lines changed

7 files changed

+391
-44
lines changed

tosca-types/myrtus/node-types.yaml

Lines changed: 118 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,37 +13,140 @@ description: >
1313
and are contributed to the TOSCA community for standardization.
1414
1515
node_types:
16-
example.eu.myrtus.MyrtusSWComponent:
17-
description: This is an example of a specialization made to represent Myrtus SW components. This component assumes the SW modules are containerized in Docker containers.
16+
eu.myrtus.MyrtusSWComponent:
17+
description: >
18+
Represents a MYRTUS software component deployed as a containerized application.
19+
This node type is designed for edge computing scenarios where software modules
20+
are packaged and deployed as Docker containers in distributed IoT environments.
1821
derived_from: tosca.nodes.SoftwareComponent
1922
metadata:
20-
targetNamespace: "example.eu.myrtus.nodetypes"
23+
targetNamespace: "eu.myrtus.nodetypes"
2124
abstract: "false"
2225
final: "false"
2326
properties:
24-
dockerImage:
27+
docker_image:
2528
type: string
26-
description: An URI pointing to the docker image to be deployed.
27-
required: false
28-
port:
29+
description: URI pointing to the Docker image to be deployed (e.g., registry.example.com/myrtus/service:1.0)
30+
required: true
31+
container_port:
2932
type: integer
30-
description: The port to be opened in the container
33+
description: Primary port exposed by the container for service communication
34+
required: false
35+
default: 8080
36+
environment_variables:
37+
type: map
38+
description: Environment variables to be set in the container
39+
required: false
40+
entry_schema:
41+
type: string
42+
resource_limits:
43+
type: map
44+
description: Resource limits for the container (cpu, memory)
45+
required: false
46+
entry_schema:
47+
type: string
48+
auto_restart:
49+
type: boolean
50+
description: Whether the container should automatically restart on failure
51+
required: false
52+
default: true
53+
health_check_endpoint:
54+
type: string
55+
description: HTTP endpoint path for health checks (e.g., /health)
3156
required: false
32-
default: 1234
57+
attributes:
58+
container_id:
59+
type: string
60+
description: Runtime identifier of the deployed container
61+
service_url:
62+
type: string
63+
description: Full URL where the service is accessible
3364
requirements:
65+
- host:
66+
capability: tosca.capabilities.Container
67+
relationship: tosca.relationships.HostedOn
68+
occurrences: [ 1, 1 ]
3469
- connects:
3570
capability: tosca.capabilities.Endpoint
3671
relationship: tosca.relationships.ConnectsTo
3772
occurrences: [ 0, UNBOUNDED ]
3873
capabilities:
39-
service:
40-
occurrences: [ 0, UNBOUNDED ]
74+
service_endpoint:
4175
type: tosca.capabilities.Endpoint
76+
description: Endpoint capability provided by this software component
77+
properties:
78+
protocol:
79+
type: string
80+
default: http
81+
port:
82+
type: integer
83+
occurrences: [ 0, UNBOUNDED ]
84+
interfaces:
85+
Standard:
86+
type: tosca.interfaces.node.lifecycle.Standard
87+
operations:
88+
create:
89+
description: Pull the Docker image
90+
configure:
91+
description: Configure container environment and networking
92+
start:
93+
description: Start the container
94+
stop:
95+
description: Stop the container
96+
delete:
97+
description: Remove the container and clean up resources
4298

43-
example.eu.myrtus.Myrtus-Compute:
44-
description: Representation of a computing node in the Myrtus systems.
99+
eu.myrtus.MyrtusCompute:
100+
description: >
101+
Represents a computing node in MYRTUS edge/IoT infrastructure.
102+
This can be a workstation, edge server, or IoT gateway capable of hosting
103+
containerized MYRTUS software components.
104+
derived_from: tosca.nodes.Compute
45105
metadata:
46-
targetNamespace: "example.eu.myrtus.nodetypes"
106+
targetNamespace: "eu.myrtus.nodetypes"
47107
abstract: "false"
48108
final: "false"
49-
derived_from: tosca.nodes.Compute
109+
properties:
110+
location:
111+
type: string
112+
description: Physical or logical location of the compute node (e.g., "Building A - Floor 2")
113+
required: false
114+
edge_zone:
115+
type: string
116+
description: Edge computing zone or region identifier
117+
required: false
118+
docker_runtime:
119+
type: string
120+
description: Docker runtime version installed on this node
121+
required: false
122+
default: "latest"
123+
monitoring_enabled:
124+
type: boolean
125+
description: Whether monitoring agents are deployed on this node
126+
required: false
127+
default: true
128+
attributes:
129+
node_id:
130+
type: string
131+
description: Unique identifier for this compute node
132+
available_resources:
133+
type: map
134+
description: Currently available resources (cpu, memory, storage)
135+
deployment_timestamp:
136+
type: timestamp
137+
description: When this node was provisioned
138+
capabilities:
139+
host:
140+
type: tosca.capabilities.Container
141+
description: Ability to host containerized applications
142+
valid_source_types: [ tosca.nodes.SoftwareComponent ]
143+
compute:
144+
type: tosca.capabilities.Compute
145+
description: Computational capabilities of this node
146+
endpoint:
147+
type: tosca.capabilities.Endpoint.Admin
148+
description: Administrative endpoint for node management
149+
properties:
150+
secure:
151+
type: boolean
152+
default: true

wiki/Contributing.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Contributing
2+
3+
Thanks for considering contributing to TOSCA Designer.
4+
5+
## Development Setup
6+
7+
- Java 8 JDK
8+
- Maven 3.6+
9+
10+
## Build
11+
12+
From the project root run:
13+
14+
```powershell
15+
mvn -B -DskipTests package
16+
```
17+
18+
This produces `target/toscadesigner-<version>.jar` and `target/ToscaDesigner_<version>.jmdac`.
19+
20+
## Workflow
21+
22+
- Fork the repo and create a feature branch.
23+
- Run the build locally and open a pull request.
24+
- For major changes, open an issue to discuss.
25+
26+
## CI
27+
28+
A GitHub Actions workflow builds the project on push and PRs.

wiki/Development.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Development
2+
3+
This page contains developer-focused information.
4+
5+
## Requirements
6+
7+
- Java 8 JDK
8+
- Maven 3.6+
9+
- Modelio 5.4.1 for integration testing
10+
11+
## Build and Test
12+
13+
```powershell
14+
mvn -B -DskipTests package
15+
```
16+
17+
Notes
18+
- The project compiles to Java 8 bytecode (`<release>8`).
19+
- `MDAKit` is provided by Modelio at runtime and declared as `scope=provided` in `pom.xml`.
20+
- To run integration checks that require Modelio APIs, install Modelio and run tests inside its environment.

wiki/Home.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# TOSCA Designer Wiki
2+
3+
Welcome to the TOSCA Designer project wiki. This wiki provides installation steps, usage examples, contributing guidelines, and developer documentation for the TOSCA Designer module for Modelio 5.4.1.
4+
5+
See the pages in this wiki for more details:
6+
7+
- Installation
8+
- Usage
9+
- Contributing
10+
- Development
11+
12+
---
13+
14+
## About
15+
16+
TOSCA Designer is an open-source module for Modelio 5.4.1 developed by the Softeam R&D Department as part of the MYRTUS Horizon Europe project.
17+
18+
## Key Features
19+
20+
- Supports TOSCA Standard v1.3
21+
- Graphical modeling of topology templates, node types, relationship types, policies, and requirements
22+
- Export to `.tosca` and experimental `.csar` files
23+
24+
## Quick Links
25+
26+
- [Installation](Installation.md)
27+
- [Usage](Usage.md)
28+
- [Contributing](Contributing.md)
29+
- [Development](Development.md)

wiki/Installation.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Installation
2+
3+
This page explains how to install Modelio and add the TOSCA Designer module.
4+
5+
## Requirements
6+
7+
- Java 8 JDK
8+
- Modelio Open Source 5.4.1
9+
10+
## Steps
11+
12+
1. Install Modelio 5.4.1 (download from https://github.com/ModelioOpenSource/Modelio/releases/tag/v5.4.1)
13+
2. Install Java 8 and ensure `java` is on your PATH.
14+
3. Download the latest `.jmdac` module from the release page: https://github.com/Modelio-R-D/MYRTUSDesigner/releases
15+
4. Open Modelio, go to `Configuration > Modules catalog` and add the module by selecting the downloaded `.jmdac` file.
16+
5. Deploy the module in a project via `Configuration > Install a module in this project`.
17+
18+
## Example Projects
19+
20+
The release includes example projects such as `MYRTUS.Face.Application.zip` and `Smart.City.Traffic.Management.zip`. Import them via `File > Import project` in Modelio.

0 commit comments

Comments
 (0)