Kaiak is a platform of composable software resources that can be assembled into custom server applications. This Terraform provider lets you manage those resources and their configuration as infrastructure-as-code. Resource schemas are discovered dynamically from a running server at plan/apply time, so any resource registered with the server is automatically available in Terraform.
Kaiak is designed to be extensible — you can create your own resource types and register them with the server. Once registered, they are immediately available for management through this Terraform provider without any changes to the provider itself. For more information on how to create custom resources, see the Kaiak repository.
- Terraform >= 1.0
- Go >= 1.25 (to build the provider)
- A running Kaiak server with the provider API enabled
The easiest way to run a Kaiak server is with Docker:
docker run -p 8084:8084 ghcr.io/mutablelogic/kaiak:latest run --http.addr=":8084"The base image includes a set of built-in resource types (HTTP server, static file serving, logging, etc.), but the platform is designed to be extended with your own custom resource types. Once you register a new resource type with the server, it becomes automatically available through this Terraform provider.
Multi-arch images (amd64, arm64) are available. For more information on configuring the server and creating custom resources, see the Kaiak documentation.
terraform {
required_providers {
kaiak = {
source = "mutablelogic/kaiak"
}
}
}git clone https://github.com/mutablelogic/terraform-provider-kaiak.git
cd terraform-provider-kaiak
go build -o terraform-provider-kaiakTo use a locally built provider, add a dev_overrides block to your
~/.terraformrc:
provider_installation {
dev_overrides {
"mutablelogic/kaiak" = "/path/to/your/build/directory"
}
direct {}
}provider "kaiak" {
endpoint = "http://localhost:8084/api" # optional (env: KAIAK_ENDPOINT)
api_key = "my-secret-token" # optional (env: KAIAK_API_KEY)
}
resource "kaiak_httpserver" "main" {
listen = ":8080"
}For full documentation on resources, data sources, importing, nested blocks, and debugging, see the provider documentation on the Terraform Registry.
Copyright © 2026 David Thorpe. All rights reserved.
Licensed under the Apache License, Version 2.0. You may use, distribute, and modify this software under the terms of the license. The software is provided "as is", without warranty of any kind. See the LICENSE file for the full license text.