-
Notifications
You must be signed in to change notification settings - Fork 13
/
micado_types.yaml
141 lines (119 loc) · 5.02 KB
/
micado_types.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# TOSCA types definitions for MiCADO
#
# MiCADO version: v0.9.1
# TOSCA version: Simple Profile in YAML v1.2
tosca_definitions_version: tosca_simple_yaml_1_2
description: |
Custom types definitions for MiCADO Application Description Templates (ADT)
imports:
- https://raw.githubusercontent.com/micado-scale/tosca/main/custom_types/container/kubernetes.yaml
- https://raw.githubusercontent.com/micado-scale/tosca/main/custom_types/cloud/occopus.yaml
- https://raw.githubusercontent.com/micado-scale/tosca/main/custom_types/cloud/terraform.yaml
- https://raw.githubusercontent.com/micado-scale/tosca/main/custom_types/policy/scaling.yaml
- https://raw.githubusercontent.com/micado-scale/tosca/main/custom_types/policy/security.yaml
- https://raw.githubusercontent.com/micado-scale/tosca/main/custom_types/policy/monitoring.yaml
## Below you can find some information on the different ways
## TOSCA types are used in MiCADO ADTs. Any actual type
## definitions can be found in the imports above.
# TOSCA Artifact Types
#
# MiCADO uses TOSCA artifacts to define externally pulled images,
# files, or data sources. The most common of these is the TOSCA
# suggested non-normative type for Docker images
# * tosca.artifacts.Deployment.Image.Container.Docker
#
# The following subsections of artifact types are defined
# under custom_types/cloud/common.yaml
# * Generic CloudInit artifact type
# under custom_types/container/common.yaml
# * Generic Docker secret artifact type
# TOSCA Capability Types
#
# MiCADO uses TOSCA capabilities to define what interoperability &
# relationships a node can support. No custom types are required,
# though we here define a TOSCA capability which only joined the
# normative types in TOSCA Simple Profile v1.1:
# under custom_types/cloud/common.yaml
# * tosca.capabilities.Compute
# TOSCA Data Types
#
# TOSCA data types can be used to restrict the entry schema of
# node properties, or support custom data entry.
#
# The following subsections of artifact types are defined
# under custom_types/cloud/
# * Generic contextualisation data type
# under custom_types/container/
# * Generic PortSpec data type
# * Swarm data types for deploy, resource and placement
# TOSCA Interfaces Types
#
# MiCADO uses TOSCA interfaces to pass orchestrator specific
# parameters to the orchestration tools responsible for managing
# the lifecycle of various compoenents of the application.
# Generally this is facilitated by passing interface inputs
# into the output file that gets generated by a translator
#
# OpenStack TOSCAParser does not enforce any requirement
# or restriction on potential inputs when these types
# are used in application description templates (ADTs)
#
# The following interfaces types are defined
# under custom_types/cloud/common:
# * tosca.interface.MiCADO.Occopus
# * tosca.interface.MiCADO.Terraform
#
# under custom_types/container/common:
# * tosca.interface.MiCADO.Swarm
# * tosca.interface.MiCADO.Kubernetes
# TOSCA Node Types
#
# MiCADO uses TOSCA nodes to build cloud components such as containers,
# virtual machines or volumes. These components are further configured,
# and their lifecycles managed, by passing orchestrator specific
# options via TOSCA interfaces.
#
# OpenStack TOSCAParser WILL enforce restrictions on properties when
# these types are used in application description templates. If
# a property does not appear in the node definition below (or in a parent)
# it cannot be expressed inside a template.
#
# The following subsections of node types are defined
# under custom_types/cloud/
# * Generic compute node types
# * Occopus node types
# * Terraform node types
# under custom_types/container/
# * Generic container node types
# * Generic volume node types
# * Generic config node types
# * Swarm node types
# * Kubernetes node types
node_types:
micado.microservice:
description: Generic type for MiCADO microservices
derived_from: tosca.nodes.MiCADO.Container.Application.Docker
micado.deployment:
description: Generic type for MiCADO "deployments" (i.e. infrastructure)
derived_from: tosca.nodes.MiCADO.Compute
# TOSCA Policy Types
#
# TOSCA policy types are used to specify scaling, alerting, monitoring
# security and other requirements for nodes. Currently these types exist
# under custom_types/policy/
# * tosca.policies.Scaling.MiCADO
# * tosca.policies.Alerting.MiCADO
# * tosca.policies.Monitoring.MiCADO
# * tosca.policies.Security.MiCADO
# TOSCA Relationship Types
#
# MiCADO uses TOSCA relationships to define interoperability between
# different components of the application. Most interoperability
# requirements can be defined with these TOSCA normative types:
# * tosca.relationships.HostedOn (container-in-pod or container/pod-on-VM)
# * tosca.relationships.AttachesTo (volume to container)
#
# In Docker Swarm the a custom ConnectsTo type was used to connect specific
# containers over a specific Docker network. It is not used in Kubernetes
# under custom_types/container/swarm.yaml
# * tosca.relationships.MiCADO.ConnectsTo