Helm version gets wrong rendered in timoni
When I install this helm release with flux-helm-release then it gets rendered as a different version (so instead of 0.10.1 it renderes as lastAttemptedRevision: 0.10.1+53d9c5dffd49 that then fails:
host: synapse.services.services.test
status:
conditions:
- lastTransitionTime: "2025-04-16T15:46:25Z"
message: Running 'install' action with timeout of 1h0m0s
observedGeneration: 1
reason: Progressing
status: "True"
type: Reconciling
- lastTransitionTime: "2025-04-16T15:46:25Z"
message: Running 'install' action with timeout of 1h0m0s
observedGeneration: 1
reason: Progressing
status: Unknown
type: Ready
lastAttemptedConfigDigest: sha256:e96eb8f79c9acb59507a1f2b7c1f6868f3d3a0c213550afd75fb470a5a841d61
lastAttemptedGeneration: 1
lastAttemptedRevision: 0.10.1+53d9c5dffd49
lastAttemptedRevisionDigest: sha256:53d9c5dffd491da66966f18c45100f285eee264666b1786b8fb250aea2997eb1
observedGeneration: -1
The error is:
Warning InstallFailed 15s helm-controller Helm install failed for release element/matrix-stack with chart [email protected]+53d9c5dffd49: 1 error occurred:
* ConfigMap "matrix-stack-well-known-haproxy" is invalid: metadata.labels: Invalid value: "0.10.1+53d9c5dffd49": a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyValue', or 'my_value', or '12345', regex used for validation is '(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])?')
bundle: {
apiVersion: "v1alpha1"
name: "ess-matrix-stack-bundle"
instances: {
"matrix-stack": {
module: {
url: "oci://ghcr.io/stefanprodan/modules/flux-helm-release"
version: "latest"
}
namespace: "element"
values: {
repository: {
url: "oci://ghcr.io/element-hq/ess-helm"
}
chart: {
name: "matrix-stack"
version: "0.10.1"
}
sync: {
timeout: 60
}
helmValues: {
serverName: string @timoni(runtime:string:WELLKNOWN_NAME)
synapse: {
ingress: {
host: string @timoni(runtime:string:SNYAPSE_URL)
}
}
matrixAuthenticationService: {
ingress: {
host: string @timoni(runtime:string:MATRIXAUTH_URL)
}
}
matrixRTC: {
ingress: {
host: string @timoni(runtime:string:MATRIXRTC_URL)
}
}
elementWeb: {
ingress: {
host: string @timoni(runtime:string:ELEMENT_URL)
}
}
postgres: {
enabled: true
storage: {
size: "10Gi"
}
}
}
}
}
}
}
how can i force timoni bundle to just use that version?
This is not a Timoni issue, this how we designed Flux to work for charts from OCI. You need to fix that chart not use the chart version as the label value, instead the chart standard is to use the app version.
Do you have an example? I dont know what to change it to.
See the replace "+" "_" in here: https://github.com/stefanprodan/podinfo/blob/b3396adb98a6a0f5eeedd1a600beaf5e954a1f28/charts/podinfo/templates/_helpers.tpl#L30
So you say its a problem with the chart? Because this is not my chart I guess I have to talk to the creator? As with helm (no timoni) only it works fine
Again this has nothing to do with Timoni, but with how Flux sets the chart version, it appends the OCI digest to the version.
Thanks. So no way to force it with a label or so? Or can this only be fixed by the creator of the Helm chart?