Skip to content
This repository has been archived by the owner on Nov 3, 2022. It is now read-only.

Commit

Permalink
Merge pull request #840 from dedica-team/develop
Browse files Browse the repository at this point in the history
Merge develop into master #838
  • Loading branch information
robrobert99 authored Jan 5, 2022
2 parents f4d9299 + 34d7a01 commit 5dc0e5e
Show file tree
Hide file tree
Showing 389 changed files with 13,413 additions and 8,721 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ jobs:
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
jdk: [11.0.8, 13.0.2]
jdk: [11.0, 17.0]

steps:
- uses: actions/checkout@v2
- name: Set up JDK 11/13
- name: Set up JDK 11/17
uses: actions/setup-java@v1
with:
java-version: ${{matrix.jdk}}
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ src/test/resources/example/*_debug.json
src/test/resources/example/*_debug.svg
src/main/resources/static/icons/svg/*.svg
/src/main/app/debug.log
/src/test/dump/
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# use not slim base image, because libfontmanager needs libfreetype (mfbieber)
FROM adoptopenjdk/openjdk11:x86_64-alpine-jre-11.0.8_10
FROM openjdk:17-ea-22

ENV JAVA_TOOL_OPTIONS="-Xms100m -Xmx400m"
VOLUME /tmp
Expand Down
4 changes: 2 additions & 2 deletions development.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
**Requirements**

To run nivio you need the following software installed:
- [nodejs v12.6.2 or higher](https://nodejs.org/en/), [How to update node?](https://www.hostingadvice.com/how-to/update-node-js-latest-version/)
- [nodejs v16 LTS](https://nodejs.org/en/), [How to update node?](https://www.hostingadvice.com/how-to/update-node-js-latest-version/)
- [Maven](https://maven.apache.org/install.html)
- Java 11
- Java 17

---

Expand Down
8 changes: 6 additions & 2 deletions docs/source/assessment.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ Other
* health (examines the health label on items)
* condition (K8s condition true/false evaluation)

By default all shipped `KPIs (Key Performance Indicators)` are enabled. Set ``enabled`` to false in the config to disable them.
By default all shipped `KPIs (Key Performance Indicators)` are disabled. Set ``enabled`` to true in the config to disable them.

.. code-block:: yaml
:linenos:
Expand All @@ -49,7 +49,7 @@ By default all shipped `KPIs (Key Performance Indicators)` are enabled. Set ``en
config:
kpis:
scaling:
enabled: false
enabled: true
Custom KPIs
Expand Down Expand Up @@ -87,3 +87,7 @@ label ``foo``.
RED: "BAD;err.*"
health:
description: can be overridden
The pet clinic demo uses a custom KPI which evaluates radiation levels. In this simulation a sensor item (see xray group)
collects a made up radiation (in mrem) in a label also named ``radiation``. This label is then examined by the custom KPI.
See https://github.com/dedica-team/nivio/blob/develop/src/test/resources/example/pet_clinic.yml
Binary file added docs/source/first.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/groups.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/icons.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions docs/source/inc_env_config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,10 @@ A welcome message on the front page.

Accent color used for active elements (hexadecimal only).

.. envvar:: NIVIO_ICON_FOLDER

A folder containing icons named similar to material design icons

.. envvar:: NIVIO_MAIL_HOST

SMTP mail host.
Expand Down
1 change: 0 additions & 1 deletion docs/source/inc_labels.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
* ``health`` Description of the item's health status.
* ``icon`` Icon/image (for displaying purposes).
* ``label`` A custom label (like a note, but very short).
* ``layer`` A technical layer.
* ``lifecycle`` A lifecycle phase (``PLANNED|plan``, ``INTEGRATION|int``, ``PRODUCTION|prod``, ``END_OF_LIFE|eol|end``).
* ``note`` A custom note.
* ``scale`` Number of instances.
Expand Down
6 changes: 3 additions & 3 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@ sources, like files and web APIs (e.g. monitoring items) or allows pushing infor
* **It is easy to install and to maintain.** Runs dockerized on a single server with moderate to low hardware requirements. It stores the items, so it can be discarded at any time and be refilled with the next start.
* **No-op usage** Besides its initial configuration, it is designed to gather the application landscape information from configurable items, preferably code repositories.
* **Renders the landscapes as a graph** See above.
* **Multiple configuration sources** While Nivio has its proprietary format, you can also use docker-compose files, or use them as basis and enrich them using further files
* **PULL: Single seed** Basic indexing of landscapes driven by a configuration file.
* **PUSH: incremental data aggregation** Send configuration files and other formats to build a landscape.
* **Multiple configuration sources** While Nivio has its proprietary YAML format, you can also use docker-compose files, or use them as basis and enrich them using further files
* **PULL and PUSH** Basic indexing of landscapes driven by observed configuration files, or send data to the API.
* **Aggregation of item state** Using sources, like Prometheus, and marking items accordingly.


Expand All @@ -34,5 +33,6 @@ sources, like files and web APIs (e.g. monitoring items) or allows pushing infor
assessment
magic
output
troubleshooting
references

31 changes: 31 additions & 0 deletions docs/source/input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,37 @@ skip (usually 1 for the header row) can be set.
skipLines: 1
Reading and Mapping from JSON
-----------------------------

Any JSON file or URL can be parsed and mapped into a landscape description. Existing structures are mapped to landscape
components using JSONPath, a query language to traverse JSON objects and select specific properties.

.. code-block:: yaml
:linenos:
identifier: example:customjson
name: Custom JSON example
sources:
- format: customJSON
url: /mnt/items.json
mapping:
items: "$.items"
item:
identifier: "$.id"
endOfLife: "$.end_of_life.date"
name: '$.moreThanAName|find "([\\w\\s]*),"'
nivio.link.homepage: "$.a_named_link"
nivio.relations.inbound: "$.@dependencies.@upstream|fetch|$.items[*].id"
nivio.relations.providers: "$.infra|fetch|$.items[*].id"
The folling mapping steps are supported:

* **JsonPath**. Simply add the path expression. Note that the root for items is the root of the assigned JSON subnode. For more info on JsonPath, see https://support.smartbear.com/alertsite/docs/monitors/api/endpoint/jsonpath.html.
* **fetch** an URL, starting with the keyword _fetch_
* **find** a subtext using regular expressions. starting with the keyword _find_. Make sure to put lines containing regexes in **single quotes** and surround the pattern with **double quotes** (a CSV parser is used in combination with a YAML parser, so this is the combination that works).


Reading from GraphViz dot files
-------------------------------

Expand Down
Loading

0 comments on commit 5dc0e5e

Please sign in to comment.