Skip to content

Stackit changes#11208

Open
Nidhi251289 wants to merge 12 commits into
mendix:developmentfrom
Nidhi251289:stackItdocumentation
Open

Stackit changes#11208
Nidhi251289 wants to merge 12 commits into
mendix:developmentfrom
Nidhi251289:stackItdocumentation

Conversation

@Nidhi251289
Copy link
Copy Markdown
Contributor

Stack it changes

Copy link
Copy Markdown
Collaborator

@katarzyna-koltun-mx katarzyna-koltun-mx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed and waiting for the go ahead.

| User | Username for the registry robot account |
| Password | Token (password) for the robot account |

Before pushing images to container registry, you must first create the repository.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think repositories automatically created when pushing to them.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@walkline https://mendix.slack.com/archives/C0B2Y7ZQ3K4/p1778569861394009
here, gauarav created the registry before
and then u were able to use it

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed. Replaced repository with registry

Example:

```shell
kubectl patch serviceaccount default -n <namespace> -p '{"imagePullSecrets": [{"name": "<secret-name>"}]}'
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should mention somewhere that mxpc-cli or the Helm chart will create a secret with the registry credentials, so they can use that secret. Usually, the secret has a name similar to this: mendix-generic-registry-secret.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

If your provider is Azure, [Postgres managed identity authentication](#database-postgres-azwi) can be used instead to increase security.

{{% alert color="info" %}}
The Mendix on-demand PostgreSQL provisioner cannot be used directly. STACKIT PostgreSQL Flex does not expose the `CREATEROLE` privilege, which is necessary for Mendix to automatically create database users with SQL commands. In order to facilitate the use of Postgres, switch to [JDBC plan](#database-jdbc) and create a dedicated database user for the new Mendix environment using the STACKIT CLI or API.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should add something like this at the beginning: This limitation applies only to STACKIT PostgreSQL Flex databases. Because Reading just the first santace can lead to a false impression.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed


#### Prerequisites

* A Ceph or S3-compatible bucket.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we mentioning Ceph storage here (and several lines below)? I only tested the S3-compatible interface for STACKIT Object Storage.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was already there
I just moved ceph storage in next section

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed


#### Configuring the Plan

In the Ceph plan configuration, enter the following details:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ceph not needed here?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

{{% /alert %}}

{{% alert color="info" %}}
The Mendix on-demand PostgreSQL provisioner cannot be used directly. STACKIT PostgreSQL Flex does not expose the CREATEROLE privilege, which is necessary for Mendix to automatically create database users via SQL commands. Hence, a databaser user needs to be created per environment before deployment.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same comment: Maybe we should add something like this at the beginning: This limitation applies only to STACKIT PostgreSQL Flex databases. Because Reading just the first santace can lead to a false impression.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Copy link
Copy Markdown
Contributor

@walkline walkline left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, thanks!

@katarzyna-koltun-mx
Copy link
Copy Markdown
Collaborator

On hold until June, waiting for the go ahead

Copy link
Copy Markdown
Contributor

@MXClyde MXClyde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Summary

Thank you for adding STACKIT support documentation. This is a great addition. However, the changes need several revisions before merging.

Findings:

  • MUST FIX: Brand-name casing throughout: "STACKIT" (not "Stackit" or "StackIt"), "STACKIT Kubernetes Engine", "STACKIT PostgreSQL Flex", "STACKIT Container Registry", "STACKIT Object Storage". STACKIT is consistently rendered all-caps in their own brand and product naming.
  • MUST FIX: The release note entry is too thin and underspecified — readers learn nothing about scope, prerequisites, or the SKE-specific limitations that already exist elsewhere in this PR. I've suggested a complete rewrite that surfaces those limitations and links into the relevant sections.
  • MUST FIX: Duplicate field list in the STACKIT Object Storage configuration section (private-cloud-storage-plans.md).
  • SHOULD FIX: Several grammar/typo issues in the new prose (fail to start the and deployment, By creating dedicated bucket for all the environment, double-space option and the bucket).
  • SHOULD FIX: Add an explicit "unmanaged" statement to the SKE entry
  • SHOULD FIX: Add a Kubernetes-version statement for SKE (any SKE-offered version within our supported range).
  • SHOULD FIX: Whitespace-only reindent of the unrelated gcloud block in private-cloud-registry.md should be reverted — it pulls the fenced block out of its list-item indentation and is unrelated to STACKIT.
  • SHOULD FIX: Trailing whitespace in the new STACKIT registry table (private-cloud-registry.md).
  • PENDING (please clarify): The /metrics line removal in private-cloud-license-manager.md looks unrelated to STACKIT. Either revert, or split into a separate PR with a rationale.

See inline comments for the specific edits.

### May 20, 2026

#### StackIt support

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MUST FIX (casing): Change StackIt support to STACKIT Support. STACKIT's own brand and product naming uses all-caps consistently.

#### StackIt support

* We now officially support app deployments in Stackit kubernetes environments.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MUST FIX (casing): Stackit kubernetes environments should be STACKIT Kubernetes Engine — both "STACKIT" and the product name "Kubernetes Engine" need correct capitalization.

#### StackIt support

* We now officially support app deployments in Stackit kubernetes environments.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MUST FIX (rewrite): This release note is too thin. It doesn't tell readers what's actually supported, what the limitations are, or where to find configuration details — and it omits the SKE-specific caveats that this same PR adds elsewhere. Please replace the heading + bullet with the following:

### STACKIT Kubernetes Engine Support

Mendix on Kubernetes now supports deployment to STACKIT Kubernetes Engine (SKE). See [Supported Environments](/developerportal/deploy/private-cloud-supported-environments/#supported-clusters) for details.

**Limitations:**
- STACKIT PostgreSQL Flex requires JDBC plan (CREATEROLE not exposed)
- STACKIT Object Storage requires manual bucket and user creation
- Container registry repositories must be created before pushing images

For configuration details, see [Storage Plans](/developerportal/deploy/private-cloud-cluster/private-cloud-storage-plans/#stackit-object-storage) and [Container Registry](/developerportal/deploy/private-cloud-cluster/private-cloud-registry/#stackit-container-registry).

* [Google Cloud SQL for PostgreSQL](https://cloud.google.com/sql/docs/postgres).
* [Amazon RDS Aurora for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)
* [Stackit Postgres Flex](https://stackit.com/en/products/database/stackit-postgresql-flex)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MUST FIX (casing): Stackit Postgres Flex should be STACKIT PostgreSQL Flex — matches both STACKIT's brand casing and their own product naming (PostgreSQL, not Postgres).

* [Google Cloud Platform](https://cloud.google.com/)
* [Google Kubernetes Engine- Autopilot](https://cloud.google.com/kubernetes-engine/docs/concepts/autopilot-overview). For more information, see [Mendix on Kubernetes Cluster: GKE Autopilot Workarounds](/developerportal/deploy/private-cloud-cluster/#gke-autopilot-workarounds)
* [STACKIT Kubernetes Engine](https://stackit.com/en/products/runtime/stackit-kubernetes-engine)

Copy link
Copy Markdown
Contributor

@MXClyde MXClyde Jun 2, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SHOULD FIX (clarity — add unmanaged statement): STACKIT is unmanaged on our side — customers self-provision the cluster and dependencies. Please add the following sentence after the SKE bullet so readers understand the scope up front:

For STACKIT Kubernetes Engine, customers provision the SKE cluster, PostgreSQL Flex database(s), and Object Storage bucket(s) themselves before deploying Mendix.

* **Access Key** and **Secret Key** - The credentials for the environment user account.
* **Autogenerate prefix** - Leave it empty
* **Share bucket between environments** - Specifies if the bucket can be shared between environments (create an on-demand storage plan); Enable this option and the bucket will be shared between multiple environments.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SHOULD FIX (whitespace): Enable this option and the bucket will be shared has a double space between and and the. Please collapse to a single space.

--member "serviceAccount:PROJECT_ID.svc.id.goog[K8S_NAMESPACE/KSA_NAME]" \
GSA_NAME@PROJECT_ID.iam.gserviceaccount.com
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SHOULD FIX (unrelated whitespace change): The gcloud fenced block (positions 13–24 of this hunk) has been re-indented from 4 spaces to 8 spaces. This is unrelated to STACKIT support and pulls the code block out of its list-item indentation context, which can affect rendering. Please revert the whitespace change in this block.

| Push URL | registry.onstackit.cloud |
| Pull URL | registry.onstackit.cloud |
| Registry name | `<stackitregistry>/<repository>`, where `<stackitregistry>` is the registry created in stackit |
| With authentication | enabled |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SHOULD FIX (grammar + casing): where <stackitregistry> is the registry created in stackitwhere <stackitregistry> is the registry you created in STACKIT.

| ------------------- | -----------------------------------------------------------------------------------------------|
| Push URL | registry.onstackit.cloud |
| Pull URL | registry.onstackit.cloud |
| Registry name | `<stackitregistry>/<repository>`, where `<stackitregistry>` is the registry created in stackit |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SHOULD FIX (formatting): This row of the new STACKIT registry table has trailing whitespace after the closing |. Please clean up trailing whitespace across the table rows for consistency.


* `http<s>://pclm.<domain>/health` should return `HTTP 200 OK`
* `https<s>://pclm.<domain>/metrics` should return `HTTP 200 OK` together with the collected server metrics

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PENDING (please clarify): Was this /metrics line removal intentional? It seems unrelated to STACKIT support. Please revert if unintentional, or move to a separate PR with a rationale if it was deliberate.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@MXClyde for PENDING (please clarify): The /metrics line removal in private-cloud-license-manager.md looks unrelated to STACKIT. Either revert, or split into a separate PR with a rationale.

yes, the change was minimal, so thought of specifying it in the same PR. We dont have metrics endpoint for PCLM anymore.

@Nidhi251289
Copy link
Copy Markdown
Contributor Author

@katarzyna-koltun-mx can u please incorporate above changes from Clyde

@MXClyde
Copy link
Copy Markdown
Contributor

MXClyde commented Jun 2, 2026

Proposed Fixes Available

@katarzyna-koltun-mx For your convenience, I've applied all the review fixes in a separate PR that targets mendix/docs:development directly:

#11290

You can review the changes there and, if they look good, this PR (#11208) can be closed in favor of the new one. This includes:

✅ All STACKIT casing standardized to all-caps
✅ Release note rewritten with limitations and links
✅ Unmanaged provisioning description added
✅ Kubernetes version statement added
✅ Duplicate field list removed
✅ Grammar/typo fixes
✅ Unrelated changes reverted (gcloud whitespace, /metrics removal)

Feel free to cherry-pick specific commits or merge the whole thing. Let me know if you have questions!

@MXClyde MXClyde mentioned this pull request Jun 2, 2026
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants