Skip to content
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
2 changes: 1 addition & 1 deletion config/_default/hugo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ menu:
params:
icon: linkedin
- name: Talk to us
url: "https://rhize.com/contact-us"
url: "https://rhize.com/contact-us/"
weight: 50


Expand Down
2 changes: 1 addition & 1 deletion content/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: User guides, deploy docs, references, and deep dives about the
Rhize manufacturing data hub.
cascade:
type: docs
v: "3.1.0"
v: "3.2.0"
---

<!-- define h1 for all other pages in Title in frontmatter -->
Expand Down
2 changes: 1 addition & 1 deletion content/releases/3-1-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,7 @@ Your scopemap should have the following rule in some form. Note that `admin` is
]
}
```
Read how to [Configure your scopemap]({{< relref "row-level-access-control.md" >}}).
Read how to [Configure your scopemap]({{< relref "../deploy/install/row-level-access-control.md" >}}).

### YAML config files
Rhize services now use YAML instead of JSON for their configuration files. This is represented in Helm overrides by the object `rhize<SERVICE>Config` (i.e. `rhizeAuditConfig`). Charts for v3.1.0 should create only YAML config files, though there may be differences in the keys for certain configuration options. Consult the values file for each Helm chart and the changelog for specific changes as necessary.
Expand Down
131 changes: 131 additions & 0 deletions content/releases/3-2-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
---
title: 3.2.0
date: '2025-07-01T15:13:10-04:00'
description: Release notes for v3.2.0 of the Rhize application
categories: ["releases"]
weight: 1666670228 ## auto-generated, don't change
---

Release notes for version 3.2.0 of the Rhize application.

_Release date:_
1 Jul 2025

## Changes by service

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

### Admin

#### Fix

- Fix character set in Personnel Class form's include properties of search to allow for capitalized characters
- Fix label on personnel class change version change to align with entity name
- Fix personnel class change version state disable condition to allow for draft
- Fix segment editor dependency save

### BPMN engine

#### Fix

- Fix getInstance race condition
- Fix repeated call activity error logging & add span end to error return

### Schema

No changes, releasing in step with other software repositories.

### BAAS

#### Add

- Add kafka producer maximum message size
- Add @custom directive
- Add websocket transport to allow for to GraphQL Subscriptions
- Add http change-data-capture sink
- Add admin resolver for query:lookup, mutation:rollup, mutation:recoverSplitList & mutation:indexRebuild
- Add logging to badger ErrTooBig

#### Change

- Change NATS Sink handler to support new CDC Format
- Change badger to v4 from v3
- Change ristretto to v2 from v1
- Change protobuf for badger and regenerate
- Change postings cache to align with generic declaration in ristretto v2
- Change postinglistCountAndLength function to improve performance
- Change ioutil.ReadAll to io.ReadAll and ioutil.TempDir to os.MkdirTemp

#### Fix

- Fix cascade directive field arguments not being coerced to lists
- Fix deleteBelowTs rollup issue
- Fix incrRollupi Process ensure to consistent use of time units to prevent erroneous cleanup
- Fix performance issue in type filter
- Fix resolution of _Any scalar type by moving from apolloSchemaExtras to schemaInputs
- Fix RLAC resources not evaluated correctly
- Fix the conflict in accessing split parts during a rollUp
- Fix validation panic on type check
- Fix wal replay issue during rollup
- Fix wget urls for large datasets in testing pipeline

#### Remove

- Remove Ludicrous mode from postings

### Core

#### Add

- Add sort on inherited properties

#### Change

- Change golangci-lint to v2.0.1

#### Fix

- [CI] Fix resolution of app-config-local to use git instead of package for end-to-end test stage mock environment
- Fix lints errors

### Agent

Releasing in step with other components.

### Audit

#### Add

- [CI] Add vulnerability check to CI

#### Change

- Change to use v4 rhize-go drivers to allow a https keycloak connection
- Change `rhize-go` library to v4.0.0-rc4 to allow usage of username and password in NATS configuration

#### Fix

- Fix relevant [Go vulns](https://pkg.go.dev/vuln/)

### Keycloak Theme

#### Change

- Change application name to Rhize

### Router

Releasing in step with other components


## Compatibility

{{< compatible "3.2.0" >}}

## Checksums

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

## Upgrade

To upgrade to v3.2.0, follow the [Upgrade instructions](/deploy/upgrade).
4 changes: 2 additions & 2 deletions content/versions/v3.0.3/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ title: v3.0.3
description: Archive documentation for Rhize v3.0.3
date: 2024-11-13
cascade:
v: 3.0.3
type: versions
v: 3.0.3
type: versions
---


Expand Down
30 changes: 30 additions & 0 deletions content/versions/v3.1.0/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: ##Leave only home page without title
description: User guides, deploy docs, references, and deep dives about the
Rhize manufacturing data hub.
cascade:
type: docs
v: "3.1.0"
---

<!-- define h1 for all other pages in Title in frontmatter -->

<h1 class="post-title">
The Rhize Manufacturing Data Hub
</h1>

Rhize is a real-time, event-driven manufacturing data hub.

Rhize unites all events from your manufacturing processes, relates these events as a single graph structure,
and provides access to any combination of them through a single API endpoint.
The tight integration of all levels of manufacturing data, from real-time sensor data to operations orders, serves a wide variety of business needs, including as:

- **A manufacturing knowledge graph.** Help humans and algorithms analyze plant processes and discover places to optimize.
- **An integrator of systems.** Orchestrate processes across applications to standardize, coordinate, and transform data flows.
- **A backend for {{< abbr "MES" >}} applications.** Rapidly build frontends on top of the database and workflow engine.
Design the MES system that makes sense for your processes and people.


{{< card-list >}}


38 changes: 38 additions & 0 deletions content/versions/v3.1.0/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.1.0/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.1.0/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.1.0/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