olegsu/iris

Moving to V1

olegsu opened this issue · 0 comments

Will summarise here the main concepts and changes that are planned for version 1.0.0.

Feedback is welcome.

Main concepts:

  • Removal the yaml as configuration and adopting a DSL language to extend the ability to write filters and destinations.
  • Support interaction with Kubernetes API as part of filters
  • Support pluggable system

As I see it, you will provide a JS file

var buildConfig = function() {
    var filterJSON = new Filter({
        name: 'name',
        func: function(event) {
            // invoke the filter function
            // with the event we got from Kubernetes
            return true;
        }
    });

    var alertSystem = new Consumer({
        url: 'localhost',
        headers: {
            'X-Secret': process.env.SECRET,
        },
    });

    var integration = new Integration({
        name: '',
        descriptions: 'Send message when pod scheduled',
        filters: [
            filterJSON
        ],
        consumers: [
            alertSystem,
        ]
    });

    return new Config()
        .addIntegration(integration)
        .toJSONString();
}