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
12 changes: 10 additions & 2 deletions src/.vitepress/routes/sidebar/versions.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
export const versionRoutes = [
{
text: '0.1.0',
link: '/v0.1.0'
},
{
text: '0.0.11',
link: '/v0.0.11'
},
{
text: '0.0.10',
link: '/v0.0.10'
},
]
}
]
2 changes: 1 addition & 1 deletion src/guide/admin/data-store-management.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ A description of the fields in the table can be found below.
| Access Key (S3 only) | Generated access key used for accessing the listed, private S3 bucket |
| Secret Key (S3 only) | Generated secret key used for accessing the listed, private S3 bucket |
| Hostname | Name of the server on which the data is located |
| Port | Connection endpoint for accessing the server. Use 80 for HTTP and 443 for HTTPS. If a different protocol is used, please verify which port is accessible |
| Port | Connection endpoint for accessing the server. Use 80 for HTTP and 443 for HTTPS. If a different protocol is used, please verify which port is accessible. Use port 9000 for the bundled MinIO instance. |
| Protocol | Protocol used for transferring files |

## Managing Data Access
Expand Down
316 changes: 197 additions & 119 deletions src/guide/deployment/node-installation.md

Large diffs are not rendered by default.

10 changes: 5 additions & 5 deletions src/guide/deployment/node-registration.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,24 +59,24 @@ Be sure to click "Save" when you generate a new key pair, otherwise the public k
key used during deployment will not be from the same pair.
:::

### Robot Credentials
### Client Credentials

On this page, there are two pieces of information required for the deploying the FLAME Node: the robot ID and secret.
This page contains two pieces of information required for the deploying the FLAME Node: the client ID and secret.

Because the secret was automatically created when the node was registered and then hashed, we need to generate a new
one. Click the "generate" button below the secret text field to create a new secret and copy this string somewhere
for later. Then click "update" and you will see a green text box appear indicating that the robot secret
for later. Then click "update" and you will see a green text box appear indicating that the client secret
for this node was successfully updated.

[![Getting Robot Credentials](/images/ui_images/hub_node_robot_credentials.png)](/images/ui_images/hub_node_robot_credentials.png)
[![Getting Client Credentials](/images/ui_images/hub_node_robot_credentials.png)](/images/ui_images/hub_node_robot_credentials.png)

::: warning Don't Copy the Hashed Secret!
If you see "hashed" next to the word secret above the text field, this means the value in the box below is hashed and
cannot be used for the node deployment. If this is the case, and you have lost or forgotten the original secret, then
simply generate a new one and update it.
:::

For deployment, we need the previously generated secret and the robot **ID**. Copy the ID to the same location you
For deployment, we need the previously generated secret and the client **ID**. Copy the ID to the same location you
copied the secret.

Now, you have everything needed for deploying the node software on your system.
12 changes: 5 additions & 7 deletions src/public/files/values_no_reverse_proxy_example.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
global:
node:
ingress:
enabled: true
hostname: https://your.node.ui.domain.com
expose:
type: "ingress"
hostname: https://your.node.ui.domain.com

hub:
auth:
robotUser: <Robot ID>
robotSecret: <Robot Secret>
clientID: <Client ID>
clientSecret: <Client Secret>
crypto:
privateKey: |
-----BEGIN PRIVATE KEY-----
Expand Down
19 changes: 7 additions & 12 deletions src/public/files/values_separate_idp.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
global:
node:
ingress:
enabled: true
hostname: https://your.node.ui.domain.com
expose:
type: "ingress"
hostname: https://your.node.ui.domain.com

hub:
auth:
robotUser: <Robot ID>
robotSecret: <Robot Secret>
clientID: <Client ID>
clientSecret: <Client Secret>
crypto:
privateKey: |
-----BEGIN PRIVATE KEY-----
Expand All @@ -19,13 +17,10 @@ userIdp:
## The URL provided should be the issuer URL of the IDP.
## Leave this blank unless you want to use your own IDP for user authentication
hostname: https://my.own.keycloak.instance.de/realms/myRealm
## @param userIdp.provider User auth provider. Can be 'keycloak', 'auth0', 'authentik', 'onelogin', 'okta', 'zitadel', or 'hub'
provider: keycloak

ui:
idp:
clientId: <Client ID for Node UI>
clientSecret: <Client Secret for Node UI>

hubAdapter:
idp:
clientId: <Client ID for Hub Adapter>
clientSecret: <Client Secret for Hub Adapter>
4 changes: 2 additions & 2 deletions src/versions/v0.0.10.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Upgrading to v0.0.10
# v0.0.10
> This release contains breaking changes for the `flame/flame-node` helm chart

## Node
Expand Down Expand Up @@ -42,4 +42,4 @@ Several small updates were made to the analyses table:
Log windows for analyses now have a "Copy to clipboard" and "Download" buttons and the the refresh toggle is enabled by default if an analysis is "running".

### Backend
Several fixes were applied to improve stability, with a focus on improving analysis startup routine.
Several fixes were applied to improve stability, with a focus on improving analysis startup routine.
12 changes: 12 additions & 0 deletions src/versions/v0.0.11.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# v0.0.11

## Node
### Helm
Several performance modifications were made to improve deployment and a fix was applied to allow UI sign in when
ingress is disabled


### UI
#### Private S3 Bucket Data Stores
Private buckets are now supported when creating a data store using an S3 bucket. Full documentation on how to do this
can be found [here](https://docs.privateaim.net/guide/admin/bucket-setup-for-data-store.html).
Comment thread
brucetony marked this conversation as resolved.
123 changes: 123 additions & 0 deletions src/versions/v0.1.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# v0.1.0

> This release contains breaking changes for the `flame/flame-node` helm chart

## Node

In an effort to ensure long-term support, we have added the ability to use the kubernetes Gateway API in addition to the
Ingress API since the latter has been deprecated. This resulted in having to make a breaking change to the `values.yaml`
file to support both APIs. This means that values files from prior versions are not compatible with this new helm chart.
Users will have to update their `values.yaml` file in order to upgrade to `v0.1.0`.

### Breaking Changes

#### Removed global Values

The `global` section at the top of the `flame-node` helm chart `values.yaml`
file. This was previously used to simplify distributing the provided hostname to the chart and its
sub-charts, but is no longer necessary so it was removed. Likewise, the ingress sections for both this helm chart and
the sub-charts were removed.

```diff
-global:
- node:
- ingress:
- enabled: false
- hostname:
+expose:
+ type: none
+ hostname: ""
+ tls:
+ secretName: ""
+ ingress:
+ className: ""
+ annotations: {}
+ pathType: ImplementationSpecific
+ gateway:
+ gatewayClassName: nginx
```

In order to allow network routing, users must use the new `expose` section and for the `type`, choose one of the
following:

* "ingress" (Kubernetes Ingress API)
* "gateway" (Kubernetes Gateway API)
* "none" (no external routing)

Regardless if one chooses "ingress" or "gateway", the hostname and tls fields will be applied to the selected API.

#### Robot to Client

Hub keys were updated and the `values.yaml` was updated accordingly:

```diff
hub:
auth:
- robotUser: <Robot ID>
- robotSecret: <Robot Secret>
+ clientID: <Client ID>
+ clientSecret: <Client Secret>
```

#### Improving Security

##### Default credentials
Several default credentials were removed including keycloak and minio. Users must now specify these credentials when deploying by either providing a username/password directly in the `values.yaml` file or by using an existing secret. The keycloak user `flameuser` is no longer included by default unless explicitly enabled.

```diff
keycloakx:
+ defaultUserEnabled: false
+ auth:
+ adminUsername: ""
+ adminPassword: ""
+ existingSecret: ""

+dataStore:
enabled: true
minio:
+ rootUser: ""
+ rootPassword: ""
+ existingSecret: ""
```

##### Node VictoriaLogs UI
VictoriaLogs is now the primary application for storing and serving logs from all node related components and services. It is enabled by default, but access to it's included UI is disabled as it is not currently secured behind user authentication. If ingress for the VictoriaLogs UI is enabled, it can be found at `https://<node hostname>/logs/select/vmui`

```diff
+victorialogs:
+ enabled: true
+ ingress:
+ enabled: false
```

#### flame-node-data-store to dataStore
To simplify referencing this subchart in the helper functions, it was given an alias of `dataStore` which should now be used instead

```diff
- flame-node-data-store:
+ dataStore:
enabled: true
```

### Migration Guide

Adapting previous versions to the current one is very straightforward, the following table shows how values map from
`values.yaml` files from previous versions (i.e. `<0.1.0`) to the current stable version (`0.1.0`):

| Previous Value | Current Value | Comment |
|----------------------------------------------------------------------------------------------------------|---------------------------------------------|----------------------------------------------------------------------------------------|
| `.global.node.ingress.enabled` == "true"<br>`.ingress.enabled` == "true" | `.expose.type` == "ingress" | This can also be set to "gateway" if you are using the new Gateway API |
| `.global.node.ingress.enabled` == "false"<br>`.ingress.enabled` == "false" | `.expose.type` == "none" | |
| `.global.node.ingress.hostname` == "https://your-domain"<br>`.ingress.hostname` == "https://your-domain" | `.expose.hostname` == "https://your-domain" | |
| `.ingress.annotations` | `.expose.ingress.annotations` | |
| `.ingress.className` | `.expose.ingress.className` | |
| `.ingress.pathType` | `.expose.ingress.pathType` | |
| `.ingress.tlsSecretName` | `.expose.tls.secretName` | |
| `.hub.auth.robotUser` | `.hub.auth.clientID` | |
| `.hub.auth.robotSecret` | `.hub.auth.clientSecret` | |
| `.flame-node-data-store` | `.dataStore` | |
| | `.keycloakx.defaultUserEnabled` | Enable if you want the `flameuser` test user created in your bundled keycloak instance |
| | `.keycloakx.auth` | Enter your admin credentials in these fields |
| | `.dataStore.minio` | If the dataStore is `enabled`, enter your admin credentials here |
| | `.victorialogs.ingress.enabled` | Set to `true` if you want to access the VictoriaLogs UI |
| | `.proxy.existingSecret` | Can now set proxy information using an existing secret |
Loading