Source Repository
The Source Repository (usually ibm-mas/gitops) provides Helm Charts that define all of the Kubernetes resources required to deploy MAS instances using ArgoCD. The Helm Charts are split across three sub directories, depending on their intended target:
- root-applications: these charts define ArgoCD Application and ApplicationSet templates following the App of Apps pattern and target the Management Cluster where ArgoCD is running. The Applications and ApplicationSets render other charts from root-applications, cluster-applications or instance-applications
- cluster-applications: these charts define Kubernetes resources for installing cluster-wide MAS pre-requisites on Target Clusters where MAS is to be installed and managed.
- instance-applications: these charts define Kubernetes resources for installing and managing MAS instances on Target Clusters.
The following figure shows a tree of ArgoCD applications and Application Sets generated by the charts under root-applications, starting with the Account Root Application at the top.
Account Root Chart
Account Root Applications render the Account Root Chart, which installs the Cluster Root Application Set. This generates a set of Cluster Root Applications based on the configuration in the Config Repository
Cluster Root Chart
Cluster Root Applications render the Cluster Root Chart, which contains templates to generate ArgoCD Applications for configuring various dependencies shared by MAS instances on Target Clusters.
Application | Template | Helm Chart |
---|---|---|
IBM Operator Catalog | 000-ibm-operator-catalog-app.yaml | 000-ibm-operator-catalog |
Redhat Certificate Manager | 010-ibm-redhat-cert-manager-app.yaml | 010-redhat-cert-manager |
Data Reporter Operator (DRO) | 020-ibm-dro-app.yaml | 020-ibm-dro |
CIS Compliance | 040-cis-compliance-app.yaml | 040-cis-compliance |
NFD Operator | 050-nfd-operator-app.yaml | 050-nfd-operator |
Nvidia GPU Operator | 051-nvidia-gpu-operator-app.yaml | 051-nvidia-gpu-operator |
Custom Cluster Service Accounts | 060-custom-sa.yaml | 060-custom-sa |
The Cluster Root Chart also installs the Instance Root Application Set. This generates a set of Instance Root Applications based on the configuration in the Config Repository. |
Instance Root Chart
Instance Root Applications render the Instance Root Chart, which contains templates to generate ArgoCD Applications that installs MAS on Target Clusters, including:
Instance-level MAS dependencies:
Application | Template | Helm Chart |
---|---|---|
Db2u Operator | 110-ibm-db2u-app.yaml | 110-ibm-db2u |
Cloudpak 4 Data (CP4D) | 110-ibm-cp4d-app.yaml | 110-ibm-cp4d |
Cloudpak 4 Data (CP4D) Operators | 110-ibm-cp4d-operator-app.yaml | 110-ibm-cp4d-operators |
Cloudpak 4 Data (CP4D) CS Control | 110-ibm-cs-control-app.yaml | 110-ibm-cs-control |
Suite License Service (SLS) | 100-ibm-sls-app.yaml | 100-ibm-sls |
DB2 Databases | 120-db2-databases-app.yaml1 | 120-ibm-db2u-database |
Watson Studio Local (WSL) | 120-ibm-wsl-app.yaml | 120-ibm-wsl |
Watson Machine Learning (WML) | 120-ibm-wml-app.yaml | 120-ibm-wml |
Watson OpenScale (AI OpenScale) | 120-ibm-aiopenscale-app.yaml | 120-ibm-aiopenscale |
Analytics Engine powered by Apache Spark (Spark) | 120-ibm-spark-app.yaml | 120-ibm-spark |
SPSS Modeler | 120-ibm-spss-app.yaml | 120-ibm-spss |
gitops/root-applications/ibm-mas-instance-root/templates/120-ibm-spss-app.yaml
MAS Core Platform
This includes the suite, suite configurations and core workspaces
Application | Template | Helm Chart |
---|---|---|
MAS Core Suite | 130-ibm-mas-suite-app.yaml | 130-ibm-mas-suite |
MAS Workspaces | 200-ibm-mas-workspaces.yaml1 | 220-ibm-mas-workspace |
Suite Configs | 130-ibm-mas-suite-configs-app.yaml1 | Multiple charts 2 |
MAS Applications
These share a generic chart.
Application | Template |
---|---|
Assist | 510-ibm-mas-masapp-assist-install.yaml |
IoT | 510-ibm-mas-masapp-iot-install.yaml |
Manage | 500-ibm-mas-masapp-manage-install.yaml |
VisualInspection | 510-ibm-mas-masapp-visualinspection-install.yaml |
Health | 520-ibm-mas-masapp-health-install.yaml |
Monitor | 520-ibm-mas-masapp-monitor-install.yaml |
Optimizer | 520-ibm-mas-masapp-optimizer-install.yaml |
Predict | 540-ibm-mas-masapp-predict-install.yaml |
MAS Application Workspace Config
The generic 510-550-ibm-mas-masapp-configs.yaml1 template and 510-550-ibm-mas-suite-app-config chart is used for creating MAS Application workspaces.
-
These templates are capable of generating multiple Applications; necessary because there may be one or more instances of the type of resource they are responsible for managing. ↩↩↩↩
-
The Suite Configs Application is responsible for installing various types of suite configuration types (Mongo, BAS, SMTP, etc) at various scopes (
system
,app
,ws
,wsapp
). The chart is chosen dynamically based on the configuration type: JDBC, Kafka, BAS, IDP, Mongo, SLS, SMTP, COS ↩