1 Kumori DSL Documentation
👋 Welcome to the official documentation for kdsl, the Kumori Domain-Specific Language!
Here you’ll find everything you need to understand, write, and deploy applications using Kumori’s powerful Domain-Specific Language.
kdsl is in beta and the specs are subject to change.
1.1 What is Kumori DSL?
kdsl is designed to simplify the complex world of application deployment, allowing you to define your services, components, and deployments with clarity and precision. Kumori DSL is a declarative language built for defining application deployments. It provides a robust, type-checked system to describe:
- Components: Your executable units, such as containers, with their code, resources, and configurations.
- Services: Logical application units that compose components or other services, defining their external interfaces and internal connections.
- Deployments: Top-level definitions that specify concrete instances of your applications, providing all necessary configuration and resource values for deployment onto the Kumori platform.
With kdsl, you define what your application needs and how its pieces fit together, while the Kumori platform handles the deployment.
1.2 Key Features
- Static Type System: Catch errors during the build process, before deployment, thanks to our integrated type system derived from the Kumori Service Model.
- Modularity: Organize your definitions into reusable modules, managing dependencies with ease.
- Clear Contracts: Define explicit interfaces for your components and services, ensuring consistency and predictability.
- Robust Tooling: The
kdslcommand-line tool provides a seamless workflow for building, validating, and managing your DSL projects.
1.3 Getting Started
Ready to dive in? Here are some quick links to help you get started:
- Installation: Set up the
kdslcommand-line tool. - Your First Deployment: Walk through creating a minimal Kumori DSL application.
- Overview: A deeper dive into modules, artifacts, and language semantics.
1.5 Roadmap
Features planned for future versions of kdsl include:
- Conditional Logic: Introducing support for conditional statements within DSL definitions.
- Enhanced Validation: Implementing a syntax to express advanced validation for specific configuration values (e.g., a valid IP addresses, min/max ranges for numbers, etc.).
- Expanded Standard Library: Adding more built-in functions for common operations.
- Axebow CLI CLI based dashboard and deployment tool.