openmcp-project / openmcp-project/backlog

Task: Move Service Provider `Manager` abstraction to controller-utils

Open
#620 1 comment 0 reactions 1 assignee View on GitHub

@jakobve is already working on this.

Since Aug 10, 2026.

kind/task sig/extensibility
Dominant language
No language data
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Description

Service providers velero, flux and eso currently contain duplicated controller logic that has been copied and adapted over time. This is especially the case for a Manager abstraction that has been introduced with the initial implementation of sp-velero and then copied over to sp-eso and sp-flux. This duplication increases maintenance overhead, creates inconsistencies between implementations and makes bug fixes difficult to roll out uniformly.

Moving the manager implementation to controller-utils could provide reference implementations for both flux based and native service providers which includes commonly required functionality like orphaned resource cleanup, version selection, secret sync etc. The manager module could then also be used in the service provider template example code generation.

Goals

  • Reduce copy-pasted service provider code
  • Centralize bug fixes and improvements to reduce maintenance efforts
  • Improve consistency across service providers
  • Provide reusable "flux implementation" for e.g. aso

Non-Goals

  • Rewriting all existing service providers immediately

Done Criteria

  • The Manager is consumable as reusable piece of code from controller-utils
  • The Manager provides a fully functional implementation for basic flux based service providers that just want to deploy a HelmChart + OCIRepository
  • Either sp-flux or sp-eso use the manager from controller-utils
  • The Service Provider development guide points out the usage of the manager for flux based service providers.
  • Code has been reviewed by other team members
  • New / changed code is documented
  • Unit Tests created for new code or existing Unit Tests updated
  • Integration Test Suite updated
  • Enduser Documentation updated (if applicable)
  • Successful demonstration in Review

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.