heat_template_version: 2013-05-23 description: All-in-one DokuWiki stack parameters: keypair_name: label: SSH Keypair description: Keypair to inject in instance type: string flavor_name: default: n2.cw.standard-2 label: Instance Type (Flavor) description: Flavor to use for the deployed instance type: string constraints: - allowed_values: - t1.cw.tiny - s1.cw.small-1 - n2.cw.standard-1 - n2.cw.standard-2 - n2.cw.standard-4 - n2.cw.standard-8 - n2.cw.standard-16 - n2.cw.highmem-2 - n2.cw.highmem-4 - n2.cw.highmem-8 - n2.cw.highmem-12 volume_size: default: 10 label: Dokuwiki Volume Size description: Size of Volume for Dokuwiki Storage (Gigabytes) type: number constraints: - range: { min: 2, max: 1000 } description: Volume must be at least 2 gigabytes volume_type: default: standard label: Dokuwiki Volume Type description: Performance flavor of the linked Volume for Dokuwiki Storage type: string constraints: - allowed_values: - standard - performant resources: network: type: OS::Neutron::Net subnet: type: OS::Neutron::Subnet properties: network_id: { get_resource: network } ip_version: 4 cidr: 10.0.3.0/24 allocation_pools: - { start: 10.0.3.100, end: 10.0.3.199 } security_group: type: OS::Neutron::SecurityGroup properties: rules: - { direction: ingress, protocol: TCP, port_range_min: 22, port_range_max: 22 } - { direction: ingress, protocol: TCP, port_range_min: 80, port_range_max: 80 } - { direction: ingress, protocol: TCP, port_range_min: 443, port_range_max: 443 } - { direction: ingress, protocol: ICMP } - { direction: egress, protocol: ICMP } - { direction: egress, protocol: TCP } - { direction: egress, protocol: UDP } volume: type: OS::Cinder::Volume properties: size: { get_param: volume_size } volume_type: { get_param: volume_type } metadata: fs_type: ext4 volume_attachement: type: OS::Cinder::VolumeAttachment properties: instance_uuid: { get_resource: server } mountpoint: /dev/vdb volume_id: { get_resource: volume } floating_ip: type: OS::Neutron::FloatingIP properties: floating_network_id: 6ea98324-0f14-49f6-97c0-885d1b8dc517 floating_ip_link: type: OS::Nova::FloatingIPAssociation properties: floating_ip: { get_resource: floating_ip } server_id: { get_resource: server } stack_public_entry_point: type: OS::Heat::CloudConfig properties: cloud_config: write_files: - path: /etc/stack_public_entry_point permissions: '0755' content: str_replace: template: | $floating_ip$ params: $floating_ip$: { get_attr: [floating_ip, floating_ip_address] } server_init: type: OS::Heat::MultipartMime properties: parts: - config: { get_resource: stack_public_entry_point } server: type: OS::Nova::Server properties: key_name: { get_param: keypair_name } image: 2bd45df9-4f54-4f37-b259-2451d0532833 flavor: { get_param: flavor_name } networks: - network: { get_resource: network } security_groups: - { get_resource: security_group } user_data_format: RAW user_data: get_resource: server_init outputs: floating_ip_url: description: Stack URL value: str_replace: template: http://$floating_ip$/ params: $floating_ip$: { get_attr: [floating_ip, floating_ip_address] }