Tested on MCM 3.2.0
Helm starters to bootstrap an MCM application
This repo includes example MCM applications to quickly bootstrap a new MCM application deployment. The example MCM application wraps are provided as Helm starters, allowing you to bootstrap a new Helm chart application from these. As for the target deployable, examples include both Helm chart(s) and native K8s.
Configure Helm client with these MCM app starters
Identify your $HELM_HOME directory (Tip: $ helm home
if $HELM_HOME not set).
Copy contents of this repo into $HELM_HOME/starters
.
git clone https://github.com/darcy202/mcm-app-wrap-starter.git
cp -r mcm-app-wrap-starter/* $HELM_HOME/starters
Example 1: Target deployable = Helm chart(s)
Bootstrap a new MCM application using the mcm-app-helm starter
$ helm create mcm-liberty-server00 --starter=mcm-app-helm
Customise as required
Where the target deployable is a Helm chart, you can use values-workload.yaml to override values.yaml in the target deployable Helm chart. The contents of values-workload.yaml is included in the deployable.yaml template (base64 encoded).
Deploy
$ helm install --name=mcm-liberty-server00 --set deployable.helm.chartURL="https://github.com/IBM/charts/blob/master/repo/stable/ibm-open-liberty-1.10.0.tgz?raw=true" ./mcm-liberty-server00/ --tls
$ kubectl get applications.app.k8s.io
Or manage via MCM portal at https://<master>:8443/multicloud/applications
Example 2: Target deployable = native Kubernetes yaml
Bootstrap a new MCM application using the mcm-app-k8s starter
$ helm create mcm-nginx-server00 --starter=mcm-app-k8s
Customise as required
Where the target deployable is native Kubernetes yaml, you can just reference your values.yaml directly since the target yaml is embedded in templates/deployable.yaml
.
Deploy
$ helm install --name=mcm-nginx-server00 ./mcm-nginx-server00/ --tls
$ kubectl get applications.app.k8s.io
Or manage via MCM portal at https://<master>:8443/multicloud/applications