Fully customizable Helm Charts
IBM Industry Solutions Workbench is using pre-defined helm chart templates for the build and deployment of Service Projects. These helm charts can be adjusted or completely overridden for specific Service Projects depending on your needs and requirements.
Prerequisites
Good knowledge about:
kubernetes resources and deployments
CI/CD Pipelines
helm charts
Access to a Helm Repository configured as Component Repositories
helm CLI
Retrieve Helm Chart template
A good starting point to use own or adjust the pre-defined helm charts is to retrieve an already built helm chart from your configured Component Repository. That means after running your first Release Pipeline you can connect to the repository and retrieve the regarding helm chart.
For example:
helm repo add myrepo https://chartmuseum.my.openshift.knowis.cloud --username user --password password123
helm repo update
helm pull myrepo/myprojectacronym
Now you should be able to unpack the tgz-file and use/adjust the helm chart.
Add own Helm Chart to Service Project
To use the customized helm chart in your pipelines it must be copied and pushed into your git project (Service Project) at root level. The folder structure of your project should look like:
helm-chart
Chart.yaml
README.md
values.yaml
templates
_helpers.tpl
configmap.yaml
deployment.yaml
hpa.yaml
pdb.yaml
route-api.yaml
route-artifacts.yaml
rout-root.yaml
service.yaml
...
myprojectacronym-application
src
main
...
pom.xml
src-design
api
...
domain
...
schemas
...
solution.yml
helm-chart
folder has exactly this name and structure.
Use dynamic values in the pipeline
The following placeholder can be used in the values.yaml
to be updated/replaced via the pipelines:
%IMAGE_REGISTRY%
: will be replaced by the configured image registry (e.g.my.registry.io/namespace
)%SOLUTION_IMAGE_TAG%
: will be replaced by the service project version/tag (e.g.1.0.0
)%SOLUTION_ACRONYM%
: will be replaced by the service project acronym (e.g.myservice
)%SOLUTION_FULLNAME%
: will be replaced by the service project name (e.g.My New Service
)