This repository contains ModuleTemplate
definitions for modules contributed by the Kyma community. These modules can be installed in Kyma clusters using the Kyma Dashboard (Busola). Community modules offer flexibility and innovation beyond the fully-managed SAP Kyma Runtime offerings.
Install ModuleTemplare CRD:
kubectl apply -f https://raw.githubusercontent.com/kyma-project/lifecycle-manager/refs/heads/main/config/crd/bases/operator.kyma-project.io_moduletemplates.yaml
Install all community modules:
kubectl apply -f https://kyma-project.github.io/community-modules/all-modules.yaml
Now you can see the modules in the Kyma Dashboard (Busola) under "Modules" section or use Kyma CLI to manage them (see kyma module command)
Modules are independent, composable building blocks that extend Kyma functionality. Each module typically provides:
- A Kubernetes operator (manager)
- A default configuration custom resource (CR)
- Optional metadata, documentation, and versioning
Community modules are contributed by the Kyma community and can be installed alongside managed modules provided by SAP. Community modules are not automatically updated or maintained by SAP, but they can be used to enhance your Kyma experience with additional features and capabilities.
community-modules/
│
├── modules/
│ ├── module-a/
│ │ └── module-a-0.1.0.yaml
│ └── module-b/
│ └── module-b-1.2.0.yaml
│
├── .github/
│ └── workflows/
│ └── publish.yaml # GitHub Action to bundle all templates for GitHub Pages
│
├── docs/
│ └── CONTRIBUTING.md # How to contribute your own module
│
├── .gitignore
└── README.md
The ModuleTemplate
is a Kubernetes Custom Resource (operator.kyma-project.io/v1beta2
) that describes:
- Module metadata and visual assets
- Manager resource for health tracking (spec.manager)
- Default CR to bootstrap the module (spec.data)
- Version
spec:
moduleName: my-module
manager:
group: apps
version: v1
kind: Deployment
name: my-module-operator
namespace: my-module-system
data:
apiVersion: example/v1
kind: MyModule
metadata:
name: my-module
info:
repository: https://github.com/example/my-module
documentation: https://docs.example.com
icons:
- name: logo
link: https://example.com/icon.png
All ModuleTemplate
CRs are aggregated and published as:
These endpoints are consumed by Kyma Dashboard to render a catalog of installable community modules.
You can also use these files to install all modules at once:
kubectl apply -f https://kyma-project.github.io/community-modules/all-modules.yaml
We welcome community module contributions! Follow these steps:
- Fork this repository
- Create a folder under
modules/your-module-name/
- Add a valid
moduletemplate.yaml
(based onv1beta2
spec) - Open a pull request with a short description
See docs/CONTRIBUTING.md for detailed instructions and validation tips (using modulectl
).
- No SLA or upgrade guarantees for community modules
- Incompatible or invalid templates may break during Dashboard rendering
- Some modules may require additional configuration or permissions
For standard contribution rules see CONTRIBUTING.md.
See CODE_OF_CONDUCT.md.
See the LICENSE file.