Skip to content

Commit d1429e5

Browse files
Merge pull request mendix#10752 from mendix/kk-pmp-installer26
PMP - installation updates for connected mode and build agent
2 parents 3791009 + 756d5da commit d1429e5

2 files changed

Lines changed: 183 additions & 35 deletions

File tree

content/en/docs/private-platform/pmp-quickstart.md

Lines changed: 182 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,29 @@ Private Mendix Platform supports using secret storage. If required, you can stor
1717
Using a secret storage incorrectly may reduce the security of your app. Consult your secrets store provider to ensure that it is set up securely for your production environment.
1818
{{% /alert %}}
1919

20+
### Overview
21+
22+
Before you start the installation process, review the following considerations:
23+
24+
#### Installation Order
25+
26+
Start the process by installing the Mendix Operator before you install the components. Some components are dependent on the Operator. Because of that, if you try to install a component without installing the Operator, the installation process fails and displays an error message.
27+
28+
#### Installing Components
29+
30+
Only the Private Cloud License Manager (PCLM) component is required. All other components are optional.
31+
32+
The following components must be installed in the same namespace as Private Mendix Platform:
33+
34+
* PCLM
35+
* Svix
36+
* Maia
37+
* Private Cloud components
38+
39+
Other components, such as the Build agent and PDF DocGen module, can be installed in any namespace.
40+
41+
If you add any components after installing Private Mendix Platform, you must re-run the Platform installer. For more information, see [Adding Additional Components After Installing the Private Mendix Platform](#adding-components).
42+
2043
### Prerequisites {#prerequisites}
2144

2245
Private Mendix Platform depends on Mendix on Kubernetes for the installation and deployment of Mendix apps.
@@ -251,6 +274,15 @@ Private Cloud License Manager is a required component of Private Mendix Platform
251274
252275
4. Click **Install PCLM**.
253276
277+
#### Uninstalling PCLM
278+
279+
If you want to uninstall Svix, run the following commands:
280+
281+
```text
282+
kubectl delete deployments/mendix-pclm -n=<Private Mendix Platform namespace>
283+
kubectl delete svc/mx-privatecloud-license-manager -n=<Private Mendix Platform namespace>
284+
```
285+
254286
## Optional: Installing the Svix Component {#install-svix}
255287

256288
Svix is required if you want to use webhooks. Install the Svix component by doing the following steps:
@@ -327,6 +359,135 @@ Svix is required if you want to use webhooks. Install the Svix component by doin
327359
The installer does not catch your pod's running status. In case of issues, verify that the pod is running correctly.
328360
{{% /alert %}}
329361
362+
### Uninstalling Svix
363+
364+
If you want to uninstall Svix, you must do it manually, by running the following command: `helm helm uninstall svix-server -n=<Private Mendix Platform namespace>`.
365+
366+
## Optional: Installing Private Cloud Components for Connected Mode
367+
368+
Private Mendix Platform now supports installation in [Connected mode](/developerportal/deploy/private-cloud/#connected-standalone). To enable this functionality, you must install the relevant Private Cloud components.
369+
370+
{{% alert color="info" %}}
371+
As of Private Mendix Platform 2.6, some functionalities are not yet available in Connected mode, and will be added in future releases. For more information, see [Known Issues](/releasenotes/private-platform/2-6/#known-issues).
372+
{{% /alert %}}
373+
374+
### Database Prerequisites
375+
376+
To enable connected mode, you must create the database Authenticator and Collector, and install NATS at your cluster.
377+
378+
* For the Authenticator, run the following commands:
379+
380+
```text
381+
CREATE Database <your database name, for example, authenticator>;
382+
// granted with Login permissions to the DB and CRUD tables, extends installation
383+
CREATE ROLE <your user name, for example, authuser> WITH LOGIN;
384+
ALTER ROLE <your user name> WITH PASSWORD '<your password>';
385+
ALTER ROLE <your user name> VALID UNTIL 'infinity';
386+
GRANT ALL PRIVILEGES ON DATABASE <your database name> to <your user name>;
387+
\c <your database name>
388+
GRANT ALL ON SCHEMA public to <your user name>;
389+
```
390+
391+
* For the Collector, run the following commands:
392+
393+
```text
394+
//preare the database for collector services;
395+
Create database <your database name, for example, collector>;
396+
//prepare the roles, the role need has permission to the database
397+
CREATE ROLE <your user name, for example, colluser> WITH LOGIN;
398+
ALTER ROLE <your user name> WITH PASSWORD '<your password>';
399+
ALTER ROLE <your user name> VALID UNTIL 'infinity';
400+
GRANT ALL PRIVILEGES ON DATABASE <your database name> to <your user name>;
401+
\c <your database name>;
402+
GRANT ALL ON SCHEMA public to <your user name>;
403+
```
404+
405+
* To install NATS at your cluster, run the following commands:
406+
407+
```helm
408+
> helm repo add nats https://nats-io.github.io/k8s/helm/charts/
409+
> helm repo update
410+
> helm repo list
411+
NAME URL
412+
nats https://nats-io.github.io/k8s/helm/charts/
413+
> helm install nats nats/nats --set cluster.enabled=true,cluster.name=nats -n <yourns>
414+
```
415+
416+
After NATS is installed, you can see the NATS service at your cluster at the URL `nats://nats:4222`.
417+
418+
### Installing the Private Cloud Components
419+
420+
To install the Private Cloud components, perform the following steps:
421+
422+
1. Download the *mx-private-cloud.zip* file from your Private Mendix Platform download portal.
423+
2. Unzip the *mx-private-cloud.zip* file.
424+
3. Copy the *images* from the *mx-private-cloud* directory to the *images* sub-directory of the installer by running the following command: `cp -r mx-private-cloud/images/* <your installer>/pmp-binary-linux/images`
425+
4. Upload the directory to your private registry by using the `installer init migrate` command. All the images must be in the same registry.
426+
5. Run the following command: `./installer component -n=<Private Mendix Platform namespace>`.
427+
6. Click **Install Private Cloud**.
428+
7. Configure the **General Options**:
429+
430+
* **Image Prefix** - The registry and namespace (if it exists) where the *mx-private-cloud* images are located
431+
* **Nats Address** - The address of your NATS server
432+
433+
8. Configure the **Authenticator** and **Collector** options:
434+
435+
* **Host** - Database Host
436+
* **Port** - Database port
437+
* **DB Name** - Database name
438+
* **DB User** - Database user
439+
* **DB Password** - Database password
440+
* **DB CA File Path** - If your database connection should [use SSL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html), specify the CA file path, otherwise leave blank
441+
442+
9. Configure the **Interactor** options.
443+
444+
* **Enable Ingress** - Enable this setting to expose the Interactor Bridge with a generic Ingress template
445+
* **Ingress Class Name** - The Ingress class name
446+
* **Class as Annotation** - This option adds the legacy `kubernetes.io/ingress.class` annotation to set the Ingress class, instead of using the Ingress class name; enable it to add the legacy annotation
447+
* **Enable TLS** - Enable this option if your TLS Certifcate is bound to Ingress
448+
* **TLS secret** - The TLS secret name
449+
450+
{{% alert color="info" %}}
451+
To allow other clusters to connect to Private Mendix Platform, you must expose the Interactor Bridge Service. Currently, the installer only supports using the generic Ingress template to expose the service. If you want to expose the Interactor Bridge with other method (for example, Openshift Route), contact the Private Mendix Platform team.
452+
{{% /alert %}}
453+
454+
10. Click **Review and Apply > Apply Configuration**.
455+
456+
### Uninstalling the Private Cloud Components
457+
458+
If you want to uninstall the Private Cloud components and delete the secret, run the following commands:
459+
460+
```helm
461+
helm uninstall mx-privatecloud -n=<Private Mendix Platform namespace>
462+
helm uninstall mx-privatecloud-secret -n=<Private Mendix Platform namespace>
463+
```
464+
465+
## Optional: Installing the Build Agent
466+
467+
The Build agent is required if you want to be able to build packages without having to enable Kubernetes API access in the [Admin Build Settings](/private-mendix-platform/reference-guide/admin/company/). Install the Build agent by doing the following steps:
468+
469+
1. Download the *mxplatform-kube-agent.zip* file from your Private Mendix Platform download portal.
470+
2. Unzip the *mxplatform-kube-agent.zip* file.
471+
3. Copy the *images* from the *mxplatform-kube-agent* directory to the *images* sub-directory of the installer by running the following command: `cp -r mxplatform-kube-agent/images/* <your installer>/pmp-binary-linux/images`
472+
4. Upload the directory to your private registry by using the `installer init migrate` command.
473+
5. Run the following command: `./installer component -n=<Private Mendix Platform namespace>`.
474+
6. In the **Components at any ns** section, select **Build Agent**.
475+
7. Configure the following settings:
476+
477+
* **Namespace** - The namespace where the Build agent will be installed
478+
* **Image Repo** - The image repository where the Build agent is located, in the following format: `${image_prefix}/${image_name}`
479+
* **Image Tag** - The Build agent image tag, for example, *ce687901*
480+
481+
8. Click **Install Build Agent**.
482+
483+
### Uninstalling the Build Agent
484+
485+
If you want to uninstall the Build agent, perform the following steps:
486+
487+
1. Unstall the component from its namespace by running the following command: `helm uninstall mxplatform-kube-agent -n=<component namespace>`.
488+
2. Edit the `pmp-component-config` configmap in your Private Mendix Platform namespace by running the following command: `kubectl edit configmap/pmp-component-config -n=<Private Mendix Platform namespace>`.
489+
3. Remove the BuildAgent data from the configmap.
490+
330491
## Installing the Private Mendix Platform
331492

332493
Install the Private Mendix Platform by doing the following steps:
@@ -394,59 +555,45 @@ Install the Private Mendix Platform by doing the following steps:
394555

395556
{{< figure src="/attachments/private-platform/pmp-install10.png" class="no-border" >}}
396557

397-
### Installing Maia for the Private Mendix Platform {#maia}
558+
## Installing Maia for the Private Mendix Platform {#maia}
398559

399560
[Mendix AI Assistance (Maia)](/refguide/mendix-ai-assistance/) refers to Mendix Platform capabilities that leverage [artificial intelligence (AI)](https://www.mendix.com/glossary/artificial-intelligence-ai/) and [machine learning (ML)](https://www.mendix.com/glossary/machine-learning/) to assist developers in application development. Private Mendix Platform currently offers support for Maia-assisted app creation. Other Maia capabilities, such as Maia Chat, will be made available in future releases.
400561

401-
To enable Maia for Private Mendix Platform, perform the following steps:
562+
To enable [Maia for Private Mendix Platform](/private-mendix-platform/maia/), perform the following steps:
402563

403-
1. Ensure that you fulfill the following prerequisites:
404-
405-
* Prepare the Amazon Bedrock LLM API key.
406-
* Make sure that you can expose the Maia service. The installer currently only support the Ingress method. If you are using other methods (for example, Openshift route, HAPROXY, or others), contact the Private Mendix Platform team for assistance.
407-
* Make sure that you know the Private Mendix Platform URL.
408-
409-
2. Download the *maia-appgen-pmp.zip* file from your Private Mendix Platform download portal.
410-
3. Unzip the *maia-appgen-pmp.zip* file.
411-
4. Copy the *maia-appgen-pmp* directory the *images* sub-directory of the installer by running the following command: `cp -r maia-appgen-pmp <your installer>/pmp-binary-linux/images`
412-
5. Upload the Maia directory to your private registry by using the `installer init` command.
413-
6. Run the following command: `./installer component -n=<Private Mendix Platform namespace>`. Maia must be installed at the same namespace as Private Mendix Platform.
414-
7. In the **Components at PMP ns** section, select **Maia**.
415-
8. Configure the following settings:
564+
1. Download the *maia-appgen-pmp.zip* file from your Private Mendix Platform download portal.
565+
2. Unzip the *maia-appgen-pmp.zip* file.
566+
3. Copy the *maia-appgen-pmp* directory to the *images* sub-directory of the installer by running the following command: `cp -r maia-appgen-pmp/images/* <your installer>/pmp-binary-linux/images`
567+
4. Upload the Maia directory to your private registry by using the `installer init migrate` command.
568+
5. Run the following command: `./installer component -n=<Private Mendix Platform namespace>`. Maia must be installed at the same namespace as Private Mendix Platform.
569+
6. In the **Components at PMP ns** section, select **Maia**.
570+
7. Configure the following settings:
416571

417572
* **Image Prefix** - The registry and namespace (if it exists) where the *maia-appgen-pmp* image is located
418573
* **Image Name** - The image name, for example, *maia-appgen-pmp*
419574
* **Image Tag** - The image tag of the AppGen image
420575
* **Enable Ingress** - Enable or disable Nginx ingress
421-
* **MXASSIST_COPILOT_AWS_SERVICE_REGION** - The Copilot AWS service region
422-
* **MXASSIST_COPILOT_AWS_BEDROCK_REGION** - The Copilot AWS Bedrock region
423-
* **Amazon_Bedrock_API_KEY** - An AWS Bedrock API key
424576
* **MXASSIST_COPILOT_MXID3_URL** - The OIDC URL of Private Mendix Platform, in the following format: `<your Private Mendix Platform URL>/oidc/`
425577

426-
9. After installing Maia, perform the following steps to connect to it from Studio Pro:
427-
428-
1. Download the patch file for Studio Pro 11.6 from the Private Mendix Platform download portal.
429-
2. Manually set the `MaiaAppGenServiceBaseUrlP` key to the exposed URL of your *maia-appgen-pmp*.
430-
431-
#### Uninstalling Maia
578+
### Uninstalling Maia
432579

433-
If you want to uninstall Maia, you must do it manually, by running the following command: `helm unstall maia-appgen -n=< maia namespace>`.
580+
If you want to uninstall Maia, run the following command: `helm unistall maia-appgen -n=<Private Mendix Platform namespace>`.
434581

435-
### Installing PDF Document Generation for the Private Mendix Platform
582+
## Installing PDF Document Generation for the Private Mendix Platform
436583

437584
The [PDF Document Generation module](/appstore/services/private-document-generation-service/) allows you to generate pixel-perfect PDF documents based on regular pages in your app.
438585

439586
To enable PDF Document Generation for Private Mendix Platform, perform the following steps:
440587

441588
1. Download the *document-generation-service.zip* file from your Private Mendix Platform download portal.
442589
2. Unzip the *document-generation-service.zip* file.
443-
3. Copy the *document-generation-service.zip* directory the *images* sub-directory of the installer by running the following command: `cp -r maia-appgen-pmp <your installer>/pmp-binary-linux/images`
444-
4. Upload the directory to your private registry by using the `installer init` command.
590+
3. Copy the *document-generation-service* directory to the *images* sub-directory of the installer by running the following command: `cp -r document-generation-service <your installer>/pmp-binary-linux/images`
591+
4. Upload the directory to your private registry by using the `installer init migrate` command.
445592
5. Run the following command: `./installer component -n=<Private Mendix Platform namespace>`. PDF Document Generation can be installed at the same namespace as Private Mendix Platform, or at any other namespace.
446593
6. In the **Components at PMP ns** section, select **PDF Gen**.
447594
7. Configure the following settings:
448595

449-
* **Namespace** - The namespace where PDF Document Generation will installed
596+
* **Namespace** - The namespace where PDF Document Generation will be installed
450597
* **Image Prefix** - The registry and namespace (if it exists) where the *document-generation-service* image is located
451598
* **Image Name** - The image name, for example, *document-generation-service*
452599
* **Image Tag** - The image tag of the AppGen image, for example, *1.0.2*
@@ -459,14 +606,15 @@ PDF Document Generation requires additional configuration for your Mendix apps t
459606

460607
If you want to uninstall PDF Document Generation, perform the following steps:
461608

462-
1. Unstall PDF Document Generation from its namespace by running the following command: `helm uninstall mx-private-document-generation -n=<PDF Document Generation namespace>`.
463-
2. Remove the PDF data from the `pmp-component-config` configmap in your Private Mendix Platform namespace by running the following command: `kubectl edit configmap/pmp-component-config -n=<Private Mendix Platform namespace>`.
609+
1. Unstall the component from its namespace by running the following command: `helm uninstall mx-private-document-generation -n=<component namespace>`.
610+
2. Edit the `pmp-component-config` configmap in your Private Mendix Platform namespace by running the following command: `kubectl edit configmap/pmp-component-config -n=<Private Mendix Platform namespace>`.
611+
3. Remove the PDFGen data from the configmap.
464612

465-
### Adding the Svix and PCLM Components After Installing the Private Mendix Platform
613+
## Adding Additional Components After Installing the Private Mendix Platform {#adding-components}
466614

467-
To ensure that the svix and PCLM components work correctly, you should install them before you install the Private Mendix Platform itself. If you want to add a component after the Platform installation (for example, if you want to install svix because you decided to enable webhooks), you must perform the following steps:
615+
To ensure that components such as svix, PCLM, the Build agent, or Private Cloud components work correctly, you should install them before you install the Private Mendix Platform itself. If you want to add a component after the Platform installation (for example, if you want to install svix because you decided to enable webhooks), you must perform the following steps:
468616

469-
1. Install the component as described in [Installing Private Cloud License Manager](#install-pclm) and [Installing the Svix Component](#install-svix).
617+
1. Install the component as described above.
470618
2. Run the command `./installer platform -n=<namespace name>`, where `-n` is the same namespace as the one where you installed Svix and PCLM.
471619

472620
Re-running the installation command ensures that the installer fetches the relevant information from the components that you added.

content/en/docs/releasenotes/private-platform/2.6.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ We have improved the UI and UX for the **Environment Overview** page, including
4949
##### Other Platform Components
5050

5151
* Mendix on Kubernetes Operator version [2.25.1](/releasenotes/developer-portal/mendix-for-private-cloud/#2.25.1)
52-
* Private Cloud License Manager (PCLM) version [0.10.7](/releasenotes/developer-portal/mendix-for-private-cloud/#license-manage-cli-v0107)
52+
* Private Cloud License Manager (PCLM) version [0.10.7](/releasenotes/developer-portal/mendix-for-private-cloud/#0.10.7)
5353
* Mendix Agents:
5454

5555
* Interactor v1.23.2

0 commit comments

Comments
 (0)