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
AppConfiguration
schema which is the top layer abstraction representing an individual application to be shipped. TheAppConfiguration
contains several components such asworkload
,accessories
,labels
andaccessories
, which are expected to be well-known concepts to the application developers. -
The container-based
Workload
schemas (Service
andJob
) 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: