1+ tosca_definitions_version : tosca_simple_yaml_1_0
2+
3+ imports :
4+ - ec3_custom_types : https://raw.githubusercontent.com/grycap/ec3/tosca/tosca/custom_types.yaml
5+
6+ metadata :
7+ name : eflows4hpc image creation service
8+ display_name : Launch the flows4hpc image creation service on a VM
9+ icon : images/eflows4HPCcics.png
10+ parents :
11+ - simple-node-disk.yaml
12+
13+ description : TOSCA template for launching the eflows4hpc image creation service on a VM
14+
15+ topology_template :
16+
17+ inputs :
18+ workflow_registry_git :
19+ type : string
20+ description : Git repository of the workflow registry
21+ default : " https://github.com/eflows4hpc/workflow-registry.git"
22+ required : yes
23+ software_catalog_git :
24+ type : string
25+ description : Git repository of the software catalog
26+ default : " https://github.com/eflows4hpc/software-catalog.git"
27+ required : yes
28+ user_name :
29+ type : string
30+ description : Create username to access the image creation service
31+ default : " admin"
32+ user_pass :
33+ type : string
34+ description : Create password to access the image creation service
35+ default : " admin"
36+ user_mail :
37+ type : string
38+ description : Create mail to access the image creation service
39+ default : " admin@admin.com"
40+ registry_url :
41+ type : string
42+ description : URL of the container registry
43+ default : " ghcr.io"
44+ required : yes
45+ registry_prefix :
46+ type : string
47+ description : Prefix of the container registry
48+ default : " ghcr.io/eflows4hpc"
49+ required : yes
50+ registry_user :
51+ type : string
52+ description : User to access the container registry
53+ default : " "
54+ required : yes
55+ registry_token :
56+ type : string
57+ description : Token to access the container registry
58+ default : " "
59+ required : yes
60+ captcha_site_key :
61+ type : string
62+ description : Captcha site key
63+ default : ' '
64+ required : yes
65+ captcha_web_site_key :
66+ type : string
67+ description : Captcha web site key
68+ default : ' '
69+ required : yes
70+ dns_name :
71+ type : string
72+ description : DNS name of the VM public IP
73+ default : ' '
74+ enable_https :
75+ type : boolean
76+ description : Flag to enable https (you need to provide a DNS name)
77+ default : false
78+ constraints :
79+ - valid_values : [ false, true ]
80+
81+
82+ node_templates :
83+
84+ image_service :
85+ type : tosca.nodes.ec3.Application
86+ artifacts :
87+ community_crypto :
88+ file : community.crypto
89+ type : tosca.artifacts.AnsibleGalaxy.collection
90+ docker_role :
91+ file : grycap.docker
92+ type : tosca.artifacts.AnsibleGalaxy.role
93+ capabilities :
94+ endpoint :
95+ properties :
96+ ports :
97+ https :
98+ protocol : tcp
99+ source : 443
100+ interfaces :
101+ Standard :
102+ configure :
103+ implementation : https://raw.githubusercontent.com/grycap/ec3/tosca/tosca/artifacts/eflows4hpc/image_creation.yaml
104+ inputs :
105+ HTTPS : { get_input: enable_https }
106+ WORKFLOW_REGISTRY_GIT : { get_input: workflow_registry_git }
107+ SOFTWARE_CATALOG_GIT : { get_input: software_catalog_git }
108+ CAPTCHA_SITE_KEY : { get_input: captcha_site_key }
109+ CAPTCHA_WEB_SITE_KEY : { get_input: captcha_web_site_key }
110+ REGISTRY_USER : { get_input: registry_user }
111+ REGISTRY_TOKEN : { get_input: registry_token }
112+ REGISTRY_URL : { get_input: registry_url}
113+ REGISTRY_PREFIX : { get_input: registry_prefix }
114+ DNS_NAME : { get_input: dns_name }
115+ USER_NAME : { get_input: user_name }
116+ USER_PASS : { get_input: user_pass }
117+ USER_MAIL : { get_input: user_mail }
118+ requirements :
119+ - host : simple_node
120+
121+ outputs :
122+ image_creation_endpoint :
123+ value : { concat: [ 'https://', get_input: [ dns_name ], '/image_creation/' ] }
0 commit comments