{"id":13566688,"url":"https://github.com/2-alchemists/krossboard-ui","last_synced_at":"2025-04-04T00:31:57.447Z","repository":{"id":37826687,"uuid":"255994842","full_name":"2-alchemists/krossboard-ui","owner":"2-alchemists","description":"User Interface for Krossboard - A Leading Mult-cluster, Cross-Cloud \u0026 Cross-Distribution Kubernetes Usage Accounting \u0026 Analytics. Actively tested against Amazon EKS, Microsoft AKS, Google GKE, Red Hat OpenShift, \u0026 vanilla distros.","archived":false,"fork":false,"pushed_at":"2024-04-03T19:42:04.000Z","size":1355,"stargazers_count":4,"open_issues_count":17,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-08-01T13:36:50.113Z","etag":null,"topics":["cloud","cost-optimization","kubernetes"],"latest_commit_sha":null,"homepage":"https://krossboard.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/2-alchemists.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-15T17:50:35.000Z","updated_at":"2024-03-08T05:54:07.000Z","dependencies_parsed_at":"2024-08-01T13:39:31.480Z","dependency_job_id":null,"html_url":"https://github.com/2-alchemists/krossboard-ui","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2-alchemists%2Fkrossboard-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2-alchemists%2Fkrossboard-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2-alchemists%2Fkrossboard-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2-alchemists%2Fkrossboard-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2-alchemists","download_url":"https://codeload.github.com/2-alchemists/krossboard-ui/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223075363,"owners_count":17083505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","cost-optimization","kubernetes"],"created_at":"2024-08-01T13:02:14.705Z","updated_at":"2024-11-04T21:30:48.901Z","avatar_url":"https://github.com/2-alchemists.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\n![license](https://img.shields.io/github/license/2-alchemists/krossboard-ui.svg?label=License\u0026style=for-the-badge)\n[![test-and-build](\u003chttps://img.shields.io/github/workflow/status/2-alchemists/krossboard-ui/build?label=build\u0026logo=GitHub\u0026style=for-the-badge\u003e)](https://github.com/2-alchemists/krossboard-ui/actions/workflows/build.yml)\n---\n\n# Overview\n\n`krossboard-ui` is the user interface component of [Krossboard](https://github.com/2-alchemists/krossboard).\n\nKey features of Krossboard:\n\n* **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.\n* **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.\n* **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.\n* **REST API**: Exposes the generated analytics data to third-party systems. For example, [Krossboard UI](https://github.com/2-alchemists/krossboard-ui) consumes this API to produce its charts and dashboards.\n* **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.\n\n![krossboard-architecture-overview](krossboard-architecture-overview.png)\n\n## Getting Started with Krossboard\n\n* [Setup Krossboard for Multi-Cloud or Cross-Kubernetes Distributions](https://krossboard.app/docs/60_deploy-for-cross-cloud-and-on-premises-kubernetes/)\n* [Setup Krossboard for Amazon EKS](https://krossboard.app/docs/50_deploy-for-amazon-eks/)\n* [Setup Krossboard for Azure AKS](https://krossboard.app/docs/30_deploy-for-azure-aks/)\n* [Setup Krossboard for Google GKE](https://krossboard.app/docs/20_deploy-for-google-gke/)\n\n## Development Setup for Krossboard UI\n\nAs prerequisites, the following tools must be properly installed:\n\n* [Node.js](https://nodejs.org/en/download/) LTS v12.16.2 - codename `Erbium` (including [npm](https://www.npmjs.com/) v6.14.4)\n* [yarn](https://yarnpkg.com/lang/en/)\n\n[Node.js][Node.js] environment can be checked with the following command line:\n\n```sh\n\u003e node --version\nv12.16.2\n```\n\nTo ease with [Node.js][Node.js] installation, you can use [nvm](https://github.com/nvm-sh/nvm), a version manager for [Node.js][Node.js], designed to be installed per-user, and invoked per-shell.\n\nOnce installed, you can then configure the [Node.js][Node.js] environment this way:\n\n```sh\n\u003e nvm install 12.16.2\nNow using node v12.16.2 (npm v6.14.4)\n```\n\n### Initialization\n\nInstall all the dependencies required by the project by typing the following command line (this can take a while):\n\n```sh\n\u003e yarn\n...\n✨  Done in 33.90s.\n```\n\n### Start \"develop\" mode\n\nIn develop mode, you'll need a backend to serve the data on port 1519. A mocked one is available by typing the following command:\n\n```sh\n\u003e yarn start-server\n```\n\nThen launch the front with the following command:\n\n```sh\n\u003e yarn develop\n```\n\nOpen `http://localhost:1234`.\n\n### Build project\n\n```sh\n\u003e yarn build\n\n```\n\nGenerated files are then available in the `dist` folder.\n\n### Commits\n\nThe project follow [Conventional Commits](https://www.conventionalcommits.org/), a set of rules regarding how you should commit your code to bring you the great benefit.\n\nℹ The type of the commits are used to determine the next version of the product following semantic versionning.\n\nFor this, rules are enforced by a pre-commit hook mananaged by [husky](https://github.com/typicode/husky).\n\n### Release\n\nThe process of releasing the product is managed by [standard-version](https://github.com/conventional-changelog/standard-version).\n\nThe 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.\n\nℹ The version contained in the `package.json` is the previous one (the last available one).\n\nPerform the release is pretty straight-forward:\n\n```sh\n\u003e yarn release\n```\n\n⚠️ For the very first release, the following command line must be exected instead:\n\n```sh\n\u003e yarn release --first-release\n```\n\nℹ Note that a dry mode is available to test the release process safely:\n\n```sh\n\u003e yarn release --dry-run\n```\n\n[Node.js]: https://nodejs.org/\n\n# Open to Contributions\n\nWe encourage feedback and always make our best to handle any issues as fast as possible.\n\nDon't hesitate to submit a issue or make a feature request.\n\nAll contributions, including, code and documentation, are accepted under the terms of [GNU Affero General Public License](LICENSE.md).\n\nRead the [code of conduct](CODE-OF-CONDUCT.md) to learn more about our contribution guideline.\n\n[![StackShare](http://img.shields.io/badge/tech-stack-0690fa.svg?style=flat)](https://stackshare.io/2alchemists/krossboard)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2-alchemists%2Fkrossboard-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2-alchemists%2Fkrossboard-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2-alchemists%2Fkrossboard-ui/lists"}