Skip to content

Commit bbdcbcc

Browse files
Merge pull request mendix#9228 from mendix/kk-pc-pr-fix
Fix PR 9220
2 parents df84724 + bf0a092 commit bbdcbcc

12 files changed

Lines changed: 67 additions & 21 deletions

File tree

content/en/docs/apidocs-mxsdk/apidocs/deployment/private-cloud-deploy-api.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,10 @@ The following steps will create a cluster, create a namespace, and create an env
169169
Please note that there is a limited support for Custom permissions in Deploy APIs.
170170
{{% /alert %}}
171171

172+
{{% alert color="info" %}}
173+
In order to create or manage environments in a namespace through an API, the technical contact must have a role assigned to the namespace permissions.
174+
{{% /alert %}}
175+
172176
## API Reference
173177

174178
{{% alert color="info" %}}

content/en/docs/deployment/private-cloud/private-cloud-cluster/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1481,7 +1481,7 @@ Enabling the **External Secrets Store** option allows users to retrieve the foll
14811481
If you want to use the secret store for custom runtime settings or MxApp constants, the Mendix Operator must be in version 2.10.0 or later. Database plan, storage plan, and MxAdmin password are available from version 2.9.0 onwards.
14821482
{{% /alert %}}
14831483

1484-
Enabling the Development Mode option will allow users to change the type of an environment to Development.
1484+
Enabling the Development DTAP Mode option allows users to change the type of an environment to Development. By default, the DTAP mode is set to Production mode. If this option is enabled, the type of an environment can be changed to Development mode on the **Environment Details** page.
14851485

14861486
If PCLM is configured, the default product type for Runtime licenses is set to **standard**. However, if the product type for PCLM Runtime licenses in the license server differs from **Standard**, you can customize it here. To check the product type of the Runtime license, navigate to the **PCLM Statistics** page, and then select **Runtime** in the **Select type** field.
14871487

content/en/docs/deployment/private-cloud/private-cloud-cluster/private-cloud-global-operator.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ When running the Mendix Operator in Global mode, one installation of the Mendix
1313
It is essential to ensure that each namespace is exclusively managed by a single Operator. The deployment of two Operators, particularly with distinct versions, to manage the same namespace, may lead to conflicts, resulting in the cancellation and rollback of each operator's modifications.
1414
{{% /alert %}}
1515

16+
Global Operator installation is supported officially from Operator version v2.20.0 and above.
17+
1618
## Installing the Global Operator
1719

1820
While installing the Mendix Operator in Global mode, you must first deploy the Mendix Operator and Agent within the *Global Operator namespace*. A Global Operator namespace comprises the Operator itself, the Agent, and the configuration that instructs the Operator on the namespaces it should oversee.
@@ -43,7 +45,7 @@ To install and configure the Global Operator, perform the following steps:
4345

4446
{{< figure src="/attachments/deployment/private-cloud/global-operator/global-operator5.png" class="no-border" >}}
4547

46-
6. Select the **Operating system** and install the Mendix Operator by performing the following steps:
48+
6. Select the **Operating system** and install the Mendix Operator and Mendix Agent by performing the following steps:
4749

4850
1. [Download the Configuration Tool](/developerportal/deploy/standard-operator/#download-configuration-tool).
4951
2. [Sign into the Platform](/developerportal/deploy/standard-operator/#openshift-signin).
@@ -53,6 +55,8 @@ To install and configure the Global Operator, perform the following steps:
5355

5456
4. You can apply the custom TLS and proxy settings in the Global Operator main namespace by just selecting only the **Custom TLS** and **Proxy** options in the Configuration Tool.
5557

58+
{{% alert color="info" %}}Base installation can only be performed on the Global Operator main namespace. Along with base installation, you can also apply custom TLS and proxy settings. However, other configurations such as storage plan, database plan, ingress configuration, or registry configuration are not supported in Global Operator main namespace.{{% /alert %}}
59+
5660
7. Verify that the installation was successful by using the following command:
5761

5862
```shell
@@ -87,6 +91,8 @@ To install and configure the Global Operator, perform the following steps:
8791

8892
{{% alert color="warning" %}}Ensure that you do not use a namespace that is already used as a Global Operator main namespace. The Global Operator namespace must be separate from managed namespaces, otherwise you may encounter unexpected results.{{% /alert %}}
8993

94+
{{% alert color="warning" %}}Ensure that you do not perform base installation on the Global Operator managed namespace.{{% /alert %}}
95+
9096
14. Click **Configure Namespace**. Under **Global Operator** section in the cli, provide the main namespace name and select the resources which need to be configured in the managed namespace. Follow [Configure the namespace](/developerportal/deploy/standard-operator/#configure-namespace) for more information. Once the information is provided, under **Review and Apply** section, click **Apply Configuration**
9197

9298
### Results

content/en/docs/deployment/private-cloud/private-cloud-deploy.md

Lines changed: 43 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ To deploy an app to your private cloud platform, you need the following:
3333
* A Mendix account with **Deploy App** rights to an existing Cluster – see [Registering a Private Cloud Cluster](/developerportal/deploy/private-cloud-cluster/) for more information on setting up clusters and namespaces and adding members
3434
* Mendix Studio Pro 8.0.0 (build 56467) or above.
3535
* A Mendix app created with the version of Studio Pro you are using.
36-
* Make sure that the security of the app is set to Production. By default, all environments are set to Production mode when created. If you want to change it to Developer mode, the Cluster Manager can do this from the cluster manager page.
36+
* Make sure that the security of the app is set to Production. By default, all environments are set to Production mode when created. The DTAP mode is disabled by default. If you want to change it to Developer mode, the cluster manager can enable the DTAP mode from the Cluster Manager page.
3737

3838
## Deploying an App for the First Time
3939

@@ -122,17 +122,17 @@ All environments are defined as production environments, which means that [secur
122122

123123
{{< figure src="/attachments/deployment/private-cloud/private-cloud-deploy/customizeEnvironmentNamespaceSelection.png" class="no-border" >}}
124124

125-
6. Enter a **Subscription Secret** if you want your app to run as a licensed app. Without a license, your app will be subjected to restrictions very similar to those listed in the [Free Apps](/developerportal/deploy/mendix-cloud-deploy/#free-app) section of *Mendix Cloud*.
125+
6. Select the **Environment Purpose** to select the purpose of the environment.
126126

127-
If you have configured **PCLM** in your namespace, the license from your license bundle will be automatically applied in the environment (with a condition that licenses should be available in the license bundle and not claimed in other environments). For more information, see [Private Cloud License Manager](/developerportal/deploy/private-cloud/private-cloud-license-manager/).
127+
{{% alert color="info" %}} Currently, its only possible to set the Environment Purpose in the portal and not via the API. {{% /alert %}}
128128

129-
{{< figure src="/attachments/deployment/private-cloud/private-cloud-deploy/PCLM.png" class="no-border" >}}
129+
7. Enter a **Subscription Secret** if you want your app to run as a licensed app. Without a license, your app will be subjected to restrictions very similar to those listed in the [Free Apps](/developerportal/deploy/mendix-cloud-deploy/#free-app) section of *Mendix Cloud*.
130130

131-
7. Click **Next**.
131+
8. Click **Next**.
132132

133133
{{< figure src="/attachments/deployment/private-cloud/private-cloud-deploy/configureEnvResources.png" class="no-border" >}}
134134

135-
8. Select **Core Resources**.
135+
9. Select **Core Resources**.
136136

137137
For core resources, there are two sets of values. The **Request** value is the amount of core resources which are initially requested. The **Limit** value is the maximum amount of resource that the environment can use.
138138

@@ -149,18 +149,18 @@ All environments are defined as production environments, which means that [secur
149149

150150
{{% alert color="info" %}}If the cluster manager has added and enabled customized core resource plan on Cluster manager page, only the configured custom core resource plans will be visible for selection. Once the custom core resources plans are enabled, environments cannot be created using the default plans until all the associated environments using the custom core resource plan are deleted and the custom resource plan is disabled on the **Cluster manager** page.{{% /alert %}}
151151

152-
9. Select a **Database plan** from the list of plans set up in the namespace.
152+
10. Select a **Database plan** from the list of plans set up in the namespace.
153153

154154
{{% alert color="info" %}}If the Cluster Manager has configured a secret store for this namespace, this option will be disabled. You can find more information on configuring the secret store in [Integrate Kubernetes with Secret Stores](/developerportal/deploy/secret-store-credentials/).{{% /alert %}}
155155

156-
10. Select a **Storage plan** from the list of plans set up in the namespace.
156+
11. Select a **Storage plan** from the list of plans set up in the namespace.
157157

158158
{{% alert color="info" %}}If the Cluster Manager has configured a secret store for this namespace, this option will be disabled. You can find more information on configuring the secret store in [Integrate Kubernetes with Secret Stores](/developerportal/deploy/secret-store-credentials/).{{% /alert %}}
159159

160160
{{< figure src="/attachments/deployment/private-cloud/private-cloud-deploy/image7.png" class="no-border" >}}
161161

162-
11. Click **Create Environment**.
163-
12. You will see your new environment listed. An *in-progress* icon will be shows next to the resource plans until they have been provisioned.
162+
12. Click **Create Environment**.
163+
13. You will see your new environment listed. An *in-progress* icon will be shows next to the resource plans until they have been provisioned.
164164

165165
{{< figure src="/attachments/deployment/private-cloud/private-cloud-deploy/image8.png" class="no-border" >}}
166166

@@ -169,7 +169,7 @@ All environments are defined as production environments, which means that [secur
169169
You can also filter the environment by the namespace name, environment ID, and environment name.
170170

171171
{{% alert color="info" %}}
172-
The word **Licensed** shows that the Operator managing that environment is licensed, otherwise its *Trial*
172+
If the Operator managing the environment is licensed, **Licensed Operator** is displayed. If the Operator is not licensed, the display shows **Trial Operator**.
173173
{{% /alert %}}
174174

175175
### Deploying the Deployment Package{#deploy-package}
@@ -229,9 +229,11 @@ There are five buttons:
229229

230230
* Refresh
231231
* Upload
232-
* Create Package From Teamserver
232+
* Create Deployment Package
233+
* Lock
233234
* Details
234235
* Deploy
236+
* Delete
235237

236238
These are described in more detail below.
237239

@@ -245,9 +247,13 @@ Using the browser refresh button will take you away from this environments page,
245247

246248
#### Upload
247249

248-
This allows you to upload an MDA package you have already created, using Studio Pro for instance. The uploaded package is added to the list of packages for the app and can be deployed in the same way as a package created using **Create Package From Teamserver**.
250+
This allows you to upload an MDA package you have already created, using Studio Pro for instance. The uploaded package is added to the list of packages for the app and can be deployed in the same way as a package created using **Create Deployment Package**.
249251

250-
#### Create Package From Teamserver
252+
#### Lock
253+
254+
This button allows you to lock the deployment package so it cannot be deleted or modified. If unlocked, the package can be deleted. The deployment packages if deployed in an environment will be automatically locked. If the environment is deleted, the deployment package will be unlocked.
255+
256+
#### Create Deployment Package
251257

252258
This creates a new package as described in [Creating a Deployment Package](#create-deployment-package), above.
253259

@@ -282,10 +288,10 @@ For each environment, you can see a summary of the status of the resources and d
282288

283289
You can perform the following actions:
284290

285-
* **Add Environment**
291+
* **Create Environment**
286292
* View **Details**
287293
* Perform **Actions**
288-
* Reorder **Environments**
294+
* **Environment Settings**
289295

290296
These are described in more detail, below.
291297

@@ -317,6 +323,16 @@ The **Database** indicator has the following values:
317323
* Cross – the database is not provisioned
318324
* Spinner – the database is being provisioned
319325

326+
##### Service Account
327+
328+
The **Service Account** is specified in namespace configuration for [Workload Identity](/developerportal/deploy/private-cloud-storage-plans/#configuring-the-plan-6) or [IRSA mode](/developerportal/deploy/private-cloud-storage-plans/#configuring-a-postgres-plan-1). If no values are specified, it uses the default Service account.
329+
330+
The **Service Account** indicator has the following values:
331+
332+
* Tick – the service account is successfully attached to the environment.
333+
* Cross – the service account failed to attach
334+
* Spinner – the service account creation is in progress
335+
320336
##### Development
321337

322338
The word **Development** indicates that this environment is set up for development.
@@ -343,7 +359,7 @@ You can get an Operator license from [Mendix Support](https://support.mendix.com
343359

344360
The word **Service Account** indicates that this environment is successfully attached to a service account. If no service accounts are created specific to this environment, then this environment will be attached to the default service account.
345361

346-
#### Add Environment
362+
#### Create Environment
347363

348364
This adds a new environment as described in [Creating an Environment](#create-environment), above.
349365

@@ -371,20 +387,28 @@ This section shows all the activities which have taken place in this environment
371387

372388
### Application Settings
373389

390+
#### Technical Contact
391+
374392
This section allows you to designate the Technical Contact for the application. The Technical Contact serves as the point of contact for any app-related inquiries and should have the capability to manage all environments within the app.
375393

376394
{{< figure src="/attachments/deployment/private-cloud/private-cloud-deploy/technicalContact.png" class="no-border" >}}
377395

378396
For applications created before December 12, the Technical Contact field is empty by default. It can be set by a user with cloud access permissions for the application.
379397

380-
{{% alert color="info" %}}
381-
Once a Technical Contact is assigned, they automatically receive administrative permissions for all namespaces associated with environments in the application.
398+
{{% alert color="warning" %}}
399+
Once a Technical Contact is assigned, they automatically receive administrative permissions for all namespaces associated with environments in the application. This means that the Technical Contact can perform all actions on all environments in the application. The Administrative permissions will be intact even when the Technical Contact is changed. Hence, the cluster manager must either manually assign a new role to the developer if they do not want all the permissions assigned to the developer, or remove the role assigned to the developer if they want all the permissions to be revoked for the developer.
382400
{{% /alert %}}
383401

384402
For applications created on or after December 12, the Technical Contact is automatically set to the application's creator. In such cases, whenever a new environment is added, the Technical Contact receives administrative permissions for the namespaces associated with that environment.
385403

386404
The Technical Contact can be changed later, but only by the current Technical Contact.
387405

406+
#### Environment Purpose {#environment-purpose}
407+
408+
This section allows you to edit the Environment Purpose for the environments within the application. Setting the purpose of your environment does not affect its operational state. However, it helps ensure the environment is used as intended, providing clarity for both you and us. We strongly recommend setting this field, as future features may be tailored to specific environment purposes. For applications where the Technical Contact is not set, this section is not visible.
409+
410+
When creating a new environment, the Technical Contact can set the environment purpose. Once the environment is created, you can change the purpose in Application Settings. However, the purpose can only be edited by the Technical Contact after environment creation.
411+
388412
## Managing Your Environments from the Environment Details Page {#environment-details}
389413

390414
Each environment you create has an **Environment Details** page which allows you to monitor and manage your environments. You can reach this by clicking the **Details** button next to the environment you want to manage.

content/en/docs/releasenotes/deployment/mendix-for-private-cloud.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,18 @@ For information on the current status of deployment to Mendix for Private Cloud
1212

1313
## 2025
1414

15+
### March 20, 2025
16+
17+
#### Portal Improvements
18+
19+
* We have added an option which allows a Technical Contact to set the [environment purpose](/developerportal/deploy/private-cloud-deploy/#environment-purpose). Setting the purpose of your environment does not affect its operational state. We strongly recommend setting this field, as future features may be tailored to specific environment purposes.
20+
* We have renamed **Development mode** to **Development DTAP mode** in the UI.
21+
22+
#### Deploy API
23+
24+
* We have fixed an issue where users with the Technical Contact role could not create or manage environments through API.
25+
* We have fixed an issue where it was not possible to retrieve the environments with the *Get multiple environment manifest* API if the environment internal ID was longer than 8 characters.
26+
1527
### March 10, 2025
1628

1729
#### License Manage CLI v0.10.1
58.3 KB
Loading
73 KB
Loading
112 KB
Loading
135 KB
Loading
8.12 KB
Loading

0 commit comments

Comments
 (0)