This repository was archived by the owner on Nov 26, 2025. It is now read-only.

Description
Problem
The opencloud-microservices chart maintains two parallel deployment methods:
- Helm via Helmfile (
deployments/helm/helmfile.yaml)
- Timoni via CUE (
deployments/timoni/*.cue + supporting files)
Both methods deploy the same chart but require separate configuration maintenance.
Current Structure
charts/opencloud-microservices/deployments/
├── helm/
│ └── helmfile.yaml # Helm values in YAML
└── timoni/
├── opencloud.cue # Timoni module definition
├── runtime.cue # Runtime configuration
├── configmap.yaml # Environment variables
└── README.md
Issues
- Duplication: Same configuration values must be maintained in multiple files
- Different Formats: YAML (Helm) vs CUE (Timoni)
- Synchronization Risk: Easy to update one and forget the other
- Confusion: Unclear which is the "source of truth"
Example
When adding COLLABORA_DOMAIN in PR #115, it had to be added to:
- ✅
configmap.yaml
- ✅
runtime.cue
- ✅
opencloud.cue
- ❓ But not in
helmfile.yaml (missed!)
Proposed Solutions
Option A: Remove Timoni
- Most users are familiar with Helm
- Reduces maintenance burden
- Single source of truth
Option B: Make Timoni a thin wrapper
- Timoni reads values from a shared file
- No duplication of configuration
Option C: Clear documentation
- Declare one as "primary"
- Auto-generate the other (CI/CD)
- Add checks to ensure synchronization
Questions for Discussion
- How many users actually use the Timoni deployment method?
- Is supporting both methods worth the maintenance overhead?
- If we keep both, how do we ensure they stay in sync?
cc @suse-coder (as the original contributor of the opencloud-microservices chart)