Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions doc/user/content/installation/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,4 @@ menu:

- [Materialize Operator Configuration](/installation/configuration/)
- [Troubleshooting](/installation/troubleshooting/)
- [FAQ](/installation/faq/)
34 changes: 34 additions & 0 deletions doc/user/content/installation/faq.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
title: "FAQ: Self-managed installation"
description: "Frequently asked questions about self-managed installations."
aliases:
- /self-hosted/faq/
menu:
main:
parent: "installation"
weight: 92
---

## How long do license keys last?

Community edition license keys are valid for one year. Enterprise license
keys will vary based on the terms of your contract.

## How do I get a community license key?

To request a license key for Materialize Community Edition, visit https://materialize.com/get-started/.

## How do I get an enterprise license key?

To purchase a Materialize Self-Managed Enterprise License, contact us
[here](https://materialize.com/self-managed).

## How do I add a license key to an existing installation?

The license key should be configured in the Kubernetes Secret resource
created during the installation process. To configure a license key in an
existing installation, run:

```bash
kubectl -n materialize-environment patch secret materialize-backend -p '{"stringData":{"license_key":"<your license key goes here>"}}' --type=merge
```
3 changes: 3 additions & 0 deletions doc/user/content/installation/install-on-aws/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ for details.
If you do not have Helm 3.2.0+, install. For details, see the [Helm
documentation](https://helm.sh/docs/intro/install/).

{{< include-md file="shared-content/license-key-required.md" >}}

Copy link
Contributor

Choose a reason for hiding this comment

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

Could we add this blurb to a file in doc/user/shared-content/ ?

Then, all we need to do in the various files is
{{< include-md file="shared-content/filename.md" >}}

Copy link
Contributor Author

Choose a reason for hiding this comment

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

does this look right? i'm not sure how to build/preview the docs

Copy link
Contributor

Choose a reason for hiding this comment

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

To build/preview ...

  • locally, if you go to the ... doc/user directory and run
hugo server --disableFastRender --ignoreCache  --baseURL http://localhost:1313/docs/ 

You'll see the following
Image

In the PR, we automatically build the preview at https://preview.materialize.com/materialize/<PR NUM>/

Image

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor

@kay-kim kay-kim Nov 3, 2025

Choose a reason for hiding this comment

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

QQ: How do new enterprise customers get the license key? Like once a new customer purchases an enterprise license ... what is the mechanism by which they get their key?

Copy link
Contributor

Choose a reason for hiding this comment

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

That is, should we blurb a generic sentence w.r.t. enterprise customers?

Copy link
Contributor

Choose a reason for hiding this comment

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

Kind of like "If you have purchased an Enterprise License, your license key can be obtained blah..."

Copy link
Contributor Author

Choose a reason for hiding this comment

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

i think that's still kind of up in the air - for now, i think we're just going to generate them internally and email them to users or something along those lines. i think we can update the docs later once we have a better idea of what the workflow will look like.

Copy link
Contributor

Choose a reason for hiding this comment

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

For enterprise license keys: we can just say "contact us to receive your enterprise license key".

## Set up AWS Kubernetes environment and install Materialize

{{< warning >}}
Expand Down Expand Up @@ -278,6 +280,7 @@ components:
cpu_request = "1"
memory_request = "2Gi"
memory_limit = "2Gi"
license_key = ""
}
]
EOF
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ for details.
If you do not have Helm 3.2.0+, install. For details, see the [Helm
documentation](https://helm.sh/docs/intro/install/).

{{< include-md file="shared-content/license-key-required.md" >}}

## Procedure

1. Open a Terminal window.
Expand Down
3 changes: 3 additions & 0 deletions doc/user/content/installation/install-on-azure/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ the [Helm documentation](https://helm.sh/docs/intro/install/).
Terraform outputs. Alternatively, you can manually specify the name and region.
If you want to use `jq` and do not have `jq` installed, install.

{{< include-md file="shared-content/license-key-required.md" >}}

## A. Authenticate with Azure

1. Open a Terminal window.
Expand Down Expand Up @@ -331,6 +333,7 @@ deploys a sample infrastructure on Azure with the following components:
cpu_request = "1"
memory_request = "2Gi"
memory_limit = "2Gi"
license_key = ""
}
]
EOF
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ the [Helm documentation](https://helm.sh/docs/intro/install/).
Terraform outputs. Alternatively, you can manually specify the name and region.
If you want to use `jq` and do not have `jq` installed, install.

{{< include-md file="shared-content/license-key-required.md" >}}

## A. Authenticate with Azure

1. Open a Terminal window.
Expand Down
3 changes: 3 additions & 0 deletions doc/user/content/installation/install-on-gcp/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ If you do not have Helm version 3.2.0+ installed, install. For details, see the
Terraform outputs. Alternatively, you can manually specify the name and region.
If you want to use `jq` and do not have `jq` installed, install.

{{< include-md file="shared-content/license-key-required.md" >}}

## A. Configure GCP project and service account

1. Open a Terminal window.
Expand Down Expand Up @@ -400,6 +402,7 @@ components:
cpu_request = "1"
memory_request = "2Gi"
memory_limit = "2Gi"
license_key = ""
}
]
EOF
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,8 @@ If you do not have Helm version 3.2.0+ installed, install. For details, see the
Terraform outputs. Alternatively, you can manually specify the name and region.
If you want to use `jq` and do not have `jq` installed, install.

{{< include-md file="shared-content/license-key-required.md" >}}

## Procedure

### A. Setup GCP service account and authenticate
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ documentationq](https://kubernetes.io/docs/tasks/tools/).
For help with `kubectl` commands, see [kubectl Quick
reference](https://kubernetes.io/docs/reference/kubectl/quick-reference/).

{{< include-md file="shared-content/license-key-required.md" >}}

## Installation

1. Start Docker if it is not already running.
Expand Down Expand Up @@ -104,6 +106,8 @@ reference](https://kubernetes.io/docs/reference/kubectl/quick-reference/).

{{% self-managed/versions/curl-sample-files-local-install %}}

1. Edit `sample-materialize.yaml` to add your license key to the `license_key` field in the backend secret.

1. Install the Materialize Helm chart.

1. Add the Materialize Helm chart repository.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ documentationq](https://kubernetes.io/docs/tasks/tools/).
For help with `kubectl` commands, see [kubectl Quick
reference](https://kubernetes.io/docs/reference/kubectl/quick-reference/).

{{< include-md file="shared-content/license-key-required.md" >}}

## Upgrade

{{< important >}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,8 @@ This tutorial uses `kubectl`. To install, refer to the [`kubectl` documentationq
For help with `kubectl` commands, see [kubectl Quick
reference](https://kubernetes.io/docs/reference/kubectl/quick-reference/).

{{< include-md file="shared-content/license-key-required.md" >}}

## Installation

1. Start Docker if it is not already running.
Expand Down Expand Up @@ -107,6 +109,8 @@ reference](https://kubernetes.io/docs/reference/kubectl/quick-reference/).

{{% self-managed/versions/curl-sample-files-local-install %}}

1. Edit `sample-materialize.yaml` to add your license key to the `license_key` field in the backend secret.

1. Install the Materialize Helm chart.

1. Add the Materialize Helm chart repository.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ This tutorial uses `kubectl`. To install, refer to the [`kubectl` documentationq
For help with `kubectl` commands, see [kubectl Quick
reference](https://kubernetes.io/docs/reference/kubectl/quick-reference/).

{{< include-md file="shared-content/license-key-required.md" >}}

## Upgrade


Expand Down
7 changes: 5 additions & 2 deletions doc/user/content/license.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,16 @@ Use of the Materialize Self-Managed Community edition is subject to the
License](https://github.com/MaterializeInc/materialize/blob/main/LICENSE)
agreement.

To purchase a Materialize Self-Managed Enterprise License, contact us
A license key is required to use Self-Managed Materialize.

- To request a license key for Materialize Community Edition, visit https://materialize.com/get-started/.
- To purchase a Materialize Self-Managed Enterprise License, contact us
[here](https://materialize.com/self-managed).

### Self-Managed Community Edition Privacy Policy

By downloading Materialize Self-Managed Community Edition, you are agreeing to
Materialize' [privacy policy](https://materialize.com/privacy-policy/).
Materialize's [privacy policy](https://materialize.com/privacy-policy/).

### Materialize Self-Managed Community Edition and Emulator Privacy FAQ

Expand Down
16 changes: 16 additions & 0 deletions doc/user/content/releases/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,22 @@ menu:

---

## Releases

### v26.0

A license key is required to use Materialize v26.0 in a self-managed
Kubernetes cluster. To request a license key for Materialize Community
Edition, visit https://materialize.com/get-started/.

The license key should be configured in the Kubernetes Secret resource
created during the installation process. To configure a license key in an
existing installation, run:

```bash
kubectl -n materialize-environment patch secret materialize-backend -p '{"stringData":{"license_key":"<your license key goes here>"}}' --type=merge
```

## Materialize Cloud Upgrade Schedule

Materialize Cloud upgrades all regions to the latest release each week according
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
- A Kubernetes (v1.31+) cluster.
- PostgreSQL as a metadata database.
- Blob storage.
- A license key. To request a license key for Materialize Community Edition, visit https://materialize.com/get-started/.
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
| `environmentd_version` | New Materialize instance version.|
| `request_rollout` or `force_rollout` | A new UUID string. Can be generated with `uuidgen`.<br> <ul><li>`request_rollout` triggers a rollout only if changes exist. </li><li>`force_rollout` triggers a rollout even if no changes exist.</li></ul> |
| `inPlaceRollout` | Set to `false` to perform a rolling upgrade. For rolling upgrades, ensure you have enough resources to support having both the old and new Materialize instances running during the upgrade. |
| `license_key` | Set to the value of your license key. |

For example, the following instance specifies:

Expand All @@ -100,6 +101,7 @@
memory_request = "2Gi"
memory_limit = "2Gi"
create_database = false
license_key = "[...]"
environmentd_version = "{{ $environmentd_version }}"
inPlaceRollout: false # When false, performs a rolling upgrade rather than in-place
requestRollout: 22222222-2222-2222-2222-222222222222 # Enter a new UUID
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,13 @@
kubectl -n materialize describe pod -l app.kubernetes.io/name=materialize-operator
```

1. As of Materialize version 26.0, a license key is required to run in
Kubernetes. To configure a license key in an existing installation, run:

```bash
kubectl -n materialize-environment patch secret materialize-backend -p '{"stringData":{"license_key":"<your license key goes here>"}}' --type=merge
```

1. Create a new `upgrade-materialize.yaml` file with the following content:

| Field | Description |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,13 @@
kubectl -n materialize describe pod -l app.kubernetes.io/name=materialize-operator
```

1. As of Materialize version 26.0, a license key is required to run in
Kubernetes. To configure a license key in an existing installation, run:

```bash
kubectl -n materialize-environment patch secret materialize-backend -p '{"stringData":{"license_key":"<your license key goes here>"}}' --type=merge
```

1. Create a new `upgrade-materialize.yaml` file with the following content:

| Field | Description |
Expand Down
3 changes: 3 additions & 0 deletions doc/user/shared-content/license-key-required.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
### License key

To run Materialize in Kubernetes, a license key is required. To request a license key for Materialize Community Edition, visit https://materialize.com/get-started/.
1 change: 1 addition & 0 deletions misc/helm-charts/testing/materialize.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ metadata:
stringData:
metadata_backend_url: "postgres://materialize_user:[email protected]:5432/materialize_db?sslmode=disable"
persist_backend_url: "s3://minio:minio123@bucket/12345678-1234-1234-1234-123456789012?endpoint=http%3A%2F%2Fminio.materialize.svc.cluster.local%3A9000&region=minio"
license_key: ""
---
apiVersion: materialize.cloud/v1alpha1
kind: Materialize
Expand Down