kyma icon indicating copy to clipboard operation
kyma copied to clipboard

Enable/disable Kyma modules

Open pbochynski opened this issue 2 years ago • 3 comments

Description

Provide easy to use and transparent way to enable and disable Kyma components. Requirement:

  • user should know what components are available and which are installed
  • installation/removal status is visible (installed, in progress, pending, deleting etc)
  • user can manage modules with CLI or UI (busola)

Implementation ideas

Kyma component list can be stored in the Kyma cluster (custom resource). This resource could be created/modified by CLI or UI. Kyma CLI can read that resource as input and update its status when the deploy command finishes. Such resource could be also used by the kyma-operator working in the central control-plane (managed Kyma scenario).

pbochynski avatar Mar 09 '22 10:03 pbochynski

This issue has been automatically marked as stale due to the lack of recent activity. It will soon be closed if no further activity occurs. Thank you for your contributions.

kyma-stale-bot[bot] avatar May 14 '22 08:05 kyma-stale-bot[bot]

Additional Ideas / Addins towards the above:

  • Users should be able to enable / disable modules purely on base of the CR as a Contract. CLI / kubectl / K8s API-Server and last but not least Busola should only be the way to get a module enabling change applied.
  • CR should be used as contract for desired and actual state. This means that deriving which modules are installed should be possible by reading all CRs with their desired state incorporating the module
  • We can introduce visibility flags for the readiness state in kubectl, UI etc. to get easy-to-see overviews over reconciliation status (like we have now in KCP). For now this should probably only contain the actual state as details can be observed in the CR
  • Enabling a module should not be more than changing one single source of truth document (e.g. through changing the desired state of the module)
  • Each module should receive sensible defaults for versioning, making sure we do not need to overburden the CR with everything.
  • Kyma CLI could contain a new module that is a shared logic with a krew plugin, maybe even allowing to omit kymactl necessity totally for SREs (not sure if we want that)

jakobmoellerdev avatar Jun 13 '22 11:06 jakobmoellerdev

The concept is more clarified now: https://github.com/kyma-project/community/tree/main/concepts/modularization Users will create Kyma resources with the module list in the spec. To enable module users provide:

  • name (required)
  • channel (optional)

Available modules are defined by ModuleTemplate custom resource (one resource for each module and channel combination). ModuleTemplates are installed with kyma-operator (standalone mode) or replicated from control-plane to Kyma cluster (central mode). ModuleTemplate defines:

  • module operator deployment (each module comes with its own operator)
  • module installation CRD
  • default installation CR (what will be installed after enabling the module)

kyma-operator manages lifecycle of the operator and its CRD in the kyma cluster.

pbochynski avatar Aug 03 '22 13:08 pbochynski

This issue has been automatically marked as stale due to the lack of recent activity. It will soon be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Oct 03 '22 03:10 github-actions[bot]

Will be covered by https://github.com/kyma-project/cli/issues/1328

tobiscr avatar Oct 05 '22 15:10 tobiscr

This issue or PR has been automatically marked as stale due to the lack of recent activity. Thank you for your contributions.

This bot triages issues and PRs according to the following rules:

  • After 60d of inactivity, lifecycle/stale is applied
  • After 7d of inactivity since lifecycle/stale was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Close this issue or PR with /close

If you think that I work incorrectly, kindly raise an issue with the problem.

/lifecycle stale

kyma-bot avatar Dec 04 '22 16:12 kyma-bot

This issue or PR has been automatically marked as stale due to the lack of recent activity. Thank you for your contributions.

This bot triages issues and PRs according to the following rules:

  • After 60d of inactivity, lifecycle/stale is applied
  • After 7d of inactivity since lifecycle/stale was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Close this issue or PR with /close

If you think that I work incorrectly, kindly raise an issue with the problem.

/lifecycle stale

kyma-bot avatar Feb 05 '23 07:02 kyma-bot

Almost done now. You can enable/disable modules using Kyma CRD introduced by lifecycle-manager. A list of modules can be edited using kubectl and Kyma Dashboard. Kyma CLI implementation is not done yet.

pbochynski avatar Feb 06 '23 13:02 pbochynski

CLI has a possibility to enable/disable modules.

pbochynski avatar Apr 07 '23 08:04 pbochynski