Key Software
A plugin that summarises the key software used by codebases.
Features
Kronicle can detect the software dependencies in nodejs and Gradle codebases. Typical codebases can contain 10s to 1000s of dependencies. The Key Software plugin can be used to summarise software dependencies into a list of “key dependencies”. For example, dependencies like Angular, React, Spring Boot, Micronaut etc. might be “key software” in a particular tech stack.
Plugin configuration
The following environment variable are passed to the kronicle-serice
container to configure the plugin
Example configuration
PLUGINS_KEY_SOFTWARE_DEFAULT_RULES_ENABLED=true
PLUGINS_KEY_SOFTWARE_RULES_0_SOFTWARE_NAME_PATTERN=^io.micronaut:micronaut-bom$
PLUGINS_KEY_SOFTWARE_RULES_0_NAME=Micronaut
PLUGINS_KEY_SOFTWARE_RULES_1_SOFTWARE_NAME_PATTERN=^core-js$
PLUGINS_KEY_SOFTWARE_RULES_1_NAME=core-js
Optional environment variables
PLUGINS_KEY_SOFTWARE_DEFAULT_RULES_ENABLED=true
Used to disable Kronicle’s built-in key software rules. See the key-software:
part of
https://github.com/kronicle-tech/kronicle/blob/main/service/src/main/resources/application.yml for the built-in rules
PLUGINS_KEY_SOFTWARE_RULES_{index}_SOFTWARE_NAME_PATTERN=^io.micronaut:micronaut-bom$
This is used to tell Kronicle about “key software” in your tech stack. This could be used to configure software like Gradle, Spring Boot, Micronaut, React, Vue.js etc. as being important software in your tech stack. You can configure multiple rules.
The {index}
in the environment name should start from 0 and be incremented for each rule.
It contains a regular expression to use to match a particular piece of software being used by a component. For Java based components, this would a regular expression to make the “groupId:artifactId” of a JAR. For a node.js based components, this would be a regular expression to match an npm package name
PLUGINS_KEY_SOFTWARE_RULES_{index}_NAME=Micronaut
This is paired with the SOFTWARE_NAME_PATTERN environment variable. It configures what name Kronicle should show in Kronicle App when a piece of software matches the associated SOFTWARE_NAME_PATTERN.