Testing chart changes against Konvoy requires the following:
- hosting your own chart
- updating the addon repo (e.g.
kubernetes-base-addons
,kubeaddons-kommander
) - updating the addon in Konvoy's
cluster.yaml
Assuming you've forked the mesosphere/charts
repo, the following is a guide
on how to manually test your changes from the point of running konvoy up
.
- Make chart changes
- Update
Chart.yaml
- Update
home
to point to your fork - Increment
version
based on your chart's versioning scheme; commonly semver.
- Update
- Check your chart has acceptable values/yaml:
helm lint .
- Package your chart:
helm package .
In Github, you can host charts from your own repository.
See Configuring a publishing source for your Github
Pages.
A commonly used branch is gh-pages
.
-
Generate the
index.yaml
file for your chart. If you're updating astable
chart:helm repo index --url "https://<your_github_org>.github.io/charts/stable" .
-
Copy the new chart details under the
entries:
section. This is used later to add a new entry to the remoteindex.yaml
file. -
Switch to the
gh-pages
branch:git checkout gh-pages
-
Copy your local helm archive to the appropriate directory:
cp <chart_tgz> ../stable
-
Update the
index.yaml
file inside of that same directory to include your new chart details:vim ../stable/index.yaml
- Here you add a new entry for the chart version you're testing
-
Commit and push your changes to the
gh-pages
branch -
Now your chart is hosted at
https://<your_github_org>.github.io/charts/stable/<chart.tgz>
Next, you'll need to update the addon that references the chart. Depending on
your permissions, you may have to fork the addons repo. For example, if you're
updating the dashboard
chart in kubernetes-base-addons
, you'll need to
update the <repo>/kubernetes-base-addons/addons/dashboard/<version>/dashboard-<x>.yaml
file.
- Update the
chartReference
section:- Point
repo
to your hosted chart url - Update
version
to the chart you're testing
- Point
- Commit and push changes to a branch. This branch will be referenced in
Konvoy's
cluster.yaml
To deploy Konvoy using your latest addon changes, update Konvoy's
cluster.yaml
addons:
section:
- Update
configRepository
to point to your addons repository - Update
configVersion
to the your testing branch - Run
konvoy up
- If you already have a running Konvoy cluster, run
konvoy deploy addons
- If you already have a running Konvoy cluster, run
Your chart changes should now be reflected in the Addon deployment