krossboard-ui
is the user interface component of Krossboard.
Key features of Krossboard:
- Multi-Kubernetes Data Collection: Periodically collecting raw metrics related to containers, pods and nodes from several Kubernetes source clusters. By design, the data collection period is 5 minutes.
- Powerful Analytics Processing: Internally process raw metrics to produce insightful Kubernetes usage accounting and analytics metrics. By design, these analytics metrics are handled on a hourly-basis, for every namespace, cluster, and also globally.
- Insightful Usage Accounting: Periodically process usage accounting, for each cluster and cluster's namespace. In the current implementation, the accounting is handled by design for the following period: daily for the 14 last days, monthly for the 12 last months.
- REST API: Exposes the generated analytics data to third-party systems. For example, Krossboard UI consumes this API to produce its charts and dashboards.
- Easy to deploy: Krossboard can be easily deployed through a virtual machine on-premises or on public clouds. In a close future, it's expected to be deployed through a Kubernetes operator. It can be set up to automatically discover and handle Kubernetes clusters backed by Amazon EKS, Google GKE, Microsoft AKS.
- Setup Krossboard for Multi-Cloud or Cross-Kubernetes Distributions
- Setup Krossboard for Amazon EKS
- Setup Krossboard for Azure AKS
- Setup Krossboard for Google GKE
As prerequisites, the following tools must be properly installed:
Node.js environment can be checked with the following command line:
> node --version
v12.16.2
To ease with Node.js installation, you can use nvm, a version manager for Node.js, designed to be installed per-user, and invoked per-shell.
Once installed, you can then configure the Node.js environment this way:
> nvm install 12.16.2
Now using node v12.16.2 (npm v6.14.4)
Install all the dependencies required by the project by typing the following command line (this can take a while):
> yarn
...
✨ Done in 33.90s.
In develop mode, you'll need a backend to serve the data on port 1519. A mocked one is available by typing the following command:
> yarn start-server
Then launch the front with the following command:
> yarn develop
Open http://localhost:1234
.
> yarn build
Generated files are then available in the dist
folder.
The project follow Conventional Commits, a set of rules regarding how you should commit your code to bring you the great benefit.
ℹ The type of the commits are used to determine the next version of the product following semantic versionning.
For this, rules are enforced by a pre-commit hook mananaged by husky.
The process of releasing the product is managed by standard-version.
The tool is responsible to establish the next release version based on the commits from the previous release made, then bump this version in the package.json
file and finally tag the repository.
ℹ The version contained in the package.json
is the previous one (the last available one).
Perform the release is pretty straight-forward:
> yarn release
> yarn release --first-release
ℹ Note that a dry mode is available to test the release process safely:
> yarn release --dry-run
We encourage feedback and always make our best to handle any issues as fast as possible.
Don't hesitate to submit a issue or make a feature request.
All contributions, including, code and documentation, are accepted under the terms of GNU Affero General Public License.
Read the code of conduct to learn more about our contribution guideline.