Skip to content

Automation how-to guides

Overview

Automation how-to guides

Procedural and tutorial guides for OpenTofu, Terraform, Ansible, and Heat on Quake AI. For background on tool selection and workflow, see the concept pages.

  • Get Started with Ansible on Quake AI: This guide walks you through installing Ansible, authenticating to Quake AI, building a minimal inventory file, and running your first playbook against an existing instance. By the end, you will have...
  • Get Started with Infrastructure as Code on Quake AI: This guide walks you through installing OpenTofu, authenticating to Quake AI, and deploying your first resource. By the end, you will have a running compute instance created entirely from code.
  • How to Add a Block Volume to a Template: Attach a block volume to an instance that a template provisions, format it on first boot, and record the mount in /etc/fstab so the filesystem mounts after a reboot. This guide extends templates...
  • How to Auto-scale a VM Tier with Heat: Run a private worker tier that grows and shrinks by combining an OS::Heat::AutoScalingGroup with scale-up and scale-down policies. Each policy exposes a signal webhook that your monitoring or queue...
  • How to Create a Heat Stack: Heat is a legacy orchestration path on Quake AI. For new projects, use OpenTofu instead.
  • How to Customize a Template's Image and Flavor: Change the operating system image or hardware size on an OpenTofu template you already deployed. This guide applies to any template under Automation templates that exposes image_name and flavor...
  • How to Debug Terraform Errors: Terraform errors fall into distinct categories that require different debugging approaches: configuration errors caught before any API call, provider errors from the OpenStack API, and state...
  • How to Deploy a Multi-tier Application with Terraform: Deploy a public edge proxy, private application instances, and a private database instance with OpenTofu or Terraform. The edge proxy owns the floating IP and routes requests to the application tier...
  • How to Deploy an Application to a Quake AI VM from Ci: Ship application changes from GitHub Actions or GitLab CI to a Quake AI instance over SSH. Quake AI does not provide hosted CI runners. Use GitHub-hosted or GitLab.com runners by default, or run a...
  • How to Deploy from a Quake.yaml Manifest with Forgejo Actions: Run a Forgejo Actions or Gitea Actions workflow that turns a push into a deployment through a quake.yaml launch handoff packet. The workflow runs on a forge and runner you operate, then deploys to...
  • How to Deploy on Git Push with a Webhook Listener: Run a small webhook listener on a VM you operate that redeploys your app when you push to its repository. A push fires a webhook from your forge, the listener verifies the request signature, and a...
  • How to Deploy VMs with Terraform (Simple Example): Looking for a ready-to-use template? See the Simple VM template for a parameterized, validated version you can deploy directly.
  • How to Emulate a Branchable Postgres Workflow: Create an isolated copy of a PostgreSQL database for a feature branch or pull request preview, then remove the copy when the work is complete. This guide covers three techniques for a self-managed...
  • How to Execute a Launch Handoff Packet from Ci: Run a CI job that turns your repository's quake.yaml into a running deployment. Call the prepare_launch MCP tool to get a handoff packet, build and push the image from the resolved build recipe, apply...
  • How to Integrate OpenTofu with Ci/cd: Running OpenTofu in a CI/CD pipeline eliminates manual applies, ensures consistent infrastructure changes, and creates an audit trail. This guide shows GitHub Actions and GitLab CI configurations for...
  • How to Manage Multiple Environments with OpenTofu: Most production workloads need at least two environments: one for development and testing, one for production. This guide covers two approaches to managing multiple environments on Quake AI with...
  • How to Manage OpenTofu State with Quake AI S3: By default, OpenTofu stores state in a local terraform.tfstate file. This works for solo development but breaks down when multiple people or CI pipelines need to apply changes to the same...
  • How to Parameterize a Template with a Tfvars File: Reuse the same OpenTofu template in development, staging, and production without forking the HCL. Store environment-specific values in .tfvars files and pass them with -var-file at plan and apply...
  • How to Provision a Quake AI Instance with Ansible: This guide creates a complete Quake AI stack (network, subnet, router, security group, keypair, instance, floating IP) using only the openstack.cloud Ansible collection. No OpenTofu, no separate...
  • How to Restore PostgreSQL from a Self-managed-postgres Backup: Copy a scheduled pg_dumpall from a running self-managed-postgres instance onto a second, disposable instance, restore it with psql, and confirm databases, roles, and row counts match. The source...
  • How to Run Ansible in Ci/cd: This guide runs Ansible playbooks against Quake AI from GitHub Actions and GitLab CI. The same pipeline patterns drive scheduled patching, release deploys, and the Day 1 configuration step that...
  • How to Self-host a Ci Server on a VM: Run a continuous integration server on a Quake AI VM to watch your repositories, queue pipelines, and dispatch build jobs. A CI server is the orchestrator that schedules work. It is one component...
  • How to Use Ansible Dynamic Inventory on Quake AI: This guide replaces hand-maintained inventory files with the openstack.cloud.openstack plugin, which queries Quake AI directly and groups hosts by metadata. By the end you will have an inventory that...
  • Use Ansible with OpenTofu on Quake AI: This guide combines OpenTofu provisioning with Ansible configuration into a single workflow. You will use OpenTofu to create a VM with a floating IP, hand the IP to Ansible, and run a playbook that...

Quick answers

Was this page helpful?