The Nereon project
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.adoc

README.adoc

Nereon and Nerelog

Origin

Nereus, the original Greek god of the sea, was renowned as someone trustworthy, and a prophet — and as a shapeshifter. Like the sea itself, Nereus constantly changed his form.

Just like the different forms that we take to get a computer to carry out a task, and the response it returns.

Nereon: the unified configuration model

Nēreōn is Greek for the place where Nereus is. It could be his temple. It could be his lair. It’s where the shapeshifting takes place. It’s the unified configuration state where all the various configurations of an object are brought together.

Nerelog: the unified event log model

The Nēreōn is also where the various occurrences of events get logged as well. They get logged, of course, in a Nerelog.

Note
A Nerelog should be Nereolog, strictly speaking, but that’s the thing with changing shapes: you can’t be too strict about it.

A Nerelog in Greek would be a a student of Nereus: a nēreológos. Or else, if you shift the accent as well as your shape, you become a nēreólogos: a collection of Nereuses. A cata-log (yes, it’s the same suffix) of all the forms that Nereus has taken, all the events in their shape-shifting glory.

Models

The Nereon and Nerelog models are located at Nereon models

Implementations

Nereon implementations comes in various shapes including:

  • libnereon is a meta-configurer and run-time configuration parser library implemented in C

  • go-nereon is a meta-configurer and run-time configuration parser library implemented in Go

Notation Syntax

The Nereon Object Notation ("NON") is inspired by HCL and UCL.

Configuration Schema Syntax

The NON for Configuration Schema ("NOS") uses the file extension .nos, it is used to define the configuration schemes possible of a configurable program.

The NOS file is used for:

  • During program compilation, it is compiled into the specific program to accept defined configuration parameters.

  • During installation and/or runtime, the schema definition can be used by third-party libraries or programs to interact or monitor a program that implements this schema.

  • This file can also be distributed from a registry.

Configuration Syntax

The NON for Configuration ("NOC") uses the file extension .noc, it is used to define the running configuration of a configurable program.

The NOC file is used for:

  • During program startup, it is read in to set the configuration arguments or parameters as a configuration file.