You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Materialize Operator is installed automatically when you set the following in your Terraform configuration:
70
66
71
-
1. Create a values file for the Helm installation (save as `materialize-values.yaml`):
72
-
```yaml
73
-
operator:
74
-
cloudProvider:
75
-
type: "aws"
76
-
region: "<your-aws-region>"# e.g. us-west-2
77
-
providers:
78
-
aws:
79
-
enabled: true
80
-
accountID: "<your-aws-account-id>"# e.g. 123456789012
81
-
iam:
82
-
roles:
83
-
environment: "<output.materialize_s3_role_arn>"# e.g. arn:aws:iam::123456789012:role/materialize-s3-role
84
-
85
-
namespace:
86
-
create: true
87
-
name: "materialize"
88
-
89
-
# Adjust network policies as needed
90
-
networkPolicies:
91
-
enabled: true
92
-
egress:
93
-
enabled: true
94
-
cidrs: ["0.0.0.0/0"]
95
-
ingress:
96
-
enabled: true
97
-
cidrs: ["0.0.0.0/0"]
98
-
internal:
99
-
enabled: true
100
-
101
-
# Uncomment the following block to configure OpenEBS storage
102
-
# storage:
103
-
# storageClass:
104
-
# create: true
105
-
# name: "openebs-lvm-instance-store-ext4"
106
-
# provisioner: "local.csi.openebs.io"
107
-
# parameters:
108
-
# storage: "lvm"
109
-
# fsType: "ext4"
110
-
# volgroup: "instance-store-vg"
111
-
# volumeBindingMode: "WaitForFirstConsumer"
67
+
```hcl
68
+
# Enable and configure Materialize Operator
69
+
install_materialize_operator = true
112
70
```
113
71
114
-
2. Install the Materialize Operator:
72
+
This eliminates the need to manually install the operator via Helm. Make sure that this setting is enabled in your Terraform configuration before applying changes:
For more details on installation and configuration, refer to the official Materialize documentation: [Materialize AWS Installation Guide](https://materialize.com/docs/self-managed/v25.1/installation/install-on-aws/).
138
85
139
-
> Replace `${terraform_output.metadata_backend_url}` and `${terraform_output.persist_backend_url}` with the actual values from the Terraform output.
140
-
141
-
2. Create a Materialize environment (save as `materialize-environment.yaml`):
Alternatively, you can still install the [operator manually using Helm](https://github.com/MaterializeInc/materialize/tree/main/misc/helm-charts/operator#installing-the-chart).
164
87
165
-
> Replace `${var.service_account_name}` with the desired name for the Materialize environment. It should be a UUID, eg `12345678-1234-1234-1234-123456789012`.
88
+
## Deploying Materialize Environments
166
89
167
-
3. Apply the configuration:
168
-
```bash
169
-
kubectl create namespace materialize-environment
170
-
kubectl apply -f materialize-backend-secret.yaml
171
-
kubectl apply -f materialize-environment.yaml
172
-
```
90
+
Once the infrastructure and the Materialize Operator are installed, you can deploy Materialize environments by setting the `materialize_instances` variable in your Terraform configuration.
91
+
92
+
1. Define your Materialize instances in `terraform.tfvars`:
93
+
94
+
```hcl
95
+
materialize_instances = [
96
+
{
97
+
name = "analytics"
98
+
namespace = "materialize-environment"
99
+
database_name = "analytics_db"
100
+
cpu_request = "2"
101
+
memory_request = "4Gi"
102
+
memory_limit = "4Gi"
103
+
},
104
+
{
105
+
name = "demo"
106
+
namespace = "materialize-environment"
107
+
database_name = "demo_db"
108
+
cpu_request = "2"
109
+
memory_request = "4Gi"
110
+
memory_limit = "4Gi"
111
+
}
112
+
]
113
+
```
114
+
115
+
2. Re-apply the Terraform configuration to deploy the Materialize environments:
116
+
117
+
```bash
118
+
terraform apply
119
+
```
120
+
121
+
Alternatively, you can manually deploy Materialize instances as described in the [Materialize Operator Helm Chart Documentation](https://github.com/MaterializeInc/materialize/tree/main/misc/helm-charts/operator#installing-the-chart).
122
+
123
+
You can check the status of the Materialize instances by running:
173
124
174
-
4. Monitor the deployment:
175
125
```bash
176
-
kubectl get materializes -n materialize-environment
0 commit comments