https://github.com/kusionstack/kam
KAM(Kusion Application Model)
https://github.com/kusionstack/kam
Last synced: 5 months ago
JSON representation
KAM(Kusion Application Model)
- Host: GitHub
- URL: https://github.com/kusionstack/kam
- Owner: KusionStack
- License: apache-2.0
- Created: 2024-03-25T08:06:37.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-14T08:34:31.000Z (about 1 year ago)
- Last Synced: 2025-02-19T18:42:59.499Z (12 months ago)
- Language: AMPL
- Size: 29.3 KB
- Stars: 1
- Watchers: 4
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# KAM (Kusion Application Model)
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. The `AppConfiguration` contains several components such as `workload`, `accessories`, `labels` and `accessories`, which are expected to be well-known concepts to the application developers.
- The container-based `Workload` schemas (`Service` and `Job`) and their child schemas used to describe an application's compute workload, currently mapping to various implementations in the Kubernetes runtime.
## Extending KAM capabilities
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](https://www.kusionstack.io/docs/kusion/concepts/kusion-module). 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](https://github.com/KusionStack/catalog) repository (source code) and [KusionStack container registry](https://github.com/orgs/KusionStack/packages) (published binaries). You can also build and publish your own modules. Here are some helpful starting points:
- [Kusion Module Concepts](https://www.kusionstack.io/docs/kusion/concepts/kusion-module)
- [Kusion Module Developer Guide](https://www.kusionstack.io/docs/kusion/concepts/kusion-module/develop-guide)
- [Kusion Module Scaffolding](https://github.com/KusionStack/kusion-module-scaffolding)