summaryrefslogtreecommitdiff
path: root/heat/pieni.heat
blob: 0ab8aa5cec66ecb192ed94a2a242bd04d0edefa7 (plain)
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
---
heat_template_version: 2015-04-30

description: >-
 pieni.net.

parameters:

  key_name:
    type: string
    label: Key name
    description: Name of key-pair to be used for compute instance

  instance_flavor:
    type: string
    label: Instance Type
    description: Type of instance (flavor) to be used
    default: nbl-n1-medium

  image_id:
    type: string
    label: Image ID
    description: "stretch"
    default: 64e1068f-09f0-4eb3-aca1-05946de594c3

  floating_network:
    type: string
    label: Public network UUID
    description: UUID of the public network
    default: Public-Helsinki-1

  availability_zone:
    type: string
    label: Availability zone
    description: Name of the Availability zone
    default: helsinki-1

  public_network:
    type: string
    description: The network for the VM in helsinki-1
    default: Network-Public-Helsinki-1

resources:

  sg:
    type: OS::Neutron::SecurityGroup
    properties:
      description: some stuff
      rules:
        # Allow ssh in.
        - direction: ingress
          ethertype: IPv4
          port_range_min: 22
          port_range_max: 22
          protocol: tcp
        # Allow smtp in.
        - direction: ingress
          ethertype: IPv4
          port_range_min: 25
          port_range_max: 25
          protocol: tcp
        # Allow https in.
        - direction: ingress
          ethertype: IPv4
          port_range_min: 80
          port_range_max: 80
          protocol: tcp
        # Allow imaps in.
        - direction: ingress
          ethertype: IPv4
          port_range_min: 993
          port_range_max: 993
          protocol: tcp
        # Allow smtp submission in.
        - direction: ingress
          ethertype: IPv4
          port_range_min: 587
          port_range_max: 587
          protocol: tcp
        # Allow git in.
        - direction: ingress
          ethertype: IPv4
          port_range_min: 9418
          port_range_max: 9418
          protocol: tcp

  public_port:
    type: OS::Neutron::Port
    properties:
      network: { get_param: public_network }
      security_groups: [{ get_resource: sg }]

  public_ip:
    type: OS::Neutron::FloatingIP
    depends_on: public_port
    properties:
      floating_network: { get_param: floating_network }
      port_id: { get_resource: public_port }

  pieni:
    type: OS::Nova::Server
    depends_on: public_port
    properties:
      availability_zone : { get_param: availability_zone }
      key_name: { get_param: key_name }
      image: { get_param: image_id }
      flavor: { get_param: instance_flavor }
      networks:
        - port: { get_resource: public_port }