Skip to content
This repository was archived by the owner on Apr 3, 2025. It is now read-only.

Commit f54b67c

Browse files
authored
Siembol-editor-ui: updating docs (#612)
1 parent eee1484 commit f54b67c

21 files changed

+130
-40
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ Siembol provides a scalable, advanced security analytics framework based on open
1818
- [Setting up OAUTH2 OIDC](/docs/siembol_ui/how-tos/how_to_setup_oauth2_oidc_in_siembol_ui.md)
1919
- [Modifying the layout](/docs/siembol_ui/how-tos/how_to_modify_ui_layout.md)
2020
- [Managing applications](/docs/siembol_ui/how-tos/how_to_manage_applications.md)
21+
- [Use ui-bootstrap file](/docs/siembol_ui/how-tos/how_to_use_ui_bootstrap_file.md)
22+
- [Filter configs and save searches](/docs/siembol_ui/how-tos/how_to_filter_configs_and_save_searches.md)
2123
- Siembol services
2224
- [Setting up a service in the config editor rest](/docs/services/how-tos/how_to_set_up_service_in_config_editor_rest.md)
2325
- [Alerting service](/docs/services/siembol_alerting_services.md)

docs/introduction/how-tos/how_to_contribute.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ How to contribute to the siembol Java project
77
### Environment
88

99
- [Maven](https://maven.apache.org/guides/) - version `3.5+`
10-
- [Java Development Kit 13+](https://adoptopenjdk.net/)
10+
- [Java Development Kit 17+](https://adoptopenjdk.net/)
1111

1212
### How to compile and install
1313

@@ -53,6 +53,9 @@ mvn versions:set -DnewVersion=your_new_version
5353
How to contribute to config editor UI project
5454
---------------------------------------------
5555

56+
### NodeJS version
57+
58+
The current NodeJS version used can be found in the github actions pipeline [here](https://github.com/G-Research/siembol/blob/main/.github/workflows/ci.yml#L215).
5659
### Angular version
5760

5861
The current Angular version can be found in the [package.json](/config-editor/config-editor-ui/package.json) file.

docs/siembol_ui/how-tos/how_to_add_new_config_in_siembol_ui.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
# How to add new config in siembol ui
1+
# How to add new config in Siembol UI
22

3-
<img src="../screenshots/config_store_hover.png" alt="drawing"/>
3+
Adding a new config is done through the config manager view as seen below.
4+
5+
<img src="../screenshots/config_manager.png" alt="drawing"/>
46

57
## Add/Clone/Paste new config
68
There are three ways to create a new config:
79
- by clicking on the `plus` icon on the right of the search bar
8-
- by cloning another config using the clone button that appears when hovering over it (as seen in screenshot above)
10+
- by cloning another config using the clone button in the `Store Actions` column
911
- by pasting another config from your clipboard by clicking on the paste icon on the right of the search bar
1012

1113
You will then be redirected to the Config Editor. The config name has to be unique and cannot contain any spaces.
@@ -21,6 +23,6 @@ After clicking "clone config" you will be redirected to the new config.
2123
<img src="../screenshots/clone_dialog.png" alt="drawing" width="400px"/>
2224

2325
## Validate and Submit config to Store
24-
Once all required fields (indicated with a `*`) are filled in the `Submit` button at the buttom right becomes clickable. Clicking it will run a validation check on the config and if it is successfull a dialog will open where you can confirm the submission (see screenshot below). If the validation is not successfull an error dialog will pop up.
26+
Once all required fields (indicated with a `*`) are filled in the `Submit` button at the bottom right becomes clickable. Clicking it will run a validation check on the config and if it is successful a dialog will open where you can confirm the submission (see screenshot below). If the validation is not successful an error dialog will pop up.
2527

2628
<img src="../screenshots/submit_dialog.png" alt="drawing" width="300px" />
Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,29 @@
1-
# How to deploy configurations in siembol ui
2-
<img src="../screenshots/deployment_upgrade.png" alt="drawing" width='400px'/>
1+
# How to release configurations in Siembol IO
2+
<img src="../screenshots/config_manager.png" alt="drawing"/>
33

4-
## Editing Deployment
5-
To upgrade config click on the `Upgrade to x` button below the config, it appears whenever a config in release is not up to date with the store. You can also click on `View Diff` to see the changes made.
4+
## Editing Release
5+
To upgrade a config in release to the latest version in store click on the `Upgrade x to y` button in the `Release Actions` column. It is only visible when a config in release is not up-to-date with the store. You can also click on `View Diff` to see the changes made.
66

7-
To remove a config from deployment simply click on the bin icon that appears when hovering over it.
7+
To remove a config from release simply click on the cross icon in the `Release Actions` column.
88

9-
To change the order of the configs in deployment simply drag the deployment config to its desired location.
9+
To change the order of the configs in release simply drag the release config to its desired location (it is only possible to reorder configs in release when no search or filter is applied).
1010

11-
```
12-
Note: you cannot downgrade a config only upgrade.
13-
```
11+
> **_Note:_** A config can only be upgraded not downgraded.
1412
15-
## Create Pull Request with new deployment in siembol ui
13+
## Release config not in current release
14+
To release a config that is not released, click the `Add to Release` button in the `Release Actions` column.
15+
16+
## Create Pull Request with new release in Siembol UI
1617
<img src="../screenshots/submit_dialog_alert.png" alt="drawing" width='600px'/>
1718

18-
Once configs have been added/deleted/upgraded/reorded use the `Deploy` button above. This will open up a dialog, for some services it will automatically run a validation in the background, for others (e.g: alert, correlationalert) additional metadata can be specified in the dialog before clicking the `Validate` button (see in screenshot above). Once validated the changes to the release are displayed in the dialog.
19+
Once configs have been added/deleted/upgraded/reordered use the `Release PR` button above which is enabled after changes to release. This will open up a dialog, for some services it will automatically run a validation in the background, for others (e.g: alert, correlationalert) additional metadata can be specified in the dialog before clicking the `Validate` button (see in screenshot above). Once validated the changes to the release are displayed in the dialog.
1920

2021
For some services it will be possible to run tests on the all the configs in the service by clicking the `Test` button in the dialog.
2122

2223
To create a pull request in the release repo of the service being edited click on the `Deploy` button in the dialog.
2324

24-
If the user trying to deploy does not have the latest version of the release, an error dialog will be shown and the latest release will be loaded from the backend. The user will have to redo its deployment changes to try again.
25+
If the user trying to release does not have the latest version of the release, an error dialog will be shown and the latest release will be loaded from the backend. The user will have to redo its release changes to try again.
2526

26-
Once a pull request has been created in the repo it is not possible to create another one until it is either merged or closed. You can see when a pull request is opened in the UI, the `Deploy` button is replaced with `PR for release pending` and a `reload` icon. By clicking on the first a new tab is open to the pull request. The second should be clicked once the pull request is merged/close to reload the config from the backend and be able to deploy again.
27+
Once a pull request has been created in the repo it is not possible to create another one until it is either merged or closed. You can see when a pull request is opened in the UI, the `Release PR` button is replaced with `PR for release pending` and a `reload` icon (see screenshot below). By clicking on the first a new tab is open to the pull request. The second should be clicked once the pull request is merged/close to reload the config from the backend and be able to release again.
2728

28-
<img src="../screenshots/pr_open.png" alt="drawing" width='500px'/>
29+
<img src="../screenshots/pr_open.png" alt="drawing"/>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# How to filter configs and save searches
2+
On the config manager page there are multiple ways to filter configs. Searches can also be saved by a user or shared among users through the URL.
3+
4+
<img src="../screenshots/filtering_and_saving.png" alt="drawing"/>
5+
6+
## Search bar
7+
The search bar can be used to filter for: author, name and labels of configs. The words in the search will all be checked against the configs.
8+
9+
> **_Example:_** if the user searches for `TomH windows` only the configs with both `tomh` and `windows` in either author, name or labels will be displayed.
10+
11+
To save a search click on the `save` icon to the right of the search bar. It will then be displayed in the saved search's panel below that can be expanded. Click on a saved search to apply it.
12+
13+
## Checkboxes
14+
On the left-hand side of the config manager page is a column for checkboxes. The standard checkboxes for each service are:
15+
- `my configs` - configs last modified by current user
16+
- `upgradable` - configs with unreleased changes in store
17+
- `unreleased` - unreleased configs
18+
19+
To add more custom checkboxes to a service see [here](./how_to_use_ui_bootstrap_file.md).
20+
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
# How to test a deployment in siembol ui
2-
For some services it is possible to test all the configs prior to submitting a new release from the deploy dialog by clicking on the `Test` button. This button will only be clickable once the deployment has been validated.
1+
# How to test a release in Siembol UI
2+
For some services it is possible to test all the configs prior to submitting a new release from the release dialog by clicking on the `Test` button. This button will only be clickable once the release has been validated.
33

44
<img src="../screenshots/submit_dialog_alert.png" alt="drawing" width="500px"/>
55

@@ -9,4 +9,4 @@ The output will return two things:
99
- the resulting JSON that would be outputted
1010
- the raw output of the test (contains more details about the testing)
1111

12-
<img src="../screenshots/deployment_testing_dialog.png" alt="drawing" width="600px"/>
12+
<img src="../screenshots/release_testing_dialog.png" alt="drawing" width="600px"/>

docs/siembol_ui/how-tos/how_to_use_editing_features.md

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,7 @@ Clicking on the copy icon during editing of a config will copy the JSON into you
1414
## Paste in config editor
1515
When clicking the paste icon for the first time you should be presented with a dialog asking you to authorise this application to use your clipboard (in Chrome), you need to approve if you want to use the paste feature.
1616

17-
After clicking the config is validated, if it is not valid an error dialog will pop up. If it valid the config will be pasted, however the name, author and version will not be pasted.
17+
After clicking the config is validated, if it is not valid an error dialog will pop up. If valid the config will be pasted, however the name, author and version will not.
1818

1919
## Paste in config manager
20-
It is also possible to paste when creating a new config by clicking on the paste icon right of the search bar (see screenshot below). If the config in your clipboard is not valid an error dialog will pop up. If it is valid you will be redirected to a new config.
21-
22-
23-
<img src="../screenshots/config_manager_paste.png" alt="drawing"/>
20+
See [here](./how_to_add_new_config_in_siembol_ui.md)
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# How to use the ui-bootstrap file
2+
3+
The `ui-bootstrap.json` file contains config about each service type. Click [here](/config/config-editor-ui/ui-bootstrap.json) to see the default file provided. Service types are defined [here](/docs/services/how-tos/how_to_set_up_service_in_config_editor_rest.md).
4+
5+
## Schema paths
6+
This config file provides paths/keys of various variables in the schema of the service type provided by the backend. The possible keys are:
7+
- `release.version` - release version key
8+
- `release.config_array` - release config_array key
9+
- `release.extras` - list of extra release keys
10+
- `perConfigSchemaPath` - path to configs
11+
- `name` - config name key
12+
- `version` - config version key
13+
- `author` - config author key
14+
- `description` - config description key
15+
16+
## Labels function
17+
It also provides a key to define a JavaScript function that will return the labels for the service. This is done through the `labelsFunc` key.
18+
19+
## Testing
20+
Testing can be enabled or disable through these keys:
21+
- `testing.perConfigTestEnabled` - whether a single config can be tested
22+
- `testing.releaseTestEnabled` - whether the entire release can be tested
23+
- `testing.testCaseEnabled` - whether test cases can be created
24+
25+
## Checkboxes
26+
Checkboxes for quick filtering can be added per service in the `checkboxes` key. Filters can be added based on different fields such as the author or the labels of the config. Below is example of the config of a checkbox. It defined one checkbox group called `Severity` with two checkboxes: `high` and `low`. The pattern defined for each checkbox is matched against the given field. The given field can be:
27+
- a `string` - the pattern is matched against it
28+
- a `list` - the pattern has to match one of the items
29+
```
30+
"checkboxes": {
31+
"severity": {
32+
"high": {
33+
"field": "labels",
34+
"pattern": "^severity:low$"
35+
},
36+
"low": {
37+
"field": "labels",
38+
"pattern": "^severity:high$"
39+
}
40+
}
41+
}
42+
```
43+
44+
## Override default properties for service type
45+
The `override` key can be used to override any of the above properties for a specific service `name` (all the above is per service `type`). If there are two services of the same type different config can be applied to one using this key.
46+
47+
**_Example:_** Overriding the `testing.releaseTestEnabled` property for the `myalerts` service:
48+
```
49+
"override": {
50+
"myalerts": {
51+
"testing": {
52+
"releaseTestEnabled": false
53+
}
54+
}
55+
}
56+
```
57+
58+
59+
60+
48 KB
Loading
-14.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)