4finance / featuros

MIT License
1 stars 1 forks source link

Build Status

featuros

Overview application features across multiple deployments. Within a blink of an eye, identify deployment dates, versions and available features in dozens or even hundreds of deployed applications.

featuros is a young and a work-in-progress project. It will be released publicly as soon as it is production-ready!

Install

$ ./gradlew build

Use

First step is to start featuros backend dashboard:

$ ./gradlew featuros:start

Then you can choose a way to provide metadata:

Option 1: plugin (recommended)

repositories {
    mavenLocal()
}
dependencies {
    compile 'io.fourfinanceit.featuros:featuros-plugin:+'
}
Featuros.notification();

Option 2: curl

$ curl -d name=my-cool-microservice \
    -d product=cool-microservice \
    -d group=my \
    -d version=1.0 \
    http://localhost:31113/api/notifications

Run the sample project

$ ./gradlew featuros:run

$ ./gradlew featuros-example:run

How it works

During an application build, featuros-gradle-plugin prepares metadata and bundles it within the application JAR/WAR. When the application starts, featuros-plugin posts this metadata to featuros backend so that it knows about the new deployment and its features.

Featuros metadata is as follows:

Field Description
name Final name of a deployable, usually including product and group, e.g. xx-backend-europe
product Product name, e.g. xx-backend
group Group of deployment, e.g. europe
version Version

Understanding the modules

Module Description
featuros Backend application with deployment overview
featuros-gradle-plugin Hooks into your gradle build process and prepares featuros metadata
featuros-plugin Plugin for your application to publish metadata to featuros backend
featuros-example Sample application integrated with featuros

Project goals

Contributing

TBD

Licensing

featuros is licensed under MIT.