-
Notifications
You must be signed in to change notification settings - Fork 795
Updates to PMP install #11060
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
katarzyna-koltun-mx
wants to merge
14
commits into
development
Choose a base branch
from
kk-pmp-install
base: development
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Updates to PMP install #11060
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
29f9f32
Updates to PMP install
katarzyna-koltun-mx c2d4da7
updates
katarzyna-koltun-mx f26e93a
test
katarzyna-koltun-mx ce25507
Draft
katarzyna-koltun-mx 8e0a9e7
Update _index.md
katarzyna-koltun-mx b7998cd
Update installation instructions and task descriptions
katarzyna-koltun-mx c48507a
Update pmp-quickstart-noninteractive.md
katarzyna-koltun-mx f1bf0f8
Clarify upgrade instructions for PCLM and Maia components
katarzyna-koltun-mx 748c727
Update pmp-quickstart.md
katarzyna-koltun-mx e5d122e
Update pmp-quickstart-noninteractive.md
katarzyna-koltun-mx cd38ec6
Merge branch 'development' into kk-pmp-install
katarzyna-koltun-mx a4fcbb3
Update _index.md
katarzyna-koltun-mx 515f20b
updates
katarzyna-koltun-mx 475a172
Merge branch 'kk-pmp-install' of https://github.com/mendix/docs into …
katarzyna-koltun-mx File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,87 @@ | ||
| --- | ||
| title: "Private Mendix Platform Quick Start Guide" | ||
| url: /private-mendix-platform/quickstart/ | ||
| description: "Documents the installation and upgrade process for the Private Mendix Platform." | ||
| weight: 20 | ||
| no_list: false | ||
| description_list: true | ||
| aliases: | ||
| - /private-mendix-platform-quickstart/ | ||
| --- | ||
|
|
||
| ## Introduction | ||
|
|
||
| This document provides a comprehensive guide for installing Private Mendix Platform, along with its optional components, in your own Kubernetes environment. | ||
|
|
||
| Private Mendix Platform supports using secret storage. If required, you can store some configuration in a secret vault (for example, AWS, Azure, or Hashicorp) without setting up a storage plan, database plan, PCLM admin and Mendix admin info in the Private Mendix Platform installer. | ||
|
|
||
| {{% alert color="info" %}} | ||
| 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. | ||
| {{% /alert %}} | ||
|
|
||
| ### Overview | ||
|
|
||
| Before you start the installation process, review the following considerations: | ||
|
|
||
| #### FIPS Compliance | ||
|
|
||
| Private Mendix Platform can run with FIPS-compliant encryption across the entire Platform, including Mendix Runtime, Private Mendix Platofrm itself, Mendix Operator, and Studio Pro. | ||
|
|
||
| #### Installation Mode | ||
|
|
||
| You can perform the installation in interactive or non-interactive mode. In [interactive mode](/private-mendix-platform/interactive-installation/), you manually install Private Mendix Platform components. In [non-interactive](/private-mendix-platform/noninteractive-installation/) mode, you use commands to automatically install Private Mendix Platform components. | ||
|
|
||
| #### Installation Order | ||
|
|
||
| Start the process by installing the Mendix Operator before you install the components. 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. | ||
|
|
||
| #### Installing Components | ||
|
|
||
| Only the Private Cloud License Manager (PCLM) component is required. All other components are optional. | ||
|
|
||
| The following components must be installed in the same namespace as Private Mendix Platform: | ||
|
|
||
| * PCLM | ||
| * Svix | ||
| * Maia | ||
| * Private Cloud components | ||
|
|
||
| Other components, such as the Build agent and PDF DocGen module, can be installed in any namespace. | ||
|
|
||
| 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). | ||
|
|
||
| ### Prerequisites {#prerequisites} | ||
|
|
||
| Private Mendix Platform depends on Mendix on Kubernetes for the installation and deployment of Mendix apps. | ||
|
|
||
| Before starting the installation process, make sure that you have all the necessary prerequisites: | ||
|
|
||
| * A Kubernetes instance where the target namespace has already been created. For more information, see [Supported Providers: Supported Versions](/developerportal/deploy/private-cloud-supported-environments/#supported-versions). | ||
| * A database. For more information, see [Supported Providers: Databases](https://docs.mendix.com/developerportal/deploy/private-cloud-supported-environments/#databases). | ||
| * File storage. For more information, see [Supported Providers: File Storage](/developerportal/deploy/private-cloud-supported-environments/#file-storage). | ||
| * A registry. For more information, see [Supported Providers: Container Registries](/developerportal/deploy/private-cloud-supported-environments/#container-registries). | ||
| * A domain. | ||
| * For the PCLM component: | ||
|
|
||
| * Mendix Operator in version 2.21.0 or above | ||
| * A dedicated Postgres or SQLServer database server. | ||
|
|
||
| * Optionally, if your Private Mendix Platform app requires its own certificate: a TLS certificate with HTTPS support. | ||
| * An environment to run installer tools with the following requirements: | ||
|
|
||
| * A kubeconfig file with administrator privileges for your Kubernetes or OpenShift platform | ||
| * A command line terminal that supports the console API and mouse interactions. In Windows, this can be PowerShell or the Windows Command Prompt. | ||
| * For OpenShift clusters, OpenShift CLI. For more information, see [Getting started with the CLI](https://docs.openshift.com/container-platform/4.1/cli_reference/getting-started-cli.html). | ||
| * Kubectl installed if you are deploying to another Kubernetes platform. For more information, see [Install and Set Up kubectl](https://kubernetes.io/docs/tasks/tools/). | ||
|
|
||
| * Optionally, if you plan to install the Svix component: | ||
|
|
||
| * An existing PostgreSQL database instance. | ||
| * An optional Redis server version 6.2.0 or higher, for the task queue and cache. Using Redis is recommended for high availability, where you expect a high volume of webhook calls, or if you have multiple Svix servers. As a best practice, enable persistence in Redis so that tasks are persisted across Redis server restarts and upgrades. | ||
|
|
||
| * If you plan to use the AWS Secret Manager, install an AWS provider at your cluster, as described in [Kubernetes Secrets Store CSI Driver](https://secrets-store-csi-driver.sigs.k8s.io/). | ||
| * If you plan to use Azure Key Vault, see [Configuring a Secret Store with Azure Key Vault](/developerportal/deploy/secret-store-credentials/#azure-key-vault). | ||
|
|
||
| ## Read More | ||
|
|
||
|
|
249 changes: 249 additions & 0 deletions
249
content/en/docs/private-platform/quickstart/pmp-quickstart-noninteractive.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,249 @@ | ||
| --- | ||
| title: "Install Private Mendix Platform in Non-Interactive Mode" | ||
| linktitle: "Non-Interactive Installation" | ||
| url: /private-mendix-platform/noninteractive-installation/ | ||
| description: "Documents the installation process for Private Mendix Platform in non-interactive (automatic) mode." | ||
| weight: 30 | ||
| --- | ||
|
|
||
| ## Introduction | ||
|
|
||
| To support automated namespace installation and configuration, we have provided a non-interactive mode in the configuration tool. In non-interactive mode, you use commands to automatically install Private Mendix Platform components. If you would like to perform a manual installation instead, see [Install Private Mendix Platform in Interactive Mode](/private-mendix-platform/interactive-installation/). | ||
|
|
||
| Non-interactive mode supports the following tasks: | ||
|
|
||
| * Automated namespace installation, upgrade, and Operator configuration | ||
| * Installation and upgrade of components such as Svix, PCLM, and others | ||
| * Installation and upgrade of Private Mendix Platform | ||
|
|
||
| ## Performing the Installation | ||
|
|
||
| To install and configure Private Mendix Platform and its components, perform the following steps: | ||
|
|
||
| 1. Download the release binary from your [Private Mendix Platform download portal](https://privateplatform.mendix.com/). If you do not have access to the download portal, contact your Mendix partner for information. | ||
|
|
||
| 2. Unzip the release binary to a local folder on your Windows or Linux server. The release binary contains the following files: | ||
|
|
||
| * **Tools** - *mx-pclm-cli*, which can be used to manage PCLM | ||
| * **helm**, and **helmfile** tools, which are used to deploy and manage Private Mendix Platform charts and Svix charts | ||
| * **images** - Private Mendix Platform image, PCLM image, Svix image, test application image | ||
| * **Installer** - installer tools | ||
| * **mxpc-cli** - installation tools which can be used to manage or configure the Mendix Operator | ||
| * **charts** - charts, including Private Mendix Platform charts and Svix charts | ||
|
|
||
| {{< figure src="/attachments/private-platform/pmp-binary.png" class="no-border" >}} | ||
|
|
||
| 3. Upload the images to your private repository in an air-gapped environment by running the following command `./installer init migrate`. | ||
| 4. Initiate the creation of configuration files for non-interactive installation by running the following commands, where `-n` indicates the namespace: | ||
|
|
||
| * `./installer operator configure -n=<Private Mendix Platform namespace>` - To generate a configuration file for the Operator. For more information, see [Operator](#operator). | ||
| * `./installer component -n=<Private Mendix Platform namespace>` - To generate configuration files for the components. You can select the component in the configuration tool. For more information, see [Components](#components). | ||
| * `./installer platform -n=<Private Mendix Platform namespace>` - To generate a configuration file for the Private Mendix Platform. For more information, see [Private Mendix Platform](#pmp). | ||
|
|
||
| 5. Fill out the required configuration parameters, and then click **Write Configuration** to generate the file. | ||
|
|
||
| {{< figure src="/attachments/private-platform/pmp-install-ni1.png" class="no-border" >}} | ||
|
|
||
| 6. Apply the configuration by running the following command: `./installer apply-config -f <config-file path>`. | ||
|
|
||
| ## Configuration File Structure | ||
|
|
||
| The configuration file is organized into four main sections: | ||
|
|
||
| * **General Settings** – Defines the overall information, such as the namespace name. | ||
| * **Operator** – Configures the Mendix Operator, including cluster type, registry, cluster mode, database plan, storage plan, and so on. | ||
| * **Components** – Specifies the optional platform components to be enabled or disabled, for example, PCLM, Svix, PDFGen, Build Agent, and Maia. You must specify the configuration for enabled components. | ||
| * **Private Platform** – Defines the Mendix Private Platform application settings, including the app URL, database and storage plans, resource limits, runtime configuration, and feature toggles. | ||
|
|
||
| ### Sample Configuration File | ||
|
|
||
| ```text | ||
| namespace: installertest | ||
| mx-privatecloud-license-manager: | ||
| enable: true | ||
| dbname: pclminstallertest | ||
| authMode: static | ||
| dbhost: pmp-qa-sgp-postgres-db.csgiuoqgq1ut.ap-southeast-1.rds.amazonaws.com | ||
| dbport: "5432" | ||
| dbuser: postgres | ||
| dbpassword: TempautoxxMendix2000 | ||
| dbtype: postgres | ||
| image: private-cloud.registry.mendix.com/privatecloud-license-manager | ||
| image-tag: 0.10.9 | ||
| operator-user: operatoruser | ||
| operator-password: operatorpass | ||
| admin-password: adminpass | ||
| customerclusterdomain: cluster.local | ||
| svix-server: | ||
| enable: true | ||
| postgres: postgresql://postgres:TempautoxxMendix2000@pmp-qa-sgp-postgres-db.csgiuoqgq1ut.ap-southeast-1.rds.amazonaws.com/svixinstallertest | ||
| image: | ||
| registry: docker.io | ||
| name: svix/svix-server | ||
| tag: v1.95.1 | ||
| maia-appgen: | ||
| enable: true | ||
| image: | ||
| registry: 216906236208.dkr.ecr.eu-central-1.amazonaws.com | ||
| name: maia-appgen | ||
| tag: 0.39.1 | ||
| env: | ||
| - name: MXASSIST_COPILOT_MXID3_URL | ||
| value: dafdaf/oidc/ | ||
| ingress: | ||
| enable: false | ||
| mx-privatecloud: | ||
| enable: true | ||
| image: | ||
| registry: "216906236208.dkr.ecr.eu-central-1.amazonaws.com" | ||
| nats: | ||
| server_addr: "nats://my-nats.installertest:4222" | ||
| authenticator: | ||
| database: | ||
| host: "mx-privatecloud.csgiuoqgq1ut.ap-southeast-1.rds.amazonaws.com" | ||
| port: "5432" | ||
| name: "authenticatordaisy" | ||
| user: "authuserdaisy" | ||
| password: "def" | ||
| collector: | ||
| database: | ||
| host: "mx-privatecloud.csgiuoqgq1ut.ap-southeast-1.rds.amazonaws.com" | ||
| port: "5432" | ||
| name: "collectordaisy" | ||
| user: "colluserdaisy" | ||
| password: "abc" | ||
| interactor_bridge: | ||
| ingress: | ||
| enable: false | ||
| mx-private-document-generation: | ||
| enable: true | ||
| namespace: "abc2" | ||
| image: | ||
| registry: "private-cloud.registry.mendix.com" | ||
| name: "mendix/document-generation-service" | ||
| tag: "1.0.0" | ||
| maia-llm-gateway: | ||
| image: | ||
| registry: autoinfraazure.azurecr.io | ||
| name: maia-llm-gateway | ||
| tag: 0.13.2 | ||
| enable: true | ||
| env: | ||
| - name: MXASSIST_COPILOT_MXID3_URL | ||
| value: https://md.mxplatform.net/oidc/ | ||
| ingress: | ||
| enable: true | ||
| hostName: maia-appgen-llm-azure.mxplatform.net | ||
| mxplatform-kube-agent: | ||
| enable: true | ||
| namespace: "abc2" | ||
| image: | ||
| registry: "216906236208.dkr.ecr.eu-central-1.amazonaws.com" | ||
| name: "mxplatform-kube-agent" | ||
| tag: "1.18.0" | ||
| mxplatform: | ||
| enable: true | ||
| name: mxplatform | ||
| kubeAgentNamespace: abc2 # specify the kubeagent namespace | ||
| maiaEnabled: true # if you install maia appgen | ||
| svixEnabled: true # if you install svix | ||
| privateCloudEnabled: true # if you install privatecloud | ||
| pclm: | ||
| username: administrator #pclm admin username | ||
| password: adminpass #pclm admin password | ||
| spec: | ||
| appURL: am.mxplatform.net | ||
| database: | ||
| servicePlan: new-pmp-db-eph | ||
| storage: | ||
| servicePlan: storage-test-eph | ||
| replicas: 1 | ||
| resources: | ||
| limits: | ||
| cpu: 1000m | ||
| memory: 2048Mi | ||
| requests: | ||
| cpu: 500m | ||
| memory: 1024Mi | ||
| sourceURL: oci-image://public.ecr.aws/p2w4x6l6/mendix-private-platform:2.6.0.7df5550a | ||
| runtime: | ||
| mxAdminPassword: Abcd1234.... | ||
| microflowConstants: | ||
| UserAdmin.TOGGLE_CAPS_ENABLECI: "True" | ||
| UserAdmin.TOGGLE_CAPS_IDP: "True" | ||
| UserAdmin.TOGGLE_CAPS_MKTPLS: "True" | ||
| UserAdmin.TOGGLE_CAPS_PRJMGMT: "True" | ||
| UserAdmin.TOGGLE_CAPS_WEBHOOK: "True" | ||
| UserAdmin.TOGGLE_MKTPLS_APPROVAL: "True" | ||
| UserAdmin.TOGGLE_MKTPLS_IMPORT: "True" | ||
| UserAdmin.TOGGLE_PERSIST_CONFIG: "False" | ||
| dtapMode: P | ||
| ``` | ||
|
|
||
| ## Required Configuration | ||
|
|
||
| For non-interactive installation of Private Mendix Platform, you must configure the following parameters. | ||
|
|
||
| ### Namespace | ||
|
|
||
| The `namespace` is the cluster namespace where your Private Mendix Platform will be installed. | ||
|
|
||
| ## Operator {#operator} | ||
|
|
||
| For general information about configuring Mendix Operator in non-interactive mode, see [Install and Configure Mendix on Kubernetes Non-Interactive Mode](/developerportal/deploy/private-cloud-cli-non-interactive/). | ||
|
|
||
| To generate the configuration file for the Oprator part, run the following command: | ||
|
|
||
| ```text | ||
| ./installer operator configure -n=<Private Mendix Platform namespace> | ||
| ``` | ||
|
|
||
| The *mx_config_cli.yaml* file is generated when you click **Write YAML** during the **Review and Apply** phase of the interactive namespace configuration. You must then copy the contents of *mx_config_cli.yaml* into the Operator section. | ||
|
|
||
| ```text | ||
| operator: | ||
| enable: false | ||
| base: # base installation info | ||
| cluster_type: generic #for Openshift set it to openshift | ||
| registry: private-cloud.registry.mendix.com # Operator registry info | ||
| config: | ||
| cluster_mode: standalone | ||
| namespace: aa | ||
| mask: | ||
| database_plan: true | ||
| storage_plan: true | ||
| proxy: false | ||
| custom_tls: false | ||
| database_plan: | ||
| name: db-config | ||
| type: ephemeral | ||
| storage_plan: | ||
| name: storage-config | ||
| type: ephemeral | ||
| ``` | ||
|
|
||
| ### Components {#components} | ||
|
|
||
| Private Mendix Platform components include Svix, PCLM, Maia, PrivateCloud, and others. | ||
|
|
||
| To generate the configuration file for each component, run the following command: | ||
|
|
||
| ```text | ||
| ./installer component -n=<Private Mendix Platform namespace> | ||
| ``` | ||
|
|
||
| After that, choose the components, fill the configuration details, and click **Write configuration**. | ||
|
|
||
| {{< figure src="/attachments/private-platform/pmp-installni2.png" class="no-border" >}} | ||
|
|
||
| ### Private Mendix Platform {#pmp} | ||
|
|
||
| To generate the configuration file for Private Mendix Platform, run the following command: | ||
|
|
||
| ```text | ||
| ./installer platform -n=<Private Mendix Platform namespace> | ||
| ``` | ||
|
|
||
| After that, fill the configuration info and click **Write Configuration**. | ||
|
|
||
| {{< figure src="/attachments/private-platform/pmp-installni1.png" class="no-border" >}} |
35 changes: 35 additions & 0 deletions
35
content/en/docs/private-platform/quickstart/pmp-quickstart-upgrade.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,35 @@ | ||
| --- | ||
| title: "Upgrading the Private Mendix Platform" | ||
| url: /private-mendix-platform/upgrade/ | ||
| description: "Documents the upgrade process for the Private Mendix Platform." | ||
| weight: 70 | ||
| --- | ||
|
|
||
| ## Introduction | ||
|
|
||
| If you have installed Private Mendix Platform before, you can upgrade it by doing the following steps: | ||
|
|
||
| 1. Ensure that your Mendix Operator version is 2.12 or above. | ||
| 2. Ensure that the number of replicas is no higher than 1. If you have manually changed the default value, make sure you revert it to 1 before attempting the upgrade. | ||
| 3. Run the command `./installer platform -n=<namespace name>`, where `-n` indicates the namespace where your Private Mendix Platform is installed. | ||
| 4. Click **Upgrade Namespace**. | ||
|
|
||
| {{< figure src="/attachments/private-platform/pmp-upgrade1.png" class="no-border" >}} | ||
|
|
||
| 5. Verify the following settings: | ||
|
|
||
| * **Persist Config** - When enabled, this setting locks the Private Mendix Platform configuration, so that it can no longer be modified from the user interface. | ||
| * **Project Management** - Recommended. Enables you to create and manage your app projects. Enables app projects and related settings across the portal. Must be enabled for CI/CD capabilities. | ||
| * **Marketplace** - Recommended. Enables you to use the Private Platform's Marketplace capabilities to upload, import and manage Marketplace contents. The Marketplace enabled here is hosted entirely within your Private Mendix Platform. | ||
| * **Marketplace Approvals** - Optional. If enabled, contents that users publish to the private Marketplace require administrator approval before publishing. | ||
| * **Marketplace Import** - Optional. Enables content import with an external source. | ||
| * **IDP** - Optional. Enable users to login using SSO by configuring your IdP integration. | ||
| * **Webhook** - Optional. Webhooks allow to send information between platform and external systems, and can be triggered by events around Apps, Users, Groups, Marketplace and CI/CD. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [vale] reported by reviewdog 🐶 |
||
|
|
||
| 6. Click **Run Upgrade**. | ||
|
|
||
| {{< figure src="/attachments/private-platform/pmp-upgrade2.png" class="no-border" >}} | ||
|
|
||
| {{% alert color="info" %}} | ||
| To upgrade components other than Svix, select the relevant option in the upgrade wizard. For the Svix component, you can use the Svix panel to upgrade directly. | ||
| {{% /alert %}} | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚫 [vale] reported by reviewdog 🐶
[Mendix.Capitalization] Use ''IdP'' (capitalized)