Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,17 @@ Modules are independent, composable building blocks that extend Kyma functionali
- 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 are contributed by the Kyma community and can be installed alongside managed modules provided by SAP.

> [!IMPORTANT]
> **Key Distinction**: Community modules differ fundamentally from standard (regular) Kyma modules:
>
> - **Community modules are NOT handled in the Kyma CR** - They are managed independently and are not part of the Kyma resource specification
> - **Community modules are NOT managed by Kyma Control Plane** - The control plane does not automatically manage their lifecycle
> - **All actions are performed explicitly by the user** - Installation, updates, and removal require manual intervention
> - **Community modules are NOT part of automatic lifecycle management** - They do not benefit from automatic updates, health monitoring, or lifecycle management provided by the Kyma Control Plane
>
> Community modules are not automatically updated or maintained by SAP. You are fully responsible for managing community modules, including keeping them updated, monitoring their health, and handling any issues that arise.
Comment on lines +30 to +38
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use the same version of the panel as we have in the two other docs.


---

Expand Down
21 changes: 20 additions & 1 deletion docs/user/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,17 @@

## Overview

Community modules are modules provided by the Kyma community. Use them to enhance your Kyma experience with additional features and capabilities. You can install community modules alongside managed modules. Unlike managed modules, community modules aren't automatically updated or maintained.
Community modules are modules provided by the Kyma community. Use them to enhance your Kyma experience with additional features and capabilities. You can install community modules alongside managed modules.

> [!IMPORTANT]
> **Key Distinction**: Community modules differ fundamentally from standard (regular) Kyma modules:
>
> - **Community modules are NOT handled in the Kyma CR** - They are managed independently and are not part of the Kyma resource specification
> - **Community modules are NOT managed by Kyma Control Plane** - The control plane does not automatically manage their lifecycle
> - **All actions are performed explicitly by the user** - Installation, updates, and removal require manual intervention
> - **Community modules are NOT part of automatic lifecycle management** - They do not benefit from automatic updates, health monitoring, or lifecycle management provided by the Kyma Control Plane
>
> Unlike managed modules, community modules aren't automatically updated or maintained. You are fully responsible for managing community modules, including keeping them updated, monitoring their health, and handling any issues that arise.

> [!WARNING]
> In SAP BTP, Kyma runtime community modules aren't subject to the Service Level Agreement (SLA).
Expand Down Expand Up @@ -64,3 +74,12 @@ To delete a community module, use the following command:
```

<!-- tabs:end -->

## Update Community Modules

Community modules are not automatically updated. To keep your modules up-to-date with the latest security patches, bug fixes, and new features, see the [Update Community Modules](update-modules.md) guide.

The guide provides step-by-step instructions for updating modules using:
- Kyma Dashboard (Busola)
- Kyma CLI
- kubectl
178 changes: 178 additions & 0 deletions docs/user/update-modules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
# Update Community Modules

## Community Modules vs. Standard Kyma Modules

> [!IMPORTANT]
> **Key Distinction**: Community modules differ fundamentally from standard (regular) Kyma modules:
>
> - **Community modules are NOT handled in the Kyma CR** - They are managed independently and are not part of the Kyma resource specification
> - **Community modules are NOT managed by Kyma Control Plane** - The control plane does not automatically manage their lifecycle
> - **All actions are performed explicitly by the user** - Installation, updates, and removal require manual intervention
> - **Community modules are NOT part of automatic lifecycle management** - They do not benefit from automatic updates, health monitoring, or lifecycle management provided by the Kyma Control Plane
>
> This means you are fully responsible for managing community modules, including keeping them updated, monitoring their health, and handling any issues that arise.

## Why Keep Modules Up-to-Date?

Unlike managed modules in the SAP Kyma Runtime offering, community modules are not automatically updated. It's important to regularly update your community modules to:

- **Security**: Receive security patches and vulnerability fixes that protect your cluster and applications
- **New Features**: Access the latest functionality, improvements, and capabilities added by the community
- **Bug Fixes**: Benefit from bug fixes and stability improvements
- **Compatibility**: Ensure compatibility with newer versions of Kyma modules and other dependencies
- **Performance**: Take advantage of performance optimizations and efficiency improvements

> [!WARNING]
> Before updating a module, review the release notes and changelog for breaking changes or migration requirements. Some updates may require additional configuration or manual migration steps.



## Check Available Versions

Before updating, check which versions are available for your module:

```bash
kyma module catalog
```

This command lists all available modules and their versions in the community modules catalog.

Alternatively, you can check the [community modules catalog](https://kyma-project.github.io/community-modules/all-modules.yaml) directly.

## Update Methods

You can update community modules using any of the following methods:

<!-- tabs:start -->

#### **Kyma Dashboard (Busola)**

1. **Access the Kyma Dashboard**
- Open your Kyma Dashboard (Busola) in a web browser
- Navigate to the **Modules** section

2. **Check Current Module Status**
- Find the community module you want to update in the list
- Note the current version displayed

3. **Check and Install Latest Module Templates**
- Click the **Add** button in the **Community Modules** section
- Click **Add source YAML**
- You will see a list of module templates from the community repository (default YAML URL: `https://kyma-project.github.io/community-modules/all-modules.yaml`)
- The list shows:
- Modules that are already installed (these cannot be added again)
- ModuleTemplates that can be added
- If there are any ModuleTemplates to add, click the **Add** button to install the missing templates

4. **Update the Module**
- Go back to the modules list view
- Switch the view into **edit mode**
- Scroll down to the **Community Modules** section
- Find the module you want to update
- Each module has a dropdown menu with a version selector after its name
- Click on the dropdown for the module you want to update
- Select the newer version from the dropdown
- Click the **Save** button to apply the update

5. **Verify the Update**
- Wait for the module status to change to `Ready`
- Verify the version number has been updated
- Check that the module is functioning correctly

#### **Kyma CLI**

1. **Check Available Versions**
```bash
kyma module catalog
```
Look for your module and note the available versions.

2. **Check Current Module Version**
```bash
kyma module list
```
This shows your currently installed modules and their versions.

3. **Pull the New ModuleTemplate**
```bash
kyma module pull {MODULE_NAME} --version {NEW_VERSION} --namespace {NAMESPACE}
```
Replace:
- `{MODULE_NAME}` with your module name (e.g., `cap-operator`)
- `{NEW_VERSION}` with the target version (e.g., `0.21.0`)
- `{NAMESPACE}` with the namespace where the ModuleTemplate should be stored (default: `default`)

Example:
```bash
kyma module pull cap-operator --version 0.21.0 --namespace default
```

4. **Update the Module**
```bash
kyma module add {MODULE_NAME} --origin {NAMESPACE}/{MODULE_NAME}-{NEW_VERSION}
```
Replace:
- `{MODULE_NAME}` with your module name
- `{NAMESPACE}` with the namespace where you pulled the ModuleTemplate (usually default)
- `{NEW_VERSION}` with the new version

Example:
```bash
kyma module add cap-operator --origin default/cap-operator-0.21.0
```


5. **Verify the Update**
```bash
kyma module list
```
Confirm that your module shows the new version.

#### **kubectl**

1. **Check Available Versions**
```bash
curl -s https://kyma-project.github.io/community-modules/all-modules.yaml | grep -A 5 "moduleName: {MODULE_NAME}"
```
Replace `{MODULE_NAME}` with your module name to see available versions.

2. **Check Current Module Version**
```bash
kubectl get moduletemplate -A | grep {MODULE_NAME}
```
This shows the currently installed ModuleTemplate versions.

3. **Apply the New ModuleTemplate**
```bash
kubectl apply -f https://kyma-project.github.io/community-modules/all-modules.yaml
```
This applies all community modules, including newer versions.

Alternatively, if you know the specific module file URL:
```bash
kubectl apply -f https://raw.githubusercontent.com/kyma-project/community-modules/main/modules/{MODULE_NAME}/{MODULE_NAME}-{NEW_VERSION}.yaml
```
Replace:
- `{MODULE_NAME}` with your module name
- `{NEW_VERSION}` with the new version

Example:
```bash
kubectl apply -f https://raw.githubusercontent.com/kyma-project/community-modules/main/modules/cap-operator/cap-operator-0.21.0.yaml
```

4. **Install the Module Operator**

After applying the ModuleTemplate, you need to install the actual module operator by applying the manifest referenced in the ModuleTemplate's `spec.resources.rawManifest` field:
```bash
kubectl apply -f <rawManifest_URL>
```

5. **Verify the Update**
```bash
kubectl get moduletemplate -A | grep {MODULE_NAME}
kubectl get deployment -n {MODULE_SYSTEM_NAMESPACE}
```
Verify that the new ModuleTemplate exists and the module operator deployment is running.

<!-- tabs:end -->