tosca_definitions_version: tosca_simple_yaml_1_0 imports: - indigo_custom_types: https://raw.githubusercontent.com/indigo-dc/tosca-types/dodas_roll/custom_types.yaml description: TOSCA template for a complete CMS Site over Mesos orchestrator topology_template: inputs: number_of_masters: type: integer default: 1 num_cpus_master: type: integer default: 4 mem_size_master: type: string default: "4 GB" number_of_slaves: type: integer default: 2 num_cpus_slave: type: integer default: 4 mem_size_slave: type: string default: "8 GB" server_image: type: string default: "ost://horizon.cloud.cnaf.infn.it/0b18691b-2c67-4800-876e-60802024c64f" node_templates: mesos_master: type: tosca.nodes.indigo.LRMS.FrontEnd.Kubernetes properties: admin_token: testme requirements: - host: mesos-master-server mesos_slave: type: tosca.nodes.indigo.LRMS.WorkerNode.Kubernetes properties: front_end_ip: { get_attribute: [ mesos-master-server, private_address, 0 ] } requirements: - host: mesos-slave-server mesos-master-server: type: tosca.nodes.indigo.Compute capabilities: endpoint: properties: network_name: PUBLIC ports: kube_port: protocol: tcp source: 30443 xrd_port: protocol: tcp source: 31194 scalable: properties: count: { get_input: number_of_masters } host: properties: num_cpus: { get_input: num_cpus_master } mem_size: { get_input: mem_size_master } os: properties: image: { get_input: server_image } mesos-slave-server: type: tosca.nodes.indigo.Compute capabilities: scalable: properties: count: { get_input: number_of_slaves } host: properties: num_cpus: { get_input: num_cpus_slave } mem_size: { get_input: mem_size_slave } os: properties: image: { get_input: server_image }