-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathblueprint.yaml
More file actions
112 lines (101 loc) · 3.82 KB
/
blueprint.yaml
File metadata and controls
112 lines (101 loc) · 3.82 KB
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
# Based on https://github.com/cloudify-cosmo/cloudify-nodecellar-openstack
# specifically, https://github.com/cloudify-cosmo/cloudify-nodecellar-openstack/blob/e8eebba17bea323204150e314f4534431247de02/blueprint.yaml
imports:
# FIXME # - http://www.getcloudify.org/spec/cloudify/3.1/types.yaml
- types.yaml
# FIXME # - http://www.getcloudify.org/spec/openstack-plugin/1.1/plugin.yaml
- openstack-plugin.yaml
# FIXME # - http://www.getcloudify.org/spec/puppet-plugin/1.1/plugin.yaml
# FIXME # - https://gist.githubusercontent.com/ilyash/61308577188f7cf3c406/raw/5e1b164a7edeb013ce746049578e441d1e74d242/CFY-871.yaml
- puppet.yaml
node_types:
vm_host:
derived_from: cloudify.openstack.server
properties:
server:
default:
### if defined, will serve as the hostname for the started instance,
### otherwise, the node_id will be used
#name: no_name ### HOST_NAME""
image: 85e8bfdf-d560-4a1b-9711-52692d422927 ### Ubuntu Server 12.04.5 LTS (amd64 20140806) - Partner Image
flavor: 101 ### standard.small
security_groups: ['node_cellar_security_group']
mongo_database:
derived_from: cloudify.types.puppet.db_server
properties:
port: {}
nodejs_server:
derived_from: cloudify.types.puppet.app_server
nodejs_app:
derived_from: cloudify.types.puppet.app_module
properties:
git_url: {}
git_branch: {}
base_port: {}
node_templates:
node_cellar_security_group:
type: cloudify.openstack.security_group
properties:
security_group:
name: node_cellar_security_group
rules:
- remote_ip_prefix: 0.0.0.0/0
port: 8080
- remote_ip_prefix: 0.0.0.0/0
port: 27017
- remote_ip_prefix: 0.0.0.0/0
port: 28017
floatingip:
type: cloudify.openstack.floatingip
properties:
floatingip:
floating_network_name: Ext-Net
mongod_vm:
type: vm_host
relationships:
- target: node_cellar_security_group
type: cloudify.relationships.depends_on
nodejs_vm:
type: vm_host
relationships:
- target: floatingip
type: cloudify.openstack.server_connected_to_floating_ip
- target: node_cellar_security_group
type: cloudify.relationships.depends_on
mongod:
type: mongo_database
properties:
port: 27017
puppet_config:
modules:
- puppetlabs-mongodb # https://github.com/puppetlabs/puppetlabs-mongodb
execute:
create: |
class {'::mongodb::server':
bind_ip => ['0.0.0.0'],
port => $cloudify_properties_port,
verbose => true,
}
relationships:
- target: mongod_vm
type: cloudify.relationships.contained_in
nodecellar_app:
type: nodejs_app
properties:
git_url: https://github.com/cloudify-cosmo/nodecellar.git
git_branch: master
base_port: 8080
puppet_config:
modules:
- puppetlabs-nodejs
- puppetlabs-vcsrepo
download: puppet.tar.gz
execute:
preconfigure: 'package{"runit":}' # Work around "Error: Could not find the daemon directory (tested [/etc/sv,/var/lib/service])" in runit service provider
manifest:
establish: manifests/nodecellar.pp # inside puppet.tar.gz
relationships:
- target: nodejs_vm
type: cloudify.relationships.contained_in
- target: mongod
type: cloudify.puppet.connected_to