The Kusion Application Model represents KusionStack's opinionated abstraction of the core concepts during application delivery, and serves as a model source for the kusion tool when interpreting application developers' intent.
This kam repository holds the core KCL schema definitions (that are not meant for customizations at this point) for the following:
-
The
AppConfigurationschema which is the top layer abstraction representing an individual application to be shipped. TheAppConfigurationcontains several components such asworkload,accessories,labelsandaccessories, which are expected to be well-known concepts to the application developers. -
The container-based
Workloadschemas (ServiceandJob) and their child schemas used to describe an application's compute workload, currently mapping to various implementations in the Kubernetes runtime.
As mentioned above, the core KCL schemas such as AppConfiguration and workloads are not meant for customizations at this point.
However, we have introduced the concept of Kusion Modules. Kusion Modules are the collection of modular building blocks that represent common and re-usable capabilities required during an application delivery.
The officially-maintained Kusion Modules are located in the catalog repository (source code) and KusionStack container registry (published binaries). You can also build and publish your own modules. Here are some helpful starting points: