For now this only uses the default deployment. Signed-off-by: Stephen Kitt <skitt@redhat.com>
submariner-charts
Please see the Helm docs on Submariner's website.
Dev workflow
Prerequisites
Create a fork and checkout
Create a fork of the original repository, clone it locally and checkout a new branch from master.
Example:
git clone https://github.com/myuser/submariner-charts.git
cd submariner-charts
git checkout -b new-feature
Now you can modify the helm charts according to your needs.
Serve the modified charts
Before serving the modified charts, the charts must be packaged for local usage.
helm package ./submariner
helm package ./submariner-k8s-broker
Note: if you just installed helm, you have to init the helm, by running
helm init --client-only
Serve the packaged charts through a local helm repository:
docker run -d --rm --name helm-repo -p 8080:8080 -v $PWD:/charts -e DEBUG=true -e STORAGE=local -e STORAGE_LOCAL_ROOTDIR=/charts chartmuseum/chartmuseum
or
sudo podman run -d --rm --name helm-repo -p 8080:8080 -v $PWD:/charts -e DEBUG=true -e STORAGE=local -e STORAGE_LOCAL_ROOTDIR=/charts chartmuseum/chartmuseum
Get the container internal ip:
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' helm-repo
The local container will serve the charts locally on port 8080.
Get logs for the container:
docker logs -f helm-repo
Use the modified charts
Init helm
helm init --client-only
Add your local repository to helm
internal_ip=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' helm-repo)
helm repo add test-repo http://$internal_ip:8080
List the repos:
helm repo list
You should be able to see test-repo in the list
Search the new repo for submariner charts:
helm search -l test-repo
Modify submariner e2e tests helm deployment script to use your local test-repo
You can test your helm-charts with e2e tests from the shipyard repository.
In the file scripts/shared/lib/deploy_helm change the line from:
helm repo add submariner-latest https://submariner-io.github.io/submariner-charts/charts
to
internal_ip=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' helm-repo)
helm repo add submariner-latest http://$internal_ip:8080