Skip to content

Conversation

@lokielse
Copy link
Contributor

Description

This PR updates the helm installation commands in the documentation to include the --set-string global.tag=<VERSION> parameter, which is required after the changes introduced in PR #628.

Background:
PR #628 changed the image tag resolution mechanism from using {{ .Chart.Version }} directly to using a fallback chain: component.image.tag → global.tag → Chart.AppVersion. Since global.tag now defaults to an empty string in values.yaml, the --version flag alone no longer controls the image tags used by the deployment.

Impact:
Without this fix, users installing KAI Scheduler with --version X.Y.Z would get the correct chart version but incorrect image tags (using Chart.AppVersion instead of the specified version).

Changes:

  1. Updated production installation command in README.md to include --set-string global.tag=<VERSION>
  2. Updated local build installation command in docs/developer/building-from-source.md to include --set-string global.tag=0.0.0

This ensures that both the Helm chart version and container image tags align with the user's intended version.

Related Issues

Related to #628

Note: This PR updates the documentation to reflect the changes introduced in #628, which modified the image tag resolution mechanism from {{ .Chart.Version }} to a fallback chain of component.image.tag → global.tag → Chart.AppVersion.

Checklist

  • Self-reviewed
  • Added/updated tests (if needed) - N/A for documentation changes
  • Updated CHANGELOG.md (if needed)
  • Updated documentation (if needed)

Breaking Changes

No breaking changes - this PR fixes documentation to match the current implementation.

Additional Notes

Files Modified:

  • README.md - Added --set-string global.tag=<VERSION> to the production installation command
  • docs/developer/building-from-source.md - Added --set-string global.tag=0.0.0 to the local build installation command

Verification:
Searched all markdown files in the repository to ensure all helm installation commands have been updated.

README.md Outdated
Run the following command after replacing `<VERSION>` with the desired release version:
```sh
helm upgrade -i kai-scheduler oci://ghcr.io/nvidia/kai-scheduler/kai-scheduler -n kai-scheduler --create-namespace --version <VERSION>
helm upgrade -i kai-scheduler oci://ghcr.io/nvidia/kai-scheduler/kai-scheduler -n kai-scheduler --create-namespace --version <VERSION> --set-string global.tag=<VERSION>
Copy link
Collaborator

Choose a reason for hiding this comment

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

Why is this needed? when not set the helm version should be used.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

There are 2 reasons:

  1. chat.version is a semantic version by its definition like 1.2.3, so v1.2.3 is not a standard version.
  2. There is another chat.appVersion which is a right choice for image tag because usually we may publish 1 chart to registry with multiple app versions(images)

In conclusion

  • chat.version is for the helm chart itself. We need to bump it if we make changes to helm chart. The chart need to be published to registry if its version is changed.
  • chat.appVersion is for application/docker images. No need to publish a new version of helm chart.
image

Copy link
Collaborator

Choose a reason for hiding this comment

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

I didn't understand that when approving the other PR. Maybe we should change the chart so that it is easy to set up instead of adding more arguments for it to work well?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

sorry for misleading you by the previous commit.
It's not add an additional argument.
It's replacing the --version <VERSION> to --set-string global.tag=<VERSION>.

I've pushed the latest commit.

Copy link
Collaborator

Choose a reason for hiding this comment

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

But then which version of the chart will be installed?

Copy link
Collaborator

Choose a reason for hiding this comment

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

I think that we need to make changes to the chart so that it will support the current commands, because there are already many scripts that depend on them.

Copy link
Contributor Author

@lokielse lokielse Nov 12, 2025

Choose a reason for hiding this comment

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

Let me close this PR.
I checked the details of building helm chart step.
It sets both version and appVersion so that it can select a correct chart by specify the version argument.
And images reference to appVersion which is the same value as version.

      - name: Build helm chart
        run: |
          sed -i 's#registry/local/kai-scheduler#${{ env.DOCKER_REGISTRY }}#' deployments/kai-scheduler/values.yaml
          helm package ./deployments/kai-scheduler -d ./charts --app-version $PACKAGE_VERSION --version $PACKAGE_VERSION

      - name: Push Helm Chart
        run: |
          helm push ./charts/kai-scheduler-$PACKAGE_VERSION.tgz oci://${{ env.DOCKER_REGISTRY }}

@lokielse lokielse closed this Nov 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants