|
1 | | -# Notice |
| 1 | +# Techzone Deployer for the Maximo Application Suite |
2 | 2 |
|
3 | | -This repo will be deprecated in favor of a cli driven pipeline at https://github.com/cloud-native-toolkit/deployer-mas-cli |
| 3 | +This repository contains a Tekton pipelines to deploy Maximo using [mas-ansible](https://ibm-mas.github.io/ansible-devops/). |
4 | 4 |
|
| 5 | +## Pre-requisites |
5 | 6 |
|
| 7 | +### Deployer Cluster |
6 | 8 |
|
7 | | -# Techzone Deployer for the Maximo Operator |
| 9 | +An IBM Technology Zone `deployer` cluster is assumed to be configured with an appropriate Red Hat OpenShift version for the Maximo version you wish to deploy, with appropriate sizing. Refer to [Maximo Product Documentation](https://www.ibm.com/docs/en/mas-cd/continuous-delivery?topic=planning) for more information. |
8 | 10 |
|
9 | | -This repository contains a Tekton pipelines to deploy the [Maximo Operator](https://github.com/cloud-native-toolkit/operator-masauto) that packages [mas-ansible](https://ibm-mas.github.io/ansible-devops/). |
| 11 | +A deployer cluster can be created by installing the Deployer Operator from TechZone |
10 | 12 |
|
11 | | -## Pre-requisites |
12 | 13 |
|
13 | | -An IBM Technology Zone `deployer` cluster is assumed to be configured with an appropriate Red Hat OpenShift version for the Maximo version you wish to deploy, with appropriate sizing. Refer to [Maximo Product Documentation](https://www.ibm.com/docs/en/mas-cd/continuous-delivery?topic=planning) for more information. |
| 14 | +### Entitlement key |
14 | 15 |
|
15 | | -A `deployer` cluster is configured with the following items: |
| 16 | +If deploying on TechZone the entitlement key is provided from the TechZone Secrets Repo. If deploying in a non-techzone cluster you will need to provide an entitlement key for the pipelinerun. |
16 | 17 |
|
17 | | -- ExternalSecrets operator deployed with a ClusterSecretStore configured. The remote ExternalSecrets secret store must include an IBM Entitlement Key. |
18 | | -- Techzone Deployer Tekton tasks deployed ([deploy YAML](https://github.com/cloud-native-toolkit/deployer-tekton-tasks/blob/main/argocd.yaml)). |
19 | | -- OpenShift GitOps configured with [One Touch Provisioning ArgoCD instance](https://github.com/one-touch-provisioning/otp-gitops), and any relevant RBAC rules. |
20 | | -- OpenShift Pipelines operator deployed. |
21 | | -- deployer pipelines tasks and cluster tasks |
| 18 | +Documentation for obtaining an entitlement key here: https://www.ibm.com/docs/en/cloud-paks/1.0?topic=clusters-obtaining-your-entitlement-key |
22 | 19 |
|
23 | 20 |
|
24 | | -## Pipelines organisation |
| 21 | +### Maximo License |
| 22 | + |
| 23 | +To activate Maximo you will need a valid license key which is a text file that contains software authorizations and entitlements. This pipeline in order to run automatically will need this file to be base64 encoded and saved in a kubernetes secret. |
| 24 | + |
| 25 | +1. save the license file to a file locally such as license.dat. |
| 26 | +2. Use a tool to base64 encode the file such as " |
| 27 | + |
| 28 | +``` |
| 29 | +cat license.dat | base64 > license.dat.b64 |
| 30 | +``` |
| 31 | + |
| 32 | +3. copy the output into an OpenShift secret in the default namespace |
| 33 | + |
| 34 | +``` |
| 35 | +oc create secret generic maximolicense --from-file=licensefile=license.dat.b64 -n default |
| 36 | +``` |
| 37 | + |
| 38 | +remember the name of the secret for the pipeline run. ( in the example above "maximolicense" is the name) |
25 | 39 |
|
26 | | -Maximo is deployed with a Tekton Pipeline that is defined in maximo-pipeline.yaml |
27 | 40 |
|
| 41 | +## Pipelines organisation |
| 42 | + |
| 43 | +Maximo is deployed with a Tekton Pipeline that is defined in pipeline.yaml |
28 | 44 |
|
29 | | -## Tasks |
| 45 | +the pipeline runs the MAS DevOps playbooks and can be modified or extended using other roles and playbooks. |
30 | 46 |
|
31 | | -Currently uses oc client, git clone, and helm-update-from-source from tekton hub |
| 47 | +Consult the documentation for MAS DevOps [here](https://ibm-mas.github.io/ansible-devops/) |
32 | 48 |
|
33 | 49 | ## Usage |
34 | 50 |
|
| 51 | + |
35 | 52 | ### |
| 53 | +switch to version directory of choice and run these commands |
36 | 54 | ``` |
37 | | -oc apply -f maximo-pipeline.yaml |
38 | | -
|
39 | | -tkn pipeline start mas-core-deploy --pod-template pod-template.yaml -w name=shared-workspace,volumeClaimTemplateFile=workspace-template.yaml |
| 55 | +oc apply -f pipeline.yaml |
| 56 | +oc create -f pipeline-run.yaml |
40 | 57 | ``` |
| 58 | + |
| 59 | +# Known Issues |
| 60 | + |
| 61 | +## Time to install |
| 62 | + |
| 63 | +In testing we have seen the pipeline take from 2-6 hours to progress from installation of operators to active instances of the software. please be patient. |
| 64 | + |
| 65 | +The pipeline is fully idempotent and can be restarted as needed. |
| 66 | + |
| 67 | + |
| 68 | +## TLS certs |
| 69 | + |
| 70 | +the pipeline looks for a lets-encrypt cert previously generated by upstream automation and if found uses this cert for maximo public routes. This cert may not have all maximo paths enabled by default. If you encounter a non-trusted certificate you may have to open the path in a separate browser window and accept the cert. |
0 commit comments