Skip to content
Merged
16 changes: 16 additions & 0 deletions content/latest/releases/3-3-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,24 @@ The following sections document the changes this release brings to each service.

### Admin

### Change
- Change Binding Type on Equipment Property to allow dropdown selection
- Change to align with v3.3.0 schema changes

### Fix
- Fix changes to "Include properties of (Optional)" and "Hierarchy Scope" fields on fields on an Equipment Class version not staying on tab change
- Fix linked Equipment Class not removing correctly on Equipment
- Fix errors in Equipment Class Rules to use error notification and show actual `error.message` instead of generic text
- Fix spelling error in Physical Asset Coordinates update message
- Fix creating a duplicate Work Master causing original Work Master to become disabled
- Fix invalid UID error when creating Equipment Properties without a Unit of Measure
- Fix unbinding of Datasource Topics from Equipment Properties failing
- Fix Operational Location properties being editable on approved and deprecated versions
- Fix Operational Location Class properties being editable on approved and deprecated versions
- Fix issue with creating Equipment Mappings with first Equipment in dropdown
- Fix missing duplicate ID error when creating duplicate Equipment Mapping
- Fix missing or falsy ENV value for page limit causing failure in multiple components

### BPMN engine

#### Add
Expand Down
99 changes: 99 additions & 0 deletions content/latest/releases/3-3-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
---
title: 3.3.1
date: '2026-05-13T17:54:45-07:00'
description: Release notes for v3.3.1 of the Rhize application
categories: ["releases"]
weight: 1639347333 ## auto-generated, don't change
aliases:
- /releases/3-3-1

---

Release notes for version 3.3.1 of the Rhize application.

_Release date:_
13 May 2026

## Changes by service

The following sections document the changes this release brings to each service.

### Admin

_Releasing in step with other components._

#### BPMN engine

_Releasing in step with other components._

### Schema

_Releasing in step with other components._

### BAAS

#### Add
- Add debug of pending transactions
- Add extension to `indexRebuild` to support direct predicate rebuilds

#### Change
- Change `regexpcompare` filter to process after indexed optimized filters by splitting filtering into two phases
- Change badger library to latest
- Change permissions/scopemap with updated Segment types
- Change `PendingTransaction` to be renamed to `PendingPostingTransaction` for clarity

#### Fix
- Fix atomic writes for split posting list rollups
- Fix orphaned pending transactions during leadership changes
- Fix querying `pendingPostingTransactions` under high load results in panic
- Fix initialize CDC `sentTs` floor from snapshot `ReadTs` on startup

### Core

_Releasing in step with other components._

### Agent

#### Change
- Change to use forked gopcua library

### Audit

#### Change
- Change go.opentelemetry.io/otel to 1.40.0 from 1.37.0.

### Keycloak Theme

_Releasing in step with other components._

### Router

_Releasing in step with other components._

## Compatibility

{{< compatible "3.3.1" >}}

## Checksums

{{% checksums "v3.3.1-checksums.txt" %}}

## Upgrade

To upgrade to v3.3.1, follow the [Upgrade instructions](/deploy/upgrade).

## Breaking Changes

### Improved Transaction Visibility (BAAS)
You can now inspect pending posting and Raft transactions directly through the GraphQL admin API. New types (`PendingPostingTransaction`, `PendingRaftTransaction`) and query endpoints give operators better tooling to diagnose stuck or orphaned transactions without needing direct database access.

### Atomic Writes for Split Posting Lists (BAAS)
Split posting list updates are now written atomically, eliminating a class of subtle corruption bugs that could occur if a write was interrupted mid-way.

### Targeted Index Rebuild (BAAS)
The index rebuild operation now accepts a `predicate` field directly, in addition to `attribute`. This allows more surgical index repairs to previously inaccessible structures like `dgraph.type`

### Restore Procedure
With changes to BAAS, it is no longer possible to wait for a snapshot and have the database synchronize the data across. Instead, all Alpha replicas need to be initialized with the same backup.

For details, follow the [GraphDB Restore instructions](/versions/v3.3.1/deploy/restore/graphdb/).
2 changes: 1 addition & 1 deletion content/latest/releases/4-2-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: 4.2.0
description: Release notes for v4.2.0 of the Rhize application
categories: ["releases"]
weight: 1653202285 ## auto-generated, don't change
weight: 1639347332
aliases:
- /releases/4-2-0

Expand Down
16 changes: 16 additions & 0 deletions content/versions/v3.3.0/releases/3-3-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,24 @@ The following sections document the changes this release brings to each service.

### Admin

### Change
- Change Binding Type on Equipment Property to allow dropdown selection
- Change to align with v3.3.0 schema changes

### Fix
- Fix changes to "Include properties of (Optional)" and "Hierarchy Scope" fields on fields on an Equipment Class version not staying on tab change
- Fix linked Equipment Class not removing correctly on Equipment
- Fix errors in Equipment Class Rules to use error notification and show actual `error.message` instead of generic text
- Fix spelling error in Physical Asset Coordinates update message
- Fix creating a duplicate Work Master causing original Work Master to become disabled
- Fix invalid UID error when creating Equipment Properties without a Unit of Measure
- Fix unbinding of Datasource Topics from Equipment Properties failing
- Fix Operational Location properties being editable on approved and deprecated versions
- Fix Operational Location Class properties being editable on approved and deprecated versions
- Fix issue with creating Equipment Mappings with first Equipment in dropdown
- Fix missing duplicate ID error when creating duplicate Equipment Mapping
- Fix missing or falsy ENV value for page limit causing failure in multiple components

### BPMN engine

#### Add
Expand Down
9 changes: 9 additions & 0 deletions content/versions/v3.3.1/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
title: v3.3.1
description: User guides, deploy docs, references, and deep dives about the
Rhize manufacturing data hub.
cascade:
v: "3.3.1"
---

{{< card-list >}}
38 changes: 38 additions & 0 deletions content/versions/v3.3.1/deploy/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: Deploy
description: >-
A collection of pages to administrate Rhize: install, upgrade, back up, and more.
weight: 100
icon: server
identifier: deploy
cascade:
icon: server
domain_name: libremfg.ai
brand_name: Libre
application_name: libre
db: libreBaas
pre_reqs: |-
- Optional: [kubectx](https://github.com/ahmetb/kubectx) utilities
- `kubectx` to manage multiple clusters
- `kubens` to switch between and configure namespaces easily
- Optional: the [k8 Lens IDE](https://k8slens.dev), if you prefer to use Kubernetes graphically
k8s_cluster_ns: |-
```bash
## context
kubectl config current-context
## namespace
kubectl get namespace
```

To change the namespace for all subsequent [`kubectl` commands](https://kubernetes.io/docs/reference/kubectl/cheatsheet/) to `libre`, run this command:

```bash
kubectl config set-context --current --namespace=libre
```

---

A collection of pages to administrate Rhize: install, upgrade, back up, and more.


{{< card-list >}}
21 changes: 21 additions & 0 deletions content/versions/v3.3.1/deploy/backup/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
date: "2023-09-12T19:35:35+11:00"
title: Back up
description: Guides to back up your data on Rhize
categories: ["how-to"]
weight: 200
cascade:
icon: database
---

Backup is critical to ensure reliability and recovery.

These guides show you how to back up different services and data on Rhize.
They also serve as blueprints for automation.

Your organization must determine how frequently you backup services, and how long you store them for.
The correct practice here is highly contextual,
depending on the size of the data, the importance of the data, and the general regulatory and governance demands of your industry.


{{< card-list >}}
52 changes: 52 additions & 0 deletions content/versions/v3.3.1/deploy/backup/audit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: 'Back up Audit PostgreSQL'
date: '2024-03-26T11:20:56-03:00'
categories: ["how-to"]
description: How to backup Audit PostgreSQL on your Rhize deployment
weight: 300
---

This guide shows you the procedure to backup your Audit PostgreSQL database on your Rhize Kubernetes deployment.

## Prerequisites

Before you start, ensure you have the following:

- A designated backup location, for example `~/rhize-backups/libre-audit`.
- Access to the [Rhize Kubernetes Environment](/deploy/install/setup-kubernetes)
{{% param pre_reqs %}}


Also, before you start, confirm you are in the right context and namespace.

{{% param k8s_cluster_ns %}}

## Steps

To back up Audit PostgreSQL, follow these steps:

1. Check the logs for the Audit pods, either in Lens or with [`kubectl logs`](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#logs).
Ensure there are no errors.

1. Retrieve the Audit user password using the following command:


```bash
kubectl get secret <SECRET-NAME> -o jsonpath="{.data.<SECRET-KEY>}" | base64 --decode
```

1. Execute a command on the Audit Postgres pod to perform a full backup:

```bash
kubectl exec -i audit-postgres-0 -- pg_dumpall -U <DB_USER> | gzip > audit-postgres-backup-$(date +"%Y%m%dT%I%M%p").sql.gz
```

On success, the backup creates a GZIP file, `audit-postgres-backup-YYYYMMDDTHHMMSS.sql.gz`.
To check that the backup succeeded, unzip the files and inspect the data.

## Next Steps

- To back up other Rhize services, read how to backup:
- [Keycloak]({{< relref "keycloak" >}}).
- [Grafana]({{< relref "grafana" >}}).
- [The Graph Database]({{< relref "graphdb" >}}).
79 changes: 79 additions & 0 deletions content/versions/v3.3.1/deploy/backup/binary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
title: 'Back up the Graph DB to S3'
date: '2024-11-04T11:01:46-03:00'
categories: ["how-to"]
description: How to back up the Rhize graph database to Amazon S3 storage.
weight: 100
---

This guide shows you how to back up the Rhize Graph database to Amazon S3 and S3-compatible storage.

## Prerequisites

Before you start, ensure you have the following:


- A designated S3 backup location, for example `s3://s3.<AWS-REGION>.amazonaws.com/<AWS-BUCKET-NAME>`.
- Access to your [Rhize Kubernetes Environment]({{< relref "../install" >}})
{{% param pre_reqs %}}.


Before you start, confirm you are in the right context and namespace:

{{% param "k8s_cluster_ns" %}}

## Steps

To back up the database, follow these steps:

1. Check the logs for the alpha and zero pods, either in Lens or with [`kubectl logs`](https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands#logs).
Ensure there are no errors.

```bash
kubectl logs {{< param application_name >}}-baas-baas-alpha-0 --tail=80
```
1. Set the following environmental variables:
- `AWS_ACCESS_KEY_ID`. Your AWS access key with permissions to write to the destination bucket
- `AWS_SECRET_ACCESS_KEY`. Your AWS access key with permissions to write to the destination bucket
- `AWS_SESSION_TOKEN`. Your AWS session token (if required)

1. Make a POST request to your Keycloak `/token` endpoint to get an `access_token` value.
For example, with `curl` and `jq`:

```bash
## replace USERNAME and PASSWORD with your credentials
USERNAME=backups@libremfg.com \
&& PASSWORD=password \
&& curl --location \
--request POST "${BAAS_OIDC_URL}/realms/libre/protocol/openid-connect/token" \
--header 'Content-Type\ application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=password' \
--data-urlencode "username=<USERNAME>" \
--data-urlencode "password=<PASSWORD>" \
--data-urlencode "client_id=<BASS_CLIENT_ID>" \
--data-urlencode "client_secret=<BASS_CLIENT_SECRET>" | jq .access_token
```

1. Using the token from the previous step, send a POST to `<alpha service>:8080/admin` to create a backup of the node to your S3 bucket.
For example, with `curl`:

```bash
curl --location 'http://alpha:8080/admin' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <TOKEN>' \
--data '{"query":"mutation {\n backup(input: {destination: \"s3://s3.<AWS-REGION>.amazonaws.com/<AWS-BUCKET-NAME>\"}) {\n response {\n message\n code\n }\n taskId\n }\n}","variables":{}}'
```

1. List available backups to confirm your backup succeeded:

```bash
curl --location 'http://alpha:8080/admin' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <TOKEN>' \
--data '{"query":"query backup {\n\tlistBackups(input: {location: \"s3://s3.<AWS-REGION>>.amazonaws.com/<AWS-BUCKET-NAME>\"}) {\n\t\tbackupId\n\t\tbackupNum\n\t\tpath\n\t\tsince\n\t\ttype\n\t}\n}","variables":{}}'
```

## Next Steps

- Test the [Restore Graph Database From S3]({{< relref "../restore/binary" >}}) procedure to ensure you can recover data from Amazon S3 in case of an emergency.
- To back up other Rhize services, read how to backup [Grafana]({{< relref "grafana" >}}).
Loading
Loading