Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Draft docs for self-managed (WIP) #30491

Merged
Merged
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
58 changes: 58 additions & 0 deletions doc/user/content/self-managed/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: "Self-managed Materialize"
description: ""
aliases:
- /self-hosted/
robots: "noindex, nofollow"
---
Copy link
Contributor Author

Choose a reason for hiding this comment

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


With self-managed Materialize, you can deploy and operate Materialize in your
Kubernetes environment. For self-managed Materialize, Materialize offers:

- A Kubernetes Operator that manages your Materialize running in your Kubernetes
environment.

- Materialize packaged as a containerized application that can be deployed in a
Kubernetes cluster.

## Requirements

The self-managed Materialize requires the following:

- Kubernetes (v1.19+) environment.

- PostgreSQL or CockroachDB as a metadata database.

- Blob storage.

See the [Installation guide](/self-managed/installation/) for more information.

## Recommended instance types

Materialize has been tested to work on instances with the following properties:

- ARM-based CPU
- 1:8 ratio of vCPU to GiB memory
- 1:16 ratio of vCPU to GiB local instance storage (if enabling spill-to-disk)

For specific cloud provider recommendations, see the [Installation guide for the
cloud provider](/self-managed/installation/) as well as the [operational guidelines](/self-managed/operational-guidelines/).

Copy link
Contributor Author

@kay-kim kay-kim Nov 22, 2024

Choose a reason for hiding this comment

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

We could also make this:

  • a quickstart page with local installs on kind and minikube (we can tab those).
  • an operational guideline page.
  • an general overview page.
  • etc.

## Installation

For instructions on installing Materialize on your Kubernetes cluster, see:

- [Install locally on kind](/self-managed/installation/install-on-local-kind/)

- [Install locally on
minikube](/self-managed/installation/install-on-local-minikube/)

- [Install on AWS](/self-managed/installation/install-on-aws/)
- [Install on GCP](/self-managed/installation/install-on-gcp/)

## Related pages

<!-- Temporary:
Hugo will add links to the pages in the same folder.
Since we're hiding this section from the left-hand nav, adding the links here.
-->
62 changes: 62 additions & 0 deletions doc/user/content/self-managed/configuration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
title: "Materialize Operator Configuration"
description: ""
aliases:
- /self-hosted/configuration/
robots: "noindex, nofollow"
---
Copy link
Contributor Author

Choose a reason for hiding this comment

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


You can configure the Materialize operator chart. For example:

- **RBAC**

The chart creates a `ClusterRole` and `ClusterRoleBinding` by default.

- **Network Policies**

Network policies can be enabled by setting
[`networkPolicies.enabled=true`](/self-managed/configuration/#networkpoliciesenabled).
By default, the chart uses native Kubernetes network policies. For additional network policy configuration options, see [`networkPolicies` parameters](#networkpolicies-parameters).

- **Observability**

To enable observability features, set
[`observability.enabled=true`](/self-managed/configuration/#observabilityenabled).
This will create the necessary resources for monitoring the operator. For
additional observability configuraiton options, see [`observability`
parameters](#observability-parameters).

## Configure the Materialize operator chart

To configure the Materialize operator chart, you can:

- *Recommended:* Modify the provided `values.yaml` file (or create your own
YAML file) that specifies the configuration values and then install the
chart with the `-f` flag:

```shell
helm install my-materialize-operator -f /path/to/values.yaml /path/to/materialize/helm-charts/operator
```

- Specify each parameter using the `--set key=value[,key=value]` argument to
`helm install`. For example:

```shell
helm install my-materialize-operator \
--set operator.image.tag=v1.0.0 \
/path/to/materialize/helm-charts/operator
```

{{% self-managed/materialize-operator-chart-parameters-table %}}

## Parameters

{{% self-managed/materialize-operator-chart-parameters %}}

## See also

- [Materialize Kubernetes Operator Helm Chart](/self-managed/)
- [Troubleshooting](/self-managed/troubleshooting/)
- [Installation](/self-managed/installation/)
- [Operational guidelines](/self-managed/operational-guidelines/)
- [Upgrading](/self-managed/upgrading/)
25 changes: 25 additions & 0 deletions doc/user/content/self-managed/installation/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: "Installation"
description: "Installation guides for self-managed Materialize."
robots: "noindex, nofollow"
disable_list: true
---

## Install locally

- [Install locally on kind](/self-managed/installation/install-on-local-kind/)

- [Install locally on minikube](/self-managed/installation/install-on-local-minikube/)

## Install on cloud provider

- [Install on AWS](/self-managed/installation/install-on-aws/)
- [Install on GCP](/self-managed/installation/install-on-gcp/)

## See also

- [Materialize Kubernetes Operator Helm Chart](/self-managed/)
- [Materialize Operator Configuration](/self-managed/configuration/)
- [Troubleshooting](/self-managed/troubleshooting/)
- [Operational guidelines](/self-managed/operational-guidelines/)
- [Upgrading](/self-managed/upgrading/)
Loading
Loading