diff --git a/content/en/docs/private-platform/configuration/_index.md b/content/en/docs/private-platform/configuration/_index.md index 9a24d700fbb..47c507518dd 100644 --- a/content/en/docs/private-platform/configuration/_index.md +++ b/content/en/docs/private-platform/configuration/_index.md @@ -1,7 +1,7 @@ --- -title: "Configuring Private Mendix Platform" +title: "Configuring CI/CD and Version Control for Private Mendix Platform" url: /private-mendix-platform/configuration/ -description: "Documents the initial configuration for the Private Mendix Platform." +description: "Documents the initial configuration of CI/CD and Version Control for the Private Mendix Platform." weight: 30 aliases: - /private-mendix-platform-configuration/ @@ -9,275 +9,7 @@ aliases: ## Introduction -This document provides an overview of the initial configuration options for Private Mendix Platform. +Documents in this section provide more information about configuring CI/CD and version control for Private Mendix Platform. Some of the settings that you configure here are initially set by the [Private Platform Configuration Wizard](/private-mendix-platform/quickstart/#wizard). Administrators can also update them at any time after the initial configuration. -### Accessing the Configuration Settings +For more information about all configuration options available to Private Mendix Platform administrators, refer to [Private Mendix Platform Functionalities - Administrators](/private-mendix-platform/reference-guide/admin/). -As a user with Administrator access rights, you can access the Private Mendix Platform configuration settings by performing the following steps: - -1. Switch to Admin Mode by clicking the profile picture in the top right corner of the screen and selecting **Switch to Admin Mode**. -2. Open the navigation menu by clicking the icon in the top left corner. -3. Click **Settings**. - -Some of the settings that you configure here are initially set by the [Private Platform Configuration Wizard](/private-mendix-platform/quickstart/#wizard). Administrators can also update them at any time after the initial configuration. - -## Configuring General Settings - -General configuration settings allow you to manage the basic aspects of your Private Mendix Platform, such as the platform name and branding, toggling certain capabilities on or off, and viewing the licensing status. The settings in this section are largely configured when you run the initial configuration wizard, but you can still review and adjust them later during the implementation process. - -### General - -The **General** tab allows you to configure information about your organization, and optionally also the Certified Mendix Partner that is working with you on implementing Private Mendix Platform. You can also use it to configure your locale settings. - -{{% alert color="info" %}} -Changing your locale sets locale-dependent formats, such as date and time, to the preferred format of the selected locale. The settings are applied to the Private Mendix Platform (for example, in the Marketplace or Mendix Portal), not in the apps created through the Platform. -{{% /alert %}} - -### Branding - -The settings in this section allow you to configure custom branding for your Private Mendix Platform. You can customize the title of the Platform as shown in the top bar, upload your logo, or change the image on the login page. - -{{< figure src="/attachments/private-platform/pmp-wizard1.png" class="no-border" >}} - -### Support - -In this section, you can provide your own help and support instructions for users of your Private Mendix Platform. - -{{< figure src="/attachments/private-platform/pmp-wizard1.png" class="no-border" >}} - -Users can then see these instructions on the **Logs and Events** page for their app. - -### Capabilities - -The settings in this section allow you to configure the basic aspects of your Private Mendix Platform. - -#### Use projects 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. - -#### Enable 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. - -#### Use own IDP? - -Optional. Enable users to login using SSO by configuring your IdP integration. - -#### Use Webhooks? - -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. - -#### Use License Manager for app licensing? - -Recommended. Upload your license bundle to automatically provision app licenses through Private Cloud License Manager. For more information, see Private Cloud License Manager. - -### License - -On this page, you can view the status of your Private Mendix Platform license, and upload a new license bundle if necessary. - -[Private Cloud License Manager](/developerportal/deploy/private-cloud/private-cloud-license-manager/) must be used to manage the Private Mendix Platform license. It can also be used to manage and provision your own app licenses. - -Private Mendix Platform licenses are either **valid** or **not found**; when not found, the Platform operates in developer mode, where access to some features and capabilities is restricted. - -{{< figure src="/attachments/private-platform/pmp-wizard2.png" class="no-border" >}} - -When valid, licenses can have the following statuses: - -* Active (shown in green) -* About to expire (shown in yellow) -* Expired (shown in red) - -## Email Settings - -Email settings allow you to manage your the SMTP server settings used by Private Mendix Platform. These settings are necessary to ensure that your system can send out email notifications. You can also configure additional settings such as email templates, view your email queue, and manage recurring tasks. - -### Templates - -In this tab, you can create and manage the templates for any standard notification emails that you want your app to send, such as automated reports, assigned tasks, or others. Templates created here can then be referenced in microflows. - -{{< figure src="/attachments/private-platform/pmp-wizard3.png" class="no-border" >}} - -### Emails - -In this tab, you can view the following details about the emails sent from your system: - -* **Queued** - A list of all emails queued to be sent, regardless of delivery status. -* **Sent** - A list of all emails that were successfully sent. -* **Failed** - A list of emails that could not be sent after a maximum number of attempts defined in the Configuration tab. -* **Logs** - Errors and other messages that were logged while attempting to send emails. You can search the list by date, message type and content, or the microflow that triggered the email. - -### Configuration - -In this tab, you can configure SMTP server settings for your email account. - -{{< figure src="/attachments/private-platform/pmp-wizard4.png" class="no-border" >}} - -### Administrative Tasks - -In this tab, you can trigger various scheduled tasks, such as sending queued emails or cleaning the email queue. - -## Marketplace Settings - -For Private Mendix Platform, the Marketplace is also private and hosted entirely within the platform itself. The settings in this section allow you to configure the administrative settings for publishing and downloading content to and from the private Marketplace. - -### Content Approvals - -In this tab, you can configure whether contents that users publish to the private Marketplace requires administrator approval before publishing. - -### Content Import {#import} - -You can populate your private Marketplace with contents by importing a zip file that contains the content packages along with a *package.json* file. You can upload the file from a Content Delivery Network, or manually from your local machine. - -#### Manully Importing Marketplace Content - -To manually upload a content bundle from your own computer, perform the following steps: - -1. Download the Marketplace Bundle with contents available in a zip file. If you do not have access to the bundle, contact your Mendix point of contact. -2. In the **Content Import** > **Upload Markeplace Bundle** tab, drag and drop the file that you want to upload. - - {{% alert color="info" %}} - {{% /alert %}} - -3. Click **Import Marketplace Bundle components**. - - {{< figure src="/attachments/private-platform/pmp-config1.png" class="no-border" >}} - -4. To view the progress of your upload, click **Open Task Queue**. - - {{< figure src="/attachments/private-platform/pmp-config2.png" class="no-border" >}} - -{{% alert color="info" %}} -If you are experiencing high latency during manual uploads, you can increase the timeouts. For example, for nginx, you can perform the following commands: - -```text -nginx.ingress.kubernetes.io/client-header-timeout: "300" -nginx.ingress.kubernetes.io/proxy-connect-timeout: "300" -nginx.ingress.kubernetes.io/proxy-read-timeout: "300" -nginx.ingress.kubernetes.io/proxy-send-timeout: "300" -``` - -{{% /alert %}} - -#### Importing Marketplace Content from a CDN - -To enable content import from a Content Delivery Network, follow these steps: - -1. Download the Marketplace Bundle with contents available in a zip file. If you do not have access to the bundle, contact your Mendix point of contact. -2. Unzip the files to an internal location which Private Mendix Platform can access via HTTP or HTTPS. Do not change the directory structure. -3. If using a self-signed certificate for your internal locations, configure Mendix Operator to trust your private Certificate Authorities. For more information, see [Creating a Private Cloud Cluster](/developerportal/deploy/standard-operator/#custom-tls). -4. In the **Content Import** tab, in the **Marketplace import bundle URL** field, enter the root URL of the *package.json* file included in the Marketplace download. - - For example, if the *package.json* can be accessed at the URL `https:///release/marketplace/Marketplace-1.0/package.json`, enter the following URL: `https:///release/marketplace/Marketplace-1.0/`. - - {{< figure src="/attachments/private-platform/pmp-config3.png" class="no-border" >}} - -5. Set the toggle **Enable content import with external source** to **ON**. -6. Click **Save** to enable content import from this bundle. -7. In the **Content Import** > **Import from CDN** tab, you can now view the available downloads. - -## Mx Version Settings - -In this section, you can view or disable the versions of Mendix Studio Pro that your users are allowed to download. - -## Authentication - -In this section, you can configure SSO authentication for your users logging in to Private Mendix Platform. OIDC and SAML are supported as protocols. - -### IdP Integration (OIDC) - -You can configure SSO authentication with the OIDC protocol. For more information, see [Runtime Configuration of Your IdP at Your App](/appstore/modules/oidc/#runtime-idp-app). - -### IdP Integration (SAML) - -To configure SSO authentication with the SAML protocol, first [configure the service provider](/appstore/modules/saml/#configure-sp) in the **SP Configuration** tab, and then [create the IdP-specific settings](/appstore/modules/saml/#idp-specific-settings) in the **IdP Configuration** tab. - -To [debug the configuration](/appstore/modules/saml/#debugging-the-configuration), you can view the log files in the **Log** tab. - -### OIDC Provider - -The settings under this tab control the connection between Studio Pro and the platform. They should not be changed without advanced knowledge of the platform. Stop and restart the Private Platform portal if you are having trouble logging in with Studio Pro. - -### Studio Pro Login - -If you have configured more than one authentication method (for example, SSO and local user), you can specify which method is used as the default one for the Studio Pro login. - -### SCIM Provisioning - -System for Cross-Domain Identity Management (SCIM) is a protocol that simplifies user access management for applications. Private Mendix Platform uses the SCIM standard to pre-provision selected users onto your Platform without the users having to manually log in through SSO first. - -To enable SCIM provisioning, perform the following steps: - -1. Log in to Private Mendix Platform as an administrator. -2. In the **Authentication** section, click the **IdP Integration (OIDC)** or the **IdP Integration (SAML)** tab. -3. Edit your IdP configuration, and then click the **Provisioning** tab. -4. In the **Just in time provisioning** section, map the IdP attributes to the matching Mendix object attributes. -5. In the **Authentication** section, click the **SCIM Provisioning** tab, and then click **New**. -6. In the **IDP Configuration Page** dialogue, enter a name for the connection, and obtain the token for your identity provider by clicking **Copy**. -7. Enter the token in the configuration panel of your identity provider and verify that the connection is working. - -## DevOps Settings - -In this section, you can configure settings related to managing your app projects and CI/CD capabilities. - -### Version Control System - -To create applications and collaborate, configure the connection to your version control repository. GitHub, GitLab, and Bitbucket are supported as version control systems. For more information, see [Configuring the Version Control System for Private Mendix Platform](/private-mendix-platform-version-control/). - -### CI/CD - -Configure CI/CD capabilities for your app. If you enable this option, you must also specify your CI system, configure the necessary settings, and register a Kubernetes cluster. Tekton, Jenkins, and [Kubernetes](/private-mendix-platform-configure-k8s/) are supported. You can also configure a custom template for your CI/CD capabilities. - -{{< figure src="/attachments/private-platform/pmp-wizard5.png" class="no-border" >}} - -#### Configuring CI/CD Pipelines with Manual Approval - -If your production and development environments must be fully air-gapped and separated from each other, and you want to limit the ability to deploy packages to either selected users or an automated pipeline with manual approval, you can configure your cluster type to be **Upload MDA**. - -{{< figure src="/attachments/private-platform/pmp-wizard7.png" class="no-border" >}} - -Selecting this option allows you to specify an S3 bucket. This bucket is then used as the destination where the deployment package is uploaded at the end of the pipeline, instead of being deployed to the production environment. Designated approvers can then retrieve the package from the S3 bucket and manually deploy it to the target environment. - -## Platform Log - -For auditing purposes, you can view a log of the most recent actions taken by users of the platform. - -### Recent Actions - -This tab contains a list of the recent actions, logged for the time period specified in the **Log Settings** tab. The following actions are logged: - -* Creating and editing user accounts -* Creating and deleting apps -* Creating app packages -* Changing platform settings - -You can use the **Search** field to search for a specific action by name. - -### Archived Actions - -This tab contains a list of actions that were archived after the period specified in the **Log Settings** tab has expired. You can download the archive if required for auditing purposes. - -### Log Settings - -You can select how long the actions are kept in the logs, in days. The minimum number of days is 1, and the maximum is 365. - -## Advanced Settings - -In this section, you can adjust the advanced configuration settings of your Private Mendix Platform. - -### MxAdmin Settings - -By default, the platform has a default system administrator account called MxAdmin. You can disable the account by setting the **Disable MxAdmin** toggle to **Yes**. - -{{% alert color="info" %}} -Ensure that you have at least one other user with the System Administrator role assigned before disabling MxAdmin. -{{% /alert %}} - -### MxAdmin Emails - -To help ensure that any issues are promptly reported and resolved, you can specify one or more root email addressed that should be notified in case of system issues. - -### Scheduled Event - -This tab shows a list of all the scheduled tasks and actions in the system, together with start time, end time, and status. - -{{< figure src="/attachments/private-platform/pmp-wizard6.png" class="no-border" >}} diff --git a/content/en/docs/private-platform/configuration/pmp-configure-azure.md b/content/en/docs/private-platform/configuration/pmp-configure-azure.md index 1e402561822..9dae00eb34e 100644 --- a/content/en/docs/private-platform/configuration/pmp-configure-azure.md +++ b/content/en/docs/private-platform/configuration/pmp-configure-azure.md @@ -20,7 +20,7 @@ To configure the CI/CD pipeline, prepare the following: ## Configuring the CI/CD Pipeline -If you have an Azure organization, you can set Azure as your CI System in **Switch to Admin Mode** > **Settings** > **Build settings** > **Build Utility**. You need to first obtain a [Personal Access Token](#pat), and then configure the followings settings: +If you have an Azure organization, you can set Azure as your CI System in **Switch to Admin Mode** > **Settings** > **Build Settings** > **Build Method** > **Build Utility**. You need to first obtain a [Personal Access Token](#pat), and then configure the followings settings: * [Azure blob settings](#blob) * [S3 bucket settings](#bucket) @@ -54,7 +54,7 @@ The settings in this section configure the S3 bucket. Before creating any environments, you must register your Kubernetes clusters by doing the following steps: -1. Click **Register New Cluster**. +1. In **Switch to Admin Mode** > **Manage** > **Cluster Manager**, click **Register New Cluster**. 2. Configure the following values: * **Cluster Name** - Specify a name for the cluster. @@ -216,7 +216,7 @@ Before creating any environments, you must register your Kubernetes clusters by ``` 4. Click **Save**. -5. Click the newly created cluster and expand it, and then click **Retrieve Namespace(s)** to retrieve all the namespace and storage plans. +5. Click the newly created cluster and expand it, and then click **Retrieve Namespace(s)** to retrieve all the namespace and storage plans, or **Manually Register Namespace**. Namespaces without any storage plan are skipped. This step requires the Mendix Operator to be installed and configured. You can repeat this step as required to retrieve additional namespaces. diff --git a/content/en/docs/private-platform/configuration/pmp-configure-k8s.md b/content/en/docs/private-platform/configuration/pmp-configure-k8s.md index a23341f6b98..2c27febcdfe 100644 --- a/content/en/docs/private-platform/configuration/pmp-configure-k8s.md +++ b/content/en/docs/private-platform/configuration/pmp-configure-k8s.md @@ -430,7 +430,7 @@ Before creating any environments, you must register your Kubernetes clusters by 4. Click **Save**. -5. Click the newly created cluster and expand it, and then click **Retrieve Namespace(s)** to retrieve all the namespace and storage plans. +5. Click the newly created cluster and expand it, and then click **Retrieve Namespace(s)** to retrieve all the namespace and storage plans, or **Manually Register Namespace**. Namespaces without any storage plan are skipped. This step requires the Mendix Operator to be installed and configured. You can repeat this step as required to retrieve additional namespaces. diff --git a/content/en/docs/private-platform/configuration/pmp-version-control.md b/content/en/docs/private-platform/configuration/pmp-version-control.md index 0fcdcdc8d79..0df4ff9ee2e 100644 --- a/content/en/docs/private-platform/configuration/pmp-version-control.md +++ b/content/en/docs/private-platform/configuration/pmp-version-control.md @@ -16,77 +16,38 @@ Private Mendix Platform supports the following types of Git repositories as the * Bitbucket * Azure DevOps -To select the repository type, click **DevOps Settings** > **Version Control System** > **Git Host Type**. +To select the repository type, perform the following steps: + +1. Switch to Admin Mode by clicking the profile picture in the top right corner of the screen and selecting **Switch to Admin Mode**. +2. In the left navigation menu, open the **Settings** section. +3.Click **Version Control**. ## GitLab This section describes the configuration of a GitLab repository. -### DevOps Settings - -{{< figure src="/attachments/private-platform/pmp-vc1.png" class="no-border" >}} - -#### Host URL - -This is the host URL of your GitLab server. The format should be `https://`. There is no slash in the end. For example, if your GitLab server host name is mygitlab.example.com, you should input `https://mygitlab.example.com` here. - -#### Group ID - -All the apps on Private Mendix Platform are created under a GitLab group. You need to create a group in GitLab and then input the *Group ID* in this field. - -{{< figure src="/attachments/private-platform/pmp-vc2.png" class="no-border" >}} - -#### Group owner PAT - -This is the PAT from the above group owner. When generating the access token for group owner, select all scopes and set expiration date to never. - -#### Automatic Access Provisioning - -If you use a self-managed GitLab server, you can enable this feature to automatically create GitLab user and PAT for private platform users. During logging in the platform, user email is used as unique key to search in GitLab server. If this email name is not registered in GitLab, Private Mendix Platform creates a GitLab user with this email. A PAT is then generated for this user. - -#### Admin PAT - -This is the PAT of the GitLab administrator, which is the root user access token with all scopes selected. +* **Host URL** - This is the host URL of your GitLab server. The format should be `https://`. There is no slash in the end. For example, if your GitLab server host name is mygitlab.example.com, you should input `https://mygitlab.example.com` here. +* **Group ID** - All the apps on Private Mendix Platform are created under a GitLab group. You need to create a group in GitLab and then input the *Group ID* in this field. +* **Group owner PAT** - This is the PAT from the above group owner. When generating the access token for group owner, select all scopes and set expiration date to never. +* **Automatic Access Provisioning** - If you use a self-managed GitLab server, you can enable this feature to automatically create GitLab user and PAT for private platform users. During logging in the platform, user email is used as unique key to search in GitLab server. If this email name is not registered in GitLab, Private Mendix Platform creates a GitLab user with this email. A PAT is then generated for this user. +* **Admin PAT** - This is the PAT of the GitLab administrator, which is the root user access token with all scopes selected. ### Normal User Credentials When the **Automatic Access Provisioning** is disabled, private platform users need to manually input the GitLab user id and PAT at first login. -#### User ID - -The user ID (integer number) of this GitLab user. It is not the user name. You can obtain the value from the user profile page. - -#### Personal Access Token - -The access token of this GitLab user. +* **User ID** - The user ID (integer number) of this GitLab user. It is not the user name. You can obtain the value from the user profile page. +* **Personal Access Token** - The access token of this GitLab user. ## GitHub This section describes the configuration of a GitHub repository. -### DevOps Settings - -{{< figure src="/attachments/private-platform/pmp-vc3.png" class="no-border" >}} - -#### Host URL - -This is the host URL of your GitHub server. The format should be `https://`. There is no slash in the end. For example, if your GitHub server host name is mygithub.example.com, you should input `https://mygithub.example.com` here. - -#### Organization Name - -All the apps on Private Mendix Platform are created under an organization. You need to create an organization to host all the Mendix apps. Type the organization name into this field. - -#### Organization Owner PAT - -Input the classic PAT of this organization owner into this field. You need select at least these scopes: `repo admin:org user delete_repo`. The expiration date is set to **No Expiration**. - -#### Automatic Access Provisioning - -If you are running a self-managed GitHub enterprise server, you can enable this feature to automatically create GitHub user and PAT for private platform users. During logging in to the platform, the user email is used as unique key to search in GitHub server. If this email name is not registered in GitHub, Private Mendix Platform creates a GitHub user with this email. A PAT is then generated for this user. - -#### AdminPAT - -This is the PAT of the GitHub enterprise instance administrator. When generating this PAT, all scopes should be selected. +* **Host URL** - This is the host URL of your GitHub server. The format should be `https://`. There is no slash in the end. For example, if your GitHub server host name is mygithub.example.com, you should input `https://mygithub.example.com` here. +* **Organization Name** - All the apps on Private Mendix Platform are created under an organization. You need to create an organization to host all the Mendix apps. Type the organization name into this field. +* **Organization Owner PAT** - Input the classic PAT of this organization owner into this field. You need select at least these scopes: `repo admin:org user delete_repo`. The expiration date is set to **No Expiration**. +* **Automatic Access Provisioning** - If you are running a self-managed GitHub enterprise server, you can enable this feature to automatically create GitHub user and PAT for private platform users. During logging in to the platform, the user email is used as unique key to search in GitHub server. If this email name is not registered in GitHub, Private Mendix Platform creates a GitHub user with this email. A PAT is then generated for this user. +* **AdminPAT** - This is the PAT of the GitHub enterprise instance administrator. When generating this PAT, all scopes should be selected. ### Normal User Credentials @@ -96,47 +57,22 @@ When the **Automatic Access Provisioning** is disabled, Private Mendix Platform This user needs to be invited into this organization as a organization member. {{% /alert %}} -#### User Name - -The user name (login name) of this GitHub user. - -#### Personal Access Token - -The access token of this GitHub user. To make it easier, you can also select all the scopes. The expiration date is set to No Expiration. +* **User Name** - The user name (login name) of this GitHub user. +* **Personal Access Token** - The access token of this GitHub user. To make it easier, you can also select all the scopes. The expiration date is set to No Expiration. ## Bitbucket This section describes the configuration of a Bitbucket repository. -### DevOps Settings - -{{< figure src="/attachments/private-platform/pmp-vc4.png" class="no-border" >}} - -#### Host URL - -This is the host URL of your Bitbucket enterprise server. The format should be `https://`. There is no slash in the end. For example, if your Bitbucket enterprise server host name is mybitbucket.example.com, you should input `https://mybitbucket.example.com` here. - -#### Project key - -All the Mendix apps on private platform are created under a project. You need to create an project to host all the Mendix apps. Input the project key in this field. You can go to `https://mybitbucket.example.com/projects` to view the project key. - -#### Project Admin PAT - -Input the access token of a project admin user. - -#### Automatic Access Provisioning - -If you are running a self managed Bitbucket enterprise server, you can enable this feature to automatically create Bitbucket user and PAT for private platform users. During logging in to the platform, the user email is used as unique key to search in Bitbucket server. If this email name is not registered in Bitbucket, Private Mendix Platform creates a Bitbucket user with this email as the user name. A PAT is then generated for this user. - -Bitbucket enterprise server allows to use same email for multiple users. To make the Bitbucket user unique by email, the email name is used to be the Bitbucket user name when doing the automatic provisioning. - -#### Admin Username +* **Host URL** - This is the host URL of your Bitbucket enterprise server. The format should be `https://`. There is no slash in the end. For example, if your Bitbucket enterprise server host name is mybitbucket.example.com, you should input `https://mybitbucket.example.com` here. +* **Project key** - All the Mendix apps on private platform are created under a project. You need to create an project to host all the Mendix apps. Input the project key in this field. You can go to `https://mybitbucket.example.com/projects` to view the project key. +* **Project Admin PAT** - Input the access token of a project admin user. +* **Automatic Access Provisioning** - If you are running a self managed Bitbucket enterprise server, you can enable this feature to automatically create Bitbucket user and PAT for private platform users. During logging in to the platform, the user email is used as unique key to search in Bitbucket server. If this email name is not registered in Bitbucket, Private Mendix Platform creates a Bitbucket user with this email as the user name. A PAT is then generated for this user. -Bitbucket system admin user name. + Bitbucket enterprise server allows to use same email for multiple users. To make the Bitbucket user unique by email, the email name is used to be the Bitbucket user name when doing the automatic provisioning. -#### Admin Password - -Bitbucket system admin user password. +* **Admin Username** - Bitbucket system admin user name. +* **Admin Password** - Bitbucket system admin user password. ### Normal User Credentials @@ -144,13 +80,8 @@ When the Automatic Access Provisioning is disabled, Private Mendix Platform user This user needs to be invited into the project with the **Create repository** permission. You can go to `https://mybitbucket.example.com/projects//permissions` to add a user and grant permission. -#### User Name - -The user name (login name) of this Bitbucket user. - -#### Personal Access Token - -The Access token of this Bitbucket user. The permission should be at least `Project Admin`. The expiration date is set to **No Expiration**. +* **User Name** - The user name (login name) of this Bitbucket user. +* **Personal Access Token** - The Access token of this Bitbucket user. The permission should be at least `Project Admin`. The expiration date is set to **No Expiration**. ## AzureDevOps @@ -172,36 +103,23 @@ For the web callback URL, enter a URL in the following format: `YOUR_APP_ROOT/oa In Azure DevOps, you must create an organization and a PAT for the admin user. You must also create the users that will use the Azure DevOps with Private Mendix Platform, and assign them Basic access level. -### DevOps Settings - -{{< figure src="/attachments/private-platform/pmp-vc5.png" class="no-border" >}} - -#### Host URL - -This is the host URL of your Azure DevOps enterprise server. The format should be `https://`. There is no slash in the end. For example, if your Azure DevOps enterprise server host name is myazure.example.com, you should input `https://myazure.example.com` here. +### Private Mendix Platform Configuration -#### Org +* **Host URL** - This is the host URL of your Azure DevOps enterprise server. The format should be `https://`. There is no slash in the end. For example, if your Azure DevOps enterprise server host name is myazure.example.com, you should input `https://myazure.example.com` here. +* **Org** - Input the name of the organization that you created in Azure DevOps. +* **Project Admin PAT** - Input the admin user PAT that you created in Azure DevOps. +* **Azure OAuth Config** - Click **New**, and then fill out the following information: -Input the name of the organization that you created in Azure DevOps. + * **Name** - Enter a meaningful name + * **Client ID** - Enter the Application ID that you obtained from Microsoft Entra ID + * **Tenant ID** - Enter the Directory ID that you obtained from Microsoft Entra ID + * **Client Secret** - Enter the Client Secret that you obtained from Microsoft Entra ID + * **Resource** - `499b84ac-1321-427f-aa17-267ca6975798/.default` + * **Single O auth account** - **No** + * **Default config** - **Yes** + * **Active** - **Yes** -#### Project Admin PAT - -Input the admin user PAT that you created in Azure DevOps. - -#### Azure OAuth Config - -Click **New**, and then fill out the following information: - -* **Name** - Enter a meaningful name -* **Client ID** - Enter the Application ID that you obtained from Microsoft Entra ID -* **Tenant ID** - Enter the Directory ID that you obtained from Microsoft Entra ID -* **Client Secret** - Enter the Client Secret that you obtained from Microsoft Entra ID -* **Resource** - `499b84ac-1321-427f-aa17-267ca6975798/.default` -* **Single O auth account** - **No** -* **Default config** - **Yes** -* **Active** - **Yes** - -### Normal User Credentials +#### Normal User Credentials Users must generate their own PAT to work with Azure DevOps by doing the following steps: @@ -209,4 +127,4 @@ Users must generate their own PAT to work with Azure DevOps by doing the followi 2. Click **Manage My Account** > **Service Credentials**. 3. Click **Register New Credentials** > **Azure DevOps**, then click **Get My Azure PAT**. 4. On the Microsoft login screen, input you Azure user credentials to verify and authorize the app. -5. Wait for the PAT and Azure user email to be displayed on the **Service Credentials** page in Private Mendix Platform. +5. Wait for the PAT and Azure user email to be displayed on the **Service Credentials** page in Private Mendix Platform. \ No newline at end of file diff --git a/content/en/docs/private-platform/pmp-admin.md b/content/en/docs/private-platform/pmp-admin.md deleted file mode 100644 index 6fda2db1a5a..00000000000 --- a/content/en/docs/private-platform/pmp-admin.md +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: "Private Mendix Platform Administration Guide" -url: /private-mendix-platform/administration/ -description: "Documents the business-as-usual administrator tasks for the Private Mendix Platform." -weight: 40 -aliases: - - /private-mendix-platform-administration/ ---- - -## Introduction - -As a user with Administrator access rights, you can perform the business-as-usual administrator tasks such as app management and user management. You can also manage Marketplace-related settings for your company. - -## App Management - -On the **App Management** page, administrators can manage their apps. - -{{< figure src="/attachments/private-platform/pmp-admin1.png" class="no-border" >}} - -The page shows you a summary of your apps. - -Click an app tile to see more details about the app. - -By clicking **More Options** ({{% icon name="three-dots-menu-horizontal" %}}) in the app tile, you can quickly perform a number of actions: - -* Edit details such as app name and description -* Invite users to work on the app -* View the Git revisions per branch for the app -* Assign the app to a new owner or group -* Archive the app, provided you are the only team member. - - You will be warned of the consequences and asked for confirmation before the app is archived. - -* Delete the app, provided you are the only team member. - - You will be warned of the consequences and asked for confirmation before the app is archived. - -## Marketplace - -In the **Marketplace** section, administrators can manage various settings related to the content available on the Private Platform Marketplace. The Private Platform Marketplace is a local version of the [Mendix Marketplace](/appstore/overview/), enclosed entirely within the Private Platform. Developers in your organization can also create their own modules, connectors, and sample apps, and share them on the Private Platform Marketplace to make them available to other users. - -{{< figure src="/attachments/private-platform/pmp-admin2.png" class="no-border" >}} - -As the administrator, you can perform the following actions: - -* In the **Content Management** tab, you can view the Marketplace content that your users have already published, as well as any items which are pending approval, or which have been rejected. -* In the **Taxonomy Management** tab, you can configure the supported Studio Pro versions and sub-categories that your users can select when creating Marketplace content. You can also view and edit the available licenses. -* In the **Content Import** tab, you can view the contents available in your Private Marketplace. You can also download and import the modules in bulk. - -## Deployment - -In the **Deployment** section, administrators can manage existing clusters and register new ones. - -## Users - -In the **User Management** section, administrators can manage user accounts and user groups. - -{{< figure src="/attachments/private-platform/pmp-admin3.png" class="no-border" >}} - -As the administrator, you can perform the following actions: - -* In the **User Management** tab, you can create and edit accounts for your local users and API users (that is, accounts that are used by an API service to access your Private Mendix Platform). By clicking **More Options** ({{% icon name="three-dots-menu-horizontal" %}}) by an account, you can quickly perform a number of actions: - - * Edit a user's name and email - * Assign or remove user roles - * Block a user - * Change a user's password - * Configure the language and time zone settings for a user - * Delete a user account - -* In the **Group Management** tab, you can create and edit user groups. These groups typically reflect your organization's structure. You can also use the **Automation Settings** option to automatically assign users to groups based on their profile attributes. - -## Platform - -In the **Deployment** section, administrators can view and manage statistics, activity logs, webhooks, and licenses. - -As the administrator, you can perform the following actions: - -* In the **Platform Statistics** tab, you can access statistics such as the number of users and apps, daily user login times and numbers, or most active users. -* In the **Platform Logs** tab, you can view a log of actions performed by users, for example, creating and deleting apps, starting a pipeline, or adding a new user. -* In the **Webhooks** tab, you can view and manage your [Webhooks](/developerportal/deploy/webhooks/). -* In the **Licensing** tab, you can check the status of your licences, or upload a new Private Mendix Platform license bundle. diff --git a/content/en/docs/private-platform/reference/admin/_index.md b/content/en/docs/private-platform/reference/admin/_index.md new file mode 100644 index 00000000000..31dfdddd7c9 --- /dev/null +++ b/content/en/docs/private-platform/reference/admin/_index.md @@ -0,0 +1,23 @@ +--- +title: "Private Mendix Platform Functionalities - Administrators" +linktitle: "Administrators" +url: /private-mendix-platform/reference-guide/admin/ +description: "Provides details on the features and functionality of the Private Mendix Platform that are available to administrators." +weight: 10 +aliases: + - /private-mendix-platform-administration/ + - /private-mendix-platform/administration/ +--- + +## Introduction + +This section of the Private Mendix Platform Reference Guide provides information about the menus and functionalities of the Private Mendix Platform that are available to administrator users. As an administrator, you can access the options described in this section by clicking on your user icon in the upper right corner of the screen, and then selecting **Switch to Admin Mode**. + +{{< figure src="/attachments/private-platform/pmp-admin5.png" class="no-border" >}} + +Private Mendix Platform distinguishes between the following types of administrator roles: + +* Company admin - This role primarily manages business-as-usual tasks, for example inviting new users to an app, or approving Marketplace contents. Settings relevant for company admins are available in the [Manage](/private-mendix-platform/reference-guide/admin/company/#manage) section of the admin navigation menu. +* Systems admin - This role primarily manages key settings which must be configured during the initial implementation, and which are rarely modified during normal operation. Settings relevant for systems admins are available in the [Settings](#settings) section of the admin navigation menu. + +{{< figure src="/attachments/private-platform/pmp-admin4.png" class="no-border" >}} \ No newline at end of file diff --git a/content/en/docs/private-platform/reference/admin/pmp-ref-admin-manage.md b/content/en/docs/private-platform/reference/admin/pmp-ref-admin-manage.md new file mode 100644 index 00000000000..713dd3eac96 --- /dev/null +++ b/content/en/docs/private-platform/reference/admin/pmp-ref-admin-manage.md @@ -0,0 +1,294 @@ +--- +title: "Private Mendix Platform Functionalities - Company Administrators" +linktitle: "Company Administrators" +url: /private-mendix-platform/reference-guide/admin/company/ +description: "Provides details on the features and functionality of the Private Mendix Platform that are available to company administrators." +weight: 10 +--- + +## Introduction + +In Private Mendix Platform, company administrators primarily manage business-as-usual tasks, for example inviting new users to an app, or approving Marketplace contents. Settings relevant for company admins are available in the [Manage](#manage) section of the admin navigation menu. + +## Accessing the Configuration Settings + +As a user with company administrator access rights, you can access the Private Mendix Platform configuration settings by performing the following steps: + +1. Switch to Admin Mode by clicking the profile picture in the top right corner of the screen and selecting **Switch to Admin Mode**. +2. In the left navigation menu, open the **Manage** section. + +## Manage {#manage} + +The **Manage** section of the administrator navigation menu contains setting relevant to your day-to-day tasks as a company admin. You can use it to manage your company apps, users and groups, Marketplace contents, and deployment clusters. + +### Apps + +The **Apps** section of the navigation menu lets administrators manage their apps. + +#### App Management + +On the **App Management** page, you can view a summary of your apps. + +{{< figure src="/attachments/private-platform/pmp-admin1.png" class="no-border" >}} + +By clicking **More Actions** ({{% icon name="three-dots-menu-horizontal" %}}) in the **Action** column, you can quickly perform a number of actions: + +* [Edit app details](#app-details) +* [Assign the app to a new owner](#ownership) +* [Share the app with groups](#share) +* [Archive the app](#archive) +* [Delete the app](#delete) + +##### Editing App Details {#app-details} + +Company admins can edit app details such as the app branding or ownership, team membership, and others. + +1. In the **App Management** page, in the **Action** column, click **More Actions** > **Edit**. +2. Configure any of the following settings: + +* **App Details** - Configure the following basic app details: + * **App ID** - An automatically assigned internal ID. This value cannot be adjusted. + * **Name** - The name of your app. This value should be meaningful, so that users can easily identify the app. + * **Description** - An optional description of the application. + * **App Logo** - A browser logo for your app. This value can only be adjusted by the app owner. +* **Team Membership** - Invite users to join your app, or remove them from the app. Before you can invite a user, you must first configure their account on the [User Management](#users) page. +* **Git Server** - View the revisions per branch for this app. +* **Ownership and Sharing** - Select the user and optionally the group that owns this app. If an app is owned by a specific group, the owner must be a user who belongs to that group. + +##### Assigning the App to a New Owner {#ownership} + +Each app is owned by a specific user, who can change settings such as the application branding (logo). By default, the owner is the user who created the app. To transfer the ownership to another user, on the **App Management** page, in the **Action** column, click **More Actions** > **Transfer Ownership**. Alternatively, you can access the same option in the **Ownership and Sharing** tab of the [App Details](#app-details) page. + +In addition to specifying the owner, you can also assign ownership of the app to a specific group. If an app is owned by a group, the owner must be a user who belongs to that group. + +##### Sharing the App with Selected User Groups {#share} + +You can share your app with any user groups by selecting the **More Actions** > **Share with Groups** option from the **App Management** page. + +##### Archiving the App {#archive} + +If an app is not needed for a time, you can archive it. An archived app is no longer available to users, but its data is still stored, and it can be quickly un-archived if required. + +To archive an app, on the **App Management** page, in the **Action** column, click **More Actions** > **Archive App**. To reactivate an archived app, select **Unarchive App** from the same menu. Alternatively, you can access the same options on the [App Details](#app-details) page. The app is archived or unarchived immediately. + +##### Deleting the App {#delete} + +If the app is no longer needed and you do not want to store its data, you can delete it. Deleting an app removes its repository, so that it cannot be restored afterwards. To delete an app, click **Delete App** on the [App Details](#app-details) page. + +You will be warned of the consequences and asked for confirmation before the app is deleted. + +#### Import Apps + +On the **Import Apps** page, administrators can import existing Mendix apps that are in their version control host but not yet in Private Mendix Platform. The import currently supports the following hosts: + +* GitLab +* GitHub +* Bitbucket +* Azure DevOps + +{{< figure src="/attachments/private-platform/pmp-admin6.png" class="no-border" >}} + +The list of apps on the page is not refreshed automatically. To refresh it, click the **Scan for Apps** button. + +### Marketplace + +In the **Marketplace** section, administrators can manage various settings related to the content available on the Private Platform Marketplace. The Private Platform Marketplace is a local version of the [Mendix Marketplace](/appstore/overview/), enclosed entirely within the Private Platform. Developers in your organization can also create their own modules, connectors, and sample apps, and share them on the Private Platform Marketplace to make them available to other users. + +As the administrator, you can perform the following actions: + +#### Content Management {#content} + +In the **Content Management** tab, you can view the Marketplace content that your users have already published, as well as any items which are pending approval, or which have been rejected. + +{{< figure src="/attachments/private-platform/pmp-admin7.png" class="no-border" >}} + +You can click on an item to view more information about it, download, approve, or delete it. + +#### Taxonomy Management + +In the **Taxonomy Management** tab, you can configure the supported Studio Pro versions and sub-categories that your users can select when creating Marketplace content. You can also view and edit the available licenses. + +{{< figure src="/attachments/private-platform/pmp-admin8.png" class="no-border" >}} + +##### Supported Versions + +The versions listed on the **Supported Versions** page indicate the Mendix Studio Pro versions that a Marketplace content item is compatible with. Users can select these versions from a list when uploading new Marketplace content. + +##### Licenses + +The **Licenses** tab allows administrators to specify the licenses that are available to their apps. To add a new license, click **New License** and specify the following values: + +* **Name** - Name of the license +* **URL** - URL at which the license can be accessed +* **Contents** - Optional additional information about the license. + +##### App Categories + +In the **App Categories** tab, you can view the predefined categories that users can specify for their Marketplace content items. You can also add custom categories, for example, for Marketplace contents related to a specific project. + +Predefined app categories cannot be edited or deleted. To edit or delete a custom category, click the **Action** menu, and then select one of the available options. + +#### Import Content + +You can populate your private Marketplace with contents by importing a zip file that contains the content packages along with a *package.json* file. You can upload the file from a Content Delivery Network, or manually from your local machine. + +{{< figure src="/attachments/private-platform/pmp-admin9.png" class="no-border" >}} + +#### Upload Marketplace Bundle {#manual-upload} + +To manually upload a content bundle from your own computer, perform the following steps: + +1. Download the Marketplace Bundle with contents available in a zip file. If you do not have access to the bundle, contact your Mendix point of contact. +2. In the **Import Content** > **Upload Marketplace Bundle** tab, drag and drop the file that you want to upload. + + * The file must be in *zip* format. + * The file must not be larger than 2048 MB. + * Your infrastructure must support the upload of large files (up to 2048MB). + * You should also have at least 40 GB available disk space to account for temporary files. + +3. Click **Import Marketplace Bundle components**. + + {{< figure src="/attachments/private-platform/pmp-config1.png" class="no-border" >}} + +4. To view the progress of your upload, click **View Task Queue**. + +{{% alert color="info" %}} +If you are experiencing high latency during manual uploads, you can increase the timeouts. For example, for nginx, you can perform the following commands: + +```text +nginx.ingress.kubernetes.io/client-header-timeout: "300" +nginx.ingress.kubernetes.io/proxy-connect-timeout: "300" +nginx.ingress.kubernetes.io/proxy-read-timeout: "300" +nginx.ingress.kubernetes.io/proxy-send-timeout: "300" +``` + +{{% /alert %}} + +#### Import from CDN + +To import content from a Content Delivery Network, follow these steps: + +1. Ensure that your system administrator has [configured the Marketplace import bundle URL](/private-mendix-platform/reference-guide/admin/system/#configure-import). +2. In the **Import Content** > **Import from CDN** tab, view and download the available content items. + +### Deployment + +In the **Deployment** section, administrators can manage existing clusters and register new ones. + +#### Cluster Manager + +The **Cluster Manager** page allows administrators to configure clusters to be used in their devOps CI/CD pipelines. To configure a cluster, perform the following steps: + +1. In **Switch to Admin Mode** > **Manage** > **Cluster Manager**, click **Register New Cluster**. +2. Configure the following values: + + * **Cluster Name** - Specify a name for the cluster. + * **Cluster type** - Select the cluster type. **Kubernetes** is recommended. + * **API Server** - Specify your API server. + * **Token** - You must first create a service account, cluster role, and cluster role binding in the cluster, and then get the service account's token. For an example, see [Configuring Build Cluster Setting](/private-mendix-platform/configure-k8s/#build-cluster). + * **Enable Logging and Monitoring** - Specify whether Grafana and Prometheus monitoring should be enabled for this cluster. + * **Package Type** - For Kubernetes and Manual Production Deployment, select the type of package that will be uploaded to environments in this cluster. + * **S3 Endpoint** - For Kubernetes and Manual Production Deployment, specify the S3 endpoint, for example, `Cloud Object Storage - Amazon S3 - AWS`. + * **S3 Bucket Name** - For Kubernetes and Manual Production Deployment, specify the S3 bucket name, for example, `mybucket`. + * **Region** - For Kubernetes and Manual Production Deployment, specify the region, for example, `ap-southeast-1`. + * **Access Key ID** - For Kubernetes and Manual Production Deployment, this ID value is used to access the S3 bucket. + * **Secret Access Key** - For Kubernetes and Manual Production Deployment, this secret key value is used to access the S3 bucket. + +3. Click **Save**. +4. Click the newly created cluster and expand it, and then click **Retrieve Namespace(s)** to retrieve all the namespace and storage plans, or **Manually Register Namespace**. + + Namespaces without any storage plan are skipped. This step requires the Mendix Operator to be installed and configured. You can repeat this step as required to retrieve additional namespaces. + +5. After the cluster is registered, create environments with the cluster, namespace and plans. + +##### Configuring CI/CD Pipelines with Manual Approval {#manual-deployment} + +If your production and development environments must be fully air-gapped and separated from each other, and you want to limit the ability to deploy packages to either selected users or an automated pipeline with manual approval, you can configure your cluster type to be **Manual Production Deployment**. + +Selecting this option allows you to specify an S3 bucket. This bucket is then used as the destination where the deployment package is uploaded at the end of the pipeline, instead of being deployed to the production environment. Designated approvers can then retrieve the package from the S3 bucket and manually deploy it to the target environment. + +### Users {#users} + +In the **User Management** section, administrators can manage user accounts and user groups. + +{{< figure src="/attachments/private-platform/pmp-admin3.png" class="no-border" >}} + +As the administrator, you can perform the following actions: + +#### User Management + +In the **User Management** tab, you can create and edit accounts for your local users and API users (that is, accounts that are used by an API service to access your Private Mendix Platform). By clicking **More Actions** ({{% icon name="three-dots-menu-horizontal" %}}) by an account, you can quickly perform a number of actions: + + * Edit a user's name and email + * Assign or remove user roles (local users only) + * Block a user + * Change a user's password + * Configure the language and time zone settings for a user (local users only) + * Log out a user (local users only) + * Delete a user account + +In the **Actions** tab, you can also log out all users currently logged in to your app. + +#### Group Management + +In the **Group Management** tab, you can create and edit user groups. These groups typically reflect your organization's structure. You can also use the **Automation Settings** option to automatically assign users to groups based on their profile attributes. + +### Platform + +In the **Deployment** section, administrators can view and manage statistics, activity logs, webhooks, and licenses. + +As the administrator, you can perform the following actions: + +* In the **Webhooks** tab, you can view and manage your [Webhooks](/developerportal/deploy/webhooks/). +* In the **Licensing** tab, you can check the status of your licenses, or upload a new Private Mendix Platform license bundle. + +#### Platform Statistics + +In the **Platform Statistics** section, you can access statistics such as the number of users and apps, daily user login times and numbers, or most active users. + +#### Activity Logs + +For auditing purposes, you can view a log of the most recent actions taken by users of the platform. + +##### Recent Actions + +This tab contains a list of the recent actions, logged for the time period specified in the **Log Settings** tab. The following actions are logged: + +* Creating and editing user accounts +* Creating and deleting apps +* Creating app packages +* Changing platform settings + +You can use the **Search** field to search for a specific action by name. + +##### Archived Actions + +This tab contains a list of actions that were archived after the period specified in the **Log Settings** tab has expired. You can download the archive if required for auditing purposes. + +##### Log Settings + +You can select how long the actions are kept in the logs, in days. The minimum number of days is 1, and the maximum is 365. You can also specify the logging level, from no logging to complete logging. + +#### Webhooks + +In the **Webhooks** tab, you can view and manage your webhooks. + +Webhooks allow you to send information about your licensed Mendix app deployed to Mendix Cloud or Mendix for Private Cloud to an external app or workflow. In Private Mendix Platform, you can use them to trigger a step in an automated [Build](/private-mendix-platform/reference-guide/admin/system/#build-steps) or [Deployment](/private-mendix-platform/reference-guide/admin/system/#deploy-steps) pipeline. + +For more information about configuring webhooks, refer to [webhooks documentation](/developerportal/deploy/webhooks/). + +#### Licensing + +On this page, you can view the status of your Private Mendix Platform license, and upload a new license bundle if necessary. + +[Private Cloud License Manager](/developerportal/deploy/private-cloud/private-cloud-license-manager/) must be used to manage the Private Mendix Platform license. It can also be used to manage and provision your own app licenses. + +Private Mendix Platform licenses are either **valid** or **not found**; when not found, the Platform operates in developer mode, where access to some features and capabilities is restricted. + +{{< figure src="/attachments/private-platform/pmp-wizard2.png" class="no-border" >}} + +When valid, licenses can have the following statuses: + +* Active (shown in green) +* About to expire (shown in yellow) +* Expired (shown in red) diff --git a/content/en/docs/private-platform/reference/admin/pmp-ref-admin-system.md b/content/en/docs/private-platform/reference/admin/pmp-ref-admin-system.md new file mode 100644 index 00000000000..0c16d2757b5 --- /dev/null +++ b/content/en/docs/private-platform/reference/admin/pmp-ref-admin-system.md @@ -0,0 +1,246 @@ +--- +title: "Private Mendix Platform Functionalities - System Administrators" +url: /private-mendix-platform/reference-guide/admin/system/ +description: "Provides details on the features and functionality of the Private Mendix Platform that are available to system administrators." +weight: 20 +--- + +## Introduction + +In Private Mendix Platform, system administrators primarily manage key settings which must be configured during the initial implementation, and which are rarely modified during normal operation. Settings relevant for systems admins are available in the [Settings](#settings) section of the admin navigation menu. + +## Accessing the Configuration Settings + +As a user with system administrator access rights, you can access the Private Mendix Platform configuration settings by performing the following steps: + +1. Switch to Admin Mode by clicking the profile picture in the top right corner of the screen and selecting **Switch to Admin Mode**. +2. In the left navigation menu, open the **Settings** section. + +## Settings {#settings} + +The **Settings** section of the administrator navigation menu contains setting relevant to your day-to-day tasks as a system admin. You can use it to manage your branding, license, Marketplace settings, and version control settings. + +Some of the settings that you configure here are initially set by the [Private Platform Configuration Wizard](/private-mendix-platform/quickstart/#wizard). System administrators can also update them at any time after the initial configuration. + +### Preferences + +General configuration settings allow you to manage the basic aspects of your Private Mendix Platform, such as the platform name and branding, toggling certain capabilities on or off, and version support settings. The settings in this section are largely configured when you run the initial configuration wizard, but you can still review and adjust them later during the implementation process. + +#### General + +The **General** tab allows you to configure information about your organization, and optionally also the Certified Mendix Partner that is working with you on implementing Private Mendix Platform. You can also use it to configure your locale settings. + +{{% alert color="info" %}} +Changing your locale sets locale-dependent formats, such as date and time, to the preferred format of the selected locale. The settings are applied to the Private Mendix Platform (for example, in the Marketplace or Mendix Portal), not in the apps created through the Platform. +{{% /alert %}} + +##### Branding + +The settings in this section allow you to configure custom branding for your Private Mendix Platform. You can customize the title of the Platform as shown in the top bar, upload your logo, or change the image on the login page. You can also configure an access banner that users will see before, during, or after the login page of your app, for example, to display any information about privacy or security that you want to communicate to your users. + +##### Support + +In this section, you can provide your own help and support instructions for users of your Private Mendix Platform. + +{{< figure src="/attachments/private-platform/pmp-wizard1.png" class="no-border" >}} + +Users can then see these instructions on the **Logs and Events** page for their app. + +##### Export Settings + +You can export your Private Mendix Platform settings to a JSON configuration file as backup, or to speed up the implementation of new Private Mendix Platform instances. + +Settings can only be imported during the initial configuration of the platform. To ensure data integrity and platform stability, you cannot import them into an instance that is already configured and running. + +#### Notifications + +Notification settings allow you to manage the notifications generated by Private Mendix Platform. These settings are necessary to ensure that your system can send out notifications. + +##### General + +In the current release of Private Mendix Platform, notifications are shown in the Platform itself. In future versions, you will also be able to enable email and push notifications. + +##### Administrative Tasks + +In this tab, you can trigger cleaning the scheduled event queue. + +#### Marketplace + +For Private Mendix Platform, the Marketplace is also private and hosted entirely within the platform itself. The settings in this section allow you to configure the administrative settings for publishing and downloading content to and from the private Marketplace. + +##### Content Approvals + +In this tab, you can configure whether contents that users publish to the private Marketplace requires administrator approval before publishing. To view all [pending, published, and rejected content items](/private-mendix-platform/reference-guide/admin/company/#content), click **Go to Marketplace Management**. + +##### Content Import {#import} + +You can populate your private Marketplace with contents by importing a zip file that contains the content packages along with a *package.json* file. You can upload the file from a Content Delivery Network, or manually from your local machine. + +{{< figure src="/attachments/private-platform/pmp-admin9.png" class="no-border" >}} + +###### Manually Importing Marketplace Content + +To manually upload a content bundle from your own computer, perform the following steps: + +1. Download the Marketplace Bundle with contents available in a zip file. If you do not have access to the bundle, contact your Mendix point of contact. +2. Click **Upload Marketplace Bundle** to go to the **Import Content** > **Upload Marketplace Bundle** tab. +3. Follow the steps described in [Company Administrators](/private-mendix-platform/reference-guide/admin/company/#manual-upload). + +###### Importing Marketplace Content from a CDN {#configure-import} + +To enable content import from a Content Delivery Network, follow these steps: + +1. Download the Marketplace Bundle with contents available in a zip file. If you do not have access to the bundle, contact your Mendix point of contact. +2. Unzip the files to an internal location which Private Mendix Platform can access via HTTP or HTTPS. Do not change the directory structure. +3. If using a self-signed certificate for your internal locations, configure Mendix Operator to trust your private Certificate Authorities. For more information, see [Creating a Private Cloud Cluster](/developerportal/deploy/standard-operator/#custom-tls). +4. In the **Content Import** tab, in the **Marketplace import bundle URL** field, enter the root URL of the *package.json* file included in the Marketplace download. + + For example, if the *package.json* can be accessed at the URL `https:///release/marketplace/Marketplace-1.0/package.json`, enter the following URL: `https:///release/marketplace/Marketplace-1.0/`. + + {{< figure src="/attachments/private-platform/pmp-config3.png" class="no-border" >}} + +5. Set the **Authentication** toggle to **ON**, and then specify the user name and password required to download the bundle. +6. Click **Save** to enable content import from this bundle. +7. Click **Go to Marketplace Import** to view the available downloads in the **Import Content** > **Import from CDN** tab. + +#### Version Support + +In this section, you can view or disable the versions of Mendix Studio Pro that your users are allowed to download. + +### Integrations + +In the **Integrations** section of the administrator menu, you can configure settings related to identity and access, version control, CI/CD, and others. + +#### Identity & Access + +In this section, you can configure SSO authentication for your users logging in to Private Mendix Platform. OIDC and SAML are supported as protocols. + +##### IdP Integration (OIDC) + +You can configure SSO authentication with the OIDC protocol. For more information, see [Runtime Configuration of Your IdP at Your App](/appstore/modules/oidc/#runtime-idp-app). + +##### IdP Integration (SAML) + +To configure SSO authentication with the SAML protocol, first [configure the service provider](/appstore/modules/saml/#configure-sp) in the **SP Configuration** tab, and then [create the IdP-specific settings](/appstore/modules/saml/#idp-specific-settings) in the **IdP Configuration** tab. + +To [debug the configuration](/appstore/modules/saml/#debugging-the-configuration), you can view the log files in the **Log** tab. + +##### OIDC Provider + +The settings under this tab control the connection between Studio Pro and the platform. They should not be changed without advanced knowledge of the platform. Stop and restart the Private Platform portal if you are having trouble logging in with Studio Pro. + +##### SCIM Provisioning + +System for Cross-Domain Identity Management (SCIM) is a protocol that simplifies user access management for applications. Private Mendix Platform uses the SCIM standard to pre-provision selected users onto your Platform without the users having to manually log in through SSO first. + +To enable SCIM provisioning, perform the following steps: + +1. Log in to Private Mendix Platform as an administrator. +2. In the **Authentication** section, click the **IdP Integration (OIDC)** or the **IdP Integration (SAML)** tab. +3. Edit your IdP configuration, and then click the **Provisioning** tab. +4. In the **Just in time provisioning** section, map the IdP attributes to the matching Mendix object attributes. +5. In the **Authentication** section, click the **SCIM Provisioning** tab, and then click **New**. +6. In the **IDP Configuration Page** dialogue, enter a name for the connection, and obtain the token for your identity provider by clicking **Copy**. +7. Enter the token in the configuration panel of your identity provider and verify that the connection is working. + +##### MxAdmin Settings + +By default, the platform has a default system administrator account called MxAdmin. You can disable the account by setting the **Disable MxAdmin** toggle to **Yes**. + +{{% alert color="info" %}} +Ensure that you have at least one other user with the System Administrator role assigned before disabling MxAdmin. +{{% /alert %}} + +##### Preferences + +You can configure the following preferences for login sessions in Private Mendix Platform: + +* **Inactivity Period for Automatic Account Disabling (Hours)** - The number of hours after which an unused account is disabled; if set to 0, accounts are not automatically disabled +* **Maximum Concurrent Sessions Per User Account** - The maximum number of concurrent login sessions that users can have; if set to 0, logging in while another session is running (for example, on a different browser or machine) ends the previous session and logs the user off +* **Failed Login Attempts to Lockout** - The number of failed login attempts after which the user account is locked for the duration specified below; if set to 0, accounts are not automatically locked out +* **Account Lockout Duration (Minutes)** - The number of minutes after which a locked out account is reactivated; if set to 0, locked out accounts must be reactivated by an administrator + +By default, all of these options are disabled (that is, set to a *0* value). To enable any of them, enter a number greater than zero into the corresponding field. + +#### Project Management + +You can integrate your Private Mendix Platform with [Jira by Atlassian](https://www.atlassian.com/software/jira) to manage your sprints and roadmap. Enabling the integration links your commits from Mendix Studio Pro directly to your user stories in Jira. The integration requires an active Jira license and a user with admin rights. + +To enable the connection, click **Connect Jira**, and then provide the following information: + +* URL of your Jira environment +* [Your Jira project key](https://support.atlassian.com/jira-software-cloud/docs/what-is-an-issue/#Project-keys) +* User name of a Jira admin user +* [API token of a Jira admin user](https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/) + +#### Version Control + +To create applications and collaborate, configure the connection to your version control repository. GitHub, GitLab, Azure DevOps, and Bitbucket are supported as version control systems. For more information, see [Configuring the Version Control System for Private Mendix Platform](/private-mendix-platform-version-control/). + +#### Build + +Settings in this section allow you to configure your CI/CD capabilities and Build pipeline. + +##### Build Method + +Configure CI/CD capabilities for your app. If you enable this option, you must also specify your CI system, configure the necessary settings, and register a Kubernetes cluster. Tekton, Jenkins, [AzureDevops](/private-mendix-platform/configure-azure/) and [Kubernetes](/private-mendix-platform-configure-k8s/) are supported. You can also configure a [custom template](/private-mendix-platform/reference-guide/admin/company/#manual-deployment) for your CI/CD capabilities. + +##### Build Steps {#build-steps} + + By default, the Build pipeline consists of the following steps: + +**Trigger Pipeline** > **Prepare Build** > **Start Build** > **Save Build Artifact** > **Complete Build** + +For Kubernetes CI, you can configure the pipeline to include additional steps after the pipeline is triggered, and before the build is completed. These additional steps can include webhook and REST calls, or manual approval for the build. + +#### Deployment + +Settings in this section allow you to configure your Deployment pipeline. + +##### Deployment Method + +Private Mendix Platform uses Private Cloud deployment options. For more information, refer to [Deploying a Mendix App to a Private Cloud Cluster](/developerportal/deploy/private-cloud-deploy/). + +##### Deployment Steps {#deploy-steps} + + By default, the Deploy pipeline consists of the following steps: + +**Trigger Pipeline** > **Get Deployment Artifact** > **Deploy App** > **Complete Pipeline** + +You can configure the pipeline to include additional steps after each default step. These additional steps can include webhook and REST calls, or manual approval for the build. + +You can also configure the pipeline to take into consideration the type of changes. Selecting the **Changes/updates to an app environment** check box allows you to bypass the deployment steps and instead simply restart the app in case of changes to the app environment (such as the app constants or the number of replicas). + +##### Security + +To help fulfill compliance requirements related to account control, Private Mendix Platform now supports disabling the default MxAdmin account for apps at deployment. This setting effectively removes the ability to access the app using the default system admin account, and is only recommended when combined with default use of an SSO module to avoid lockout. + +### Advanced + +In this section, you can adjust the advanced configuration settings of your Private Mendix Platform. + +#### Capabilities + +The settings in this section allow you to configure the basic aspects of your Private Mendix Platform: + +* **Enable App Projects?** - 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. +* **Enable 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. +* **Enable Build and Deploy** - Recommended. Enables you to use the Private Platform's CI/CD capabilities to build and deploy apps. Enables the Build and Deploy pipeline, environments,# metrics, logging, and related settings. +* **Enable Identity & Access Integration?** - Optional. Enable users to log in using SSO by configuring your IdP integration. +* **Allow sign up?** - Optional. Enable users to log in with a local user account, instead of or in addition to SSO. +* **Enable Webhooks?** - 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. +* **Enable License Management?** - Recommended. Upload your license bundle to automatically provision app licenses through Private Cloud License Manager. For more information, see Private Cloud License Manager. + +#### Operational + +In this section, you can access the list of scheduled events and the Mx Model Reflection tool. + +##### Scheduled Event + +This tab shows a list of all the scheduled tasks and actions in the system, together with start time, end time, and status. + +{{< figure src="/attachments/private-platform/pmp-wizard6.png" class="no-border" >}} + +##### Mx Model Reflection + +For more information about this platform-supported module, refer to [Mx Model Reflection](/appstore/modules/model-reflection/). \ No newline at end of file diff --git a/content/en/docs/releasenotes/private-platform/1.13.md b/content/en/docs/releasenotes/private-platform/1.13.md index 91b79aed7e9..31d6c0395e1 100644 --- a/content/en/docs/releasenotes/private-platform/1.13.md +++ b/content/en/docs/releasenotes/private-platform/1.13.md @@ -28,7 +28,7 @@ We have fixed some vulnerabilities in the *mxpc-test* and *pmp-pipeline-tools* i * Studio Pro 9.24.29 LTS (production-grade support) * Studio Pro 10.6.17 MTS (innovation-track only, limited support) -* 10.12.8 MTS (innovation-track only, limited support) +* Studio Pro 10.12.8 MTS (innovation-track only, limited support) ##### Other Platform Components diff --git a/static/attachments/private-platform/pmp-admin1.png b/static/attachments/private-platform/pmp-admin1.png index 3e4017cfd1b..e8a696842df 100644 Binary files a/static/attachments/private-platform/pmp-admin1.png and b/static/attachments/private-platform/pmp-admin1.png differ diff --git a/static/attachments/private-platform/pmp-admin4.png b/static/attachments/private-platform/pmp-admin4.png new file mode 100644 index 00000000000..d809c8e810b Binary files /dev/null and b/static/attachments/private-platform/pmp-admin4.png differ diff --git a/static/attachments/private-platform/pmp-admin5.png b/static/attachments/private-platform/pmp-admin5.png new file mode 100644 index 00000000000..dc92bc42a76 Binary files /dev/null and b/static/attachments/private-platform/pmp-admin5.png differ diff --git a/static/attachments/private-platform/pmp-admin6.png b/static/attachments/private-platform/pmp-admin6.png new file mode 100644 index 00000000000..25345ba0263 Binary files /dev/null and b/static/attachments/private-platform/pmp-admin6.png differ diff --git a/static/attachments/private-platform/pmp-admin7.png b/static/attachments/private-platform/pmp-admin7.png new file mode 100644 index 00000000000..3fef7ffbdb2 Binary files /dev/null and b/static/attachments/private-platform/pmp-admin7.png differ diff --git a/static/attachments/private-platform/pmp-admin8.png b/static/attachments/private-platform/pmp-admin8.png new file mode 100644 index 00000000000..e9610e2955e Binary files /dev/null and b/static/attachments/private-platform/pmp-admin8.png differ diff --git a/static/attachments/private-platform/pmp-admin9.png b/static/attachments/private-platform/pmp-admin9.png new file mode 100644 index 00000000000..b440331ff08 Binary files /dev/null and b/static/attachments/private-platform/pmp-admin9.png differ diff --git a/static/attachments/private-platform/pmp-config1.png b/static/attachments/private-platform/pmp-config1.png index 28345d38133..88d0757b8b5 100644 Binary files a/static/attachments/private-platform/pmp-config1.png and b/static/attachments/private-platform/pmp-config1.png differ