Welcome to Kite
Kite is a modern IaC language designed for the multi-cloud era. Write your infrastructure once using clean, declarative syntax β then provision seamlessly across AWS, Google Cloud, Azure, and more.
Built from the ground up with simplicity and power in mind, Kite brings a fresh approach to infrastructure management. Every feature is thoughtfully designed to make your workflow faster, safer, and more intuitive.
- β’ Intuitive syntax. Familiar patterns combined with modern expressiveness.
- β’ True portability. Define once, provision anywhere.
- β’ Built to extend. Mixins and plugins adapt seamlessly to your team's workflow.
- β’ Secure and reliable. State management in a proper database ensures complete traceability.
Kite empowers teams to manage infrastructure with confidence and clarity, eliminating complexity without sacrificing control.
Get started
Develop providers
Reference
Overview
What is Kite?
Kite is a declarative IaC language built to provision cloud infrastructure with precision and consistency.
Define your resources once. Provision them anywhere. A single Kite configuration describes exactly what you need, then scales effortlessly across your entire development lifecycle, from staging to production.
Clean syntax meets powerful type safety. Catch configuration errors before they reach the cloud. Share infrastructure modules across teams. The result? Infrastructure that's not just automated. It's remarkably simple to understand and maintain.
Why Kite?
- β’ One language. Every cloud. True portability without the pain.
- β’ Designed to feel familiar. Kite's syntax draws from the best of Terraform, Bicep, and modern languages like TypeScript, C# and Java.
- β’ Refactor fearlessly. Rename resources in code without ever losing the real ones in the cloud.
- β’ Import with ease. Bring your existing cloud infrastructure into Kite. No rewrites, no headaches, just instant control.
- β’ Build without limits. Extend resources effortlessly with annotations or mixins, and compose infrastructure the way you imagine it.
- β’ State that scales with you. Just a proper database managing everything automatically. Safe, fast, secure, and recoverable when things go wrong.
Basics
Basic syntax
Learn the fundamental syntax of Kite, including package definitions, functions, variables, and control flow.
Idioms
Discover common patterns and best practices for writing idiomatic Kite code.
Coding conventions
Follow established conventions for naming, formatting, and organizing your Kite projects.
Basic syntax
This is a collection of basic syntax elements with examples. At the end of every section, you'll find a link to a detailed description of the related topic.
π‘ You can also learn all the Kite essentials with the free Kite Core track by JetBrains Academy.
Package definition and imports
Package specification should be at the top of the source file:
package my.demo
import kite.text.*
// ...
It is not required to match directories and packages: source files can be placed arbitrarily in the file system.
Program entry point
An entry point of a Kite application is the main function:
fun main() {
println("Hello world!")
}
Another form of main accepts a variable number of String arguments:
fun main(args: Array<String>) {
println(args.contentToString())
}