kro-rgd_skill
- TypeScript
31
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill tyrchen/claude-skills --skill kro-rgd- SKILL.md16.5 KB
Overview
This skill generates production-ready KRO ResourceGraphDefinition (RGD) manifests using Pulumi TypeScript to define custom Kubernetes APIs, compose resources, and integrate AWS ACK controllers. It produces typed, IDE-friendly Pulumi code that creates RGDs, associated microcontrollers, and composed resources with CEL-driven templates. Use it to encapsulate platform abstractions, manage resource dependencies, and enable developer self-service via custom CRDs.
How this skill works
The skill synthesizes Pulumi TypeScript CustomResource definitions for kro.run/v1alpha1 ResourceGraphDefinition objects. It embeds schema, status wiring, resource templates, CEL expressions, includeWhen conditions, and readyWhen probes into the RGD spec. When deployed with Pulumi, the RGD generates a CRD and a microcontroller in-cluster that reconciles instances and orchestrates composed resources, including ACK-managed AWS resources when requested.
When to use it
- You need a custom Kubernetes API without writing Go controllers.
- You want to compose multiple Kubernetes and ACK resources as a single declarative unit.
- You must expose platform-ready application templates for developer self-service.
- You need declarative dependency ordering and ready probes for complex deployments.
- You prefer TypeScript with type safety and IDE autocompletion for infra code.
Best practices
- Design a clear, minimal user-facing schema with defaults and validation expressions.
- Use CEL expressions to reference schema and other resources; prefer null-safe access (?.) where appropriate.
- Model resource dependencies explicitly with ids and readyWhen probes to avoid racing conditions.
- Limit microcontroller responsibilities: keep templates deterministic and side-effect free.
- Add status fields that surface important runtime details (endpoints, ARNs, readiness).
Example use cases
- A web application RGD that creates Deployment, Service, optional Ingress, and HPA with includeWhen toggles.
- A database-backed app that provisions an ACK RDS instance, secret, and configmap, and exposes DB endpoint in status.
- A storage-integrated app that provisions an ACK S3 Bucket and injects bucket name and ARN into pod environment variables.
- A multi-environment template that generates environment-specific resources (dev/staging/prod) with quotas and different defaults.
- A microservices bundle that deploys multiple Deployments, Services, and NetworkPolicies as one composable CRD.
FAQ
Yes. Install KRO (helm chart) for CEL and orchestration. Install ACK controllers for any AWS services you reference.
How do I test an RGD locally before publishing?
Deploy the RGD via pulumi up, then create a sample instance of the generated CRD and watch resources with kubectl describe and kubectl get.