Heat Simple Stack
Heat simple stack
This pattern composes Compute and Network.
Monthly cost estimate
Pricing calculator ↗Sized as a custom package on shared vCPU.
Monthly total for the required template above. Use the configurator below to add optional pieces and see the total update.
What each resource is for
s1a.small
s1a.small · 2 shared vCPU, 2 GiB RAM, 0.5 Gbps
Compute shown per role at custom-package rates ($29/dedicated vCPU, $7.25/shared vCPU, $1/GiB RAM). The headline above is the billed total: the cheaper of a named plan and the custom package, plus add-ons.
Included in baseline
s1a.small
2 shared vCPU, 2 GiB RAM, 0.5 Gbps
Compute + RAM rate basis
2 vCPU + 2 GiB RAM at $29/dedicated vCPU, $7.25/shared vCPU, $1/GiB RAM (regular). Totals apply the flat −$5/mo package promotion.
Public IP (included)
1 included with the custom package
Package promotional discount
Flat −$5.00/mo on the custom package (same promotion as named plans).
Included at no charge
These line items are zero on Quake AI. Many other providers meter them separately.
Data transfer (inbound and outbound)
Unlimited data transfer on every plan; Quake AI does not meter per-GB egress.
AWS, GCP, and Azure meter outbound transfer per GB. DigitalOcean and Hetzner include an allowance on compute plans, then charge overage.
Learn morePrivate networking
Private networks, subnets, Neutron routers, and security groups are included with the plan.
VPC objects are usually free to create elsewhere, but NAT gateways bill hourly plus per-GB processed. Quake AI uses router SNAT with no separate NAT line item.
Control-plane API requests
OpenStack API calls for provisioning and management are included.
Some managed services on other clouds meter API calls or charge for premium control-plane features.
Pricing data last validated: . For current rates, check quake.ai/pricing.
What this template does#
Provisions a single compute instance using an OpenStack Heat Orchestration Template (HOT):
- Private network, subnet, and a router to the external network
- Security group allowing SSH and HTTP
- A volume-backed compute instance (boots from a volume, so it works with zero-disk flavors)
- Cloud-init user data that installs Nginx and serves a placeholder page (configure with cloud-init)
- A floating IP for public access
- Demonstrates the HOT template format as an alternative to OpenTofu/Terraform
This is the Heat equivalent of the Simple VM OpenTofu template, provided for teams already using the Heat orchestration engine.
Parameters#
| Parameter | Description | Default |
|---|---|---|
flavor | Instance size | s1a.small |
image | Operating system image | Ubuntu-24.04 |
key_name | SSH keypair name | No default |
external_network | External network for the router gateway and floating IP | PublicStatic |
private_cidr | CIDR for the private subnet | 192.168.60.0/24 |
When to use this pattern#
Legacy Heat path for a single VM on a private network. For new deployments, use the Simple VM with Floating IP OpenTofu pattern instead.
Template source#
Show source (1 file)Hide source
# Heat Simple Stack
Basic Heat (HOT) template for a single compute instance with private network access. This is the Heat equivalent of the Simple VM OpenTofu pattern: one server on an existing Neutron network with a security group allowing SSH.
## Prerequisites
- OpenStack client (`openstack` CLI) configured for your Quake AI project
- Quake AI account with Heat, Nova, and Neutron access
- An existing Neutron network ID to attach the instance to
- An existing SSH keypair registered in the project
## Usage
1. Clone or copy this template directory
2. Ensure your OpenStack credentials are loaded (for example `source openrc.sh`)
3. Create the stack, passing required parameters. Optional parameters use defaults from `stack.yaml` if omitted.
```bash
openstack stack create -t stack.yaml YOUR_STACK_NAME \
--parameter key_name=YOUR_KEY_NAME \
--parameter network=YOUR_NETWORK_ID
```
Optional parameters (defaults shown in `stack.yaml`):
```bash
openstack stack create -t stack.yaml YOUR_STACK_NAME \
--parameter key_name=YOUR_KEY_NAME \
--parameter network=YOUR_NETWORK_ID \
--parameter flavor=s1a.small \
--parameter image="Ubuntu-24.04"
```
4. Watch progress: `openstack stack event list YOUR_STACK_NAME`
5. When complete, show outputs: `openstack stack output show YOUR_STACK_NAME --all`
6. Delete when finished: `openstack stack delete YOUR_STACK_NAME`
## Parameters
| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `key_name` | string | yes | n/a | SSH keypair name in the project |
| `network` | string | yes | n/a | Existing Neutron network ID for the instance port |
| `flavor` | string | no | `s1a.small` | Instance flavor |
| `image` | string | no | `Ubuntu-24.04` | Boot image name |
## Documentation
Full documentation: [Heat simple stack template](/docs/automation/templates/heat-simple-stack)
Resources, parameters, and variables
Customize this pattern#
Provision and size the underlying VM with the OpenTofu customize how-tos on Simple VM with Floating IP:
- Customize a template's image and flavor
- Add a block volume to a template
- Parameterize a template with a tfvars file
See also#
Usage Guidelines
The sample code, software libraries, command line tools, proofs of concept, templates, and other related technology on this page (including any of the foregoing that is provided by Quake AI personnel) is provided to you as Quake AI Content under the Quake AI Customer Agreement, or the relevant written agreement between you and Quake AI (whichever applies). Do not use this Quake AI Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the Quake AI Content (such as sample code) as appropriate for production grade use based on your specific quality control practices and standards. Deploying Quake AI Content may incur Quake AI charges for creating or using Quake AI chargeable resources, such as running Compute instances or storing data in Object Storage. Your use is also subject to the Acceptable Use Policy.
For the full policy, see Usage Guidelines.
Last validated: 03.06.2026