apiVersion: kblocks.io/v1
kind: Block
spec:
engine: tofu
definition:
description: An Amazon SQS queue
icon: heroicon://queue-list
readme: ./README.md
schema: src/values.schema.json
outputs:
- queueUrl
group: example.com
version: v1
kind: Queue
plural: queues
singular: queue
operator:
envSecrets:
AWS_DEFAULT_REGION: aws-credentials
AWS_ACCESS_KEY_ID: aws-credentials
AWS_SECRET_ACCESS_KEY: aws-credentials
metadata:
name: queues.example.com
How does Kblocks work?
You can create a new block in six simple steps.
Define API
Define the block API through a JSON Schema.
Choose Engine
Select your preferred engine (Helm, Terraform, OpenTofu, Winglang, etc.)
Implement Logic
Write your block logic using the engine's native language.
Build Operator
Run kb build to create a deployable Kubernetes operator.
Deploy
Install the operator to your Kubernetes cluster using Helm.
Done!
Your cluster now has a new custom resource ready to use.
Deploy with your favorite tools
Kblocks supports multiple provisioning engines, allowing you to use the tools you're already familiar with to create powerful Kubernetes operators.
Helm
Use Helm charts to template Kubernetes resources. Perfect for managing Kubernetes-native applications and resources. Expose any Helm chart as a custom resource and let Kblocks handle the lifecycle management.
Terraform
Provision cloud resources using Terraform. Turn your existing Terraform configurations into Kubernetes custom resources.
OpenTofu
Use OpenTofu for infrastructure provisioning. A fully open source alternative to Terraform with complete compatibility.
Wing & CDK8s
Write type-safe infrastructure code using Wing and CDK8s. Perfect for teams that prefer a programmatic approach to infrastructure. Use modern programming languages to define your resources.
Custom
Implement custom logic in any language through lifecycle hooks. Perfect for unique use cases and specialized requirements that need custom implementation.
Install Kblocks now
Kblocks is installed by running one of the following commands in your terminal.
npm install -g @kblocks/cli
Want to learn more before getting started? Take your time to read the documentation first.