diff --git a/.github/images/dashboard.png b/.github/images/dashboard.png new file mode 100644 index 000000000..c857550ff Binary files /dev/null and b/.github/images/dashboard.png differ diff --git a/.github/images/deploy-to-aws.png b/.github/images/deploy-to-aws.png new file mode 100644 index 000000000..f106e169d Binary files /dev/null and b/.github/images/deploy-to-aws.png differ diff --git a/.github/workflows/build_test_pr.yml b/.github/workflows/build_test_pr.yml index 6c394b530..b00470cca 100644 --- a/.github/workflows/build_test_pr.yml +++ b/.github/workflows/build_test_pr.yml @@ -33,6 +33,8 @@ jobs: - name: Set up Go uses: actions/setup-go@v4 with: + cache: true + cache-dependency-path: go.sum go-version: 1.20.2 # FIXME: https://github.com/golangci/golangci-lint-action/issues/677 diff --git a/README.md b/README.md index a23d8f8d4..e4895ab66 100644 --- a/README.md +++ b/README.md @@ -6,15 +6,21 @@
+ + + +
+ [![Price](https://img.shields.io/badge/price-FREE-0098f7.svg)](https://github.com/tailwarden/komiser/blob/master/LICENSE) [![Docker Stars](https://img.shields.io/docker/pulls/mlabouardy/komiser.svg)](https://hub.docker.com/r/mlabouardy/komiser) [![ELv2 License](https://img.shields.io/badge/license-ELv2-green)](LICENSE) [![Docker Stars](https://img.shields.io/github/issues/tailwarden/komiser.svg)](https://github.com/tailwarden/komiser/issues) [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.tailwarden.com/) @@ -22,7 +28,7 @@ Komiser is an open-source cloud-agnostic resource manager. It integrates with mu -*Cloud version is available in private beta, sign in for free at [https://cloud.tailwarden.com](https://cloud.tailwarden.com?utm_source=github&utm_medium=social)* +The fastest and most reliable way to get started with Komiser is signing up for free to [Tailwarden Cloud](https://cloud.tailwarden.com?utm_source=github&utm_medium=social) [![Twitter URL](https://img.shields.io/twitter/url/https/twitter.com/fold_left.svg?style=social&label=Follow%20%40Komiser)](https://twitter.com/komiserdotio) [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Optimize%20Cost%20and%20Security%20on%20AWS&url=https://github.com/tailwarden/komiser&via=mlabouardy&hashtags=komiser,aws,gcp,cloud,serverless,devops) @@ -48,6 +54,7 @@ brew install komiser - [Deploy Komiser to single account access EKS cluster (Helm chart)](#deploy-komiser-to-single-account-access-eks-cluster-helm-chart) - [Deploy Komiser to a multi account access EKS cluster (Helm chart)](#deploy-komiser-to-a-multi-account-access-eks-cluster-helm-chart) - [Installation on Azure](#installation-on-azure) + - [Installation on GCP](#installation-on-gcp) - [Installation on Civo](#installation-on-civo) - [Installation on OCI](#installation-on-oci) - [Installation on Digital Ocean](#installation-on-digital-ocean) @@ -58,7 +65,6 @@ brew install komiser - [Jump right in:](#jump-right-in) - [Bugs and feature requests 🐞](#bugs-and-feature-requests-) - [Roadmap and Contributing 🛣️](#roadmap-and-contributing-️) - - [Watch! :](#watch-) - [Users 🧑🤝🧑](#users-) - [Versioning 🧮](#versioning-) - [Contributors](#contributors) @@ -67,11 +73,13 @@ brew install komiser # What is Komiser? 🤷 Komiser is an open source project created to **analyse** and **manage cloud cost**, **usage**, **security** and **governance** all in one place. With komiser you can also: +* Build an inventory of your cloud infrastructure assets. * Control your **resource usage** and gain visibility across all used services to achieve maximum cost-effectiveness. * Detect **potential vulnerabilities** that could put your cloud environment at risk. -* Get a deep understanding of **how you spend** on the AWS, Civo, OVH, DigitalOcean and OCI. +* Get a deep understanding of **how you spend** on the AWS, Azure, GCP, Civo, OVH, DigitalOcean and OCI. +* Uncover idle and untagged resources, ensuring that no resource goes unnoticed. - + ## Who is using it? Komiser was built with every Cloud Engineer, Developer, DevOps engineer and SRE in mind. We understand that tackling cost savings, security improvements and resource usage analyse efforts can be hard, sometimes just knowing where to start, can be the most challenging part at times. Komiser is here to help those cloud practitioners see their cloud resources and accounts much more clearly. Only with clear insight can timely and efficient actions take place. @@ -100,6 +108,10 @@ Watch the installation [video here](https://www.youtube.com/watch?v=4veDmJpui44& Connect a local deployment of Komiser CLI to you [**Azure**](https://docs.komiser.io/docs/cloud-providers/azure?utm_source=github&utm_medium=social) account. +## Installation on GCP + +Connect a local deployment of Komiser CLI to you [**GCP**](https://docs.komiser.io/docs/cloud-providers/google-cloud-platform?utm_source=github&utm_medium=social) account. + ## Installation on Civo Connect a local deployment of Komiser CLI to your [**Civo**](https://docs.komiser.io/docs/cloud-providers/civo?utm_source=github&utm_medium=social) account. @@ -128,7 +140,7 @@ Connect a local deployment of Komiser CLI to you [**Scaleway**](https://docs.kom # Documentation 📖 -Head over to the official `Komiser` documentation at [docs.komiser.io](https://docs.komiser.io?utm_source=github&utm_medium=social). The source repository for the documentation website is [tailwarden/docs](https://github.com/tailwarden/docs). +Head over to the official `Komiser` documentation at [docs.komiser.io](https://docs.komiser.io?utm_source=github&utm_medium=social). The source repository for the documentation website is [tailwarden/docs.komiser.io](https://github.com/tailwarden/docs.komiser.io). We know that writing docs isn't usually at the top of too many peoples "What I like to do for fun" list, but if you feel so inclined, by all means, consider [contributing](https://docs.komiser.io/docs/contributing/contribute?utm_source=github&utm_medium=social) to our documentation repository, we will be very grateful. It's built using [Docusaurus](https://docusaurus.io/). @@ -146,12 +158,14 @@ Have a bug or a feature request? Please first read the issue guidelines and sear # Roadmap and Contributing 🛣️ -We are very excited about what is in store in the coming weeks and months, take a look at the [public roadmap](https://tailwarden.canny.io/) to stay on top of what's coming down the pipeline. +We are very excited about what is in store in the coming weeks and months, take a look at the [public roadmap](https://roadmap.tailwarden.com/) to stay on top of what's coming down the pipeline. Komiser is written in `Golang` and is `Elv2 licensed` - contributions are always welcome whether that means providing feedback, be it through GitHub, through the `#feedback` channel on our [Discord server](https://discord.tailwarden.com) or testing existing and new features. Feel free to check out our [contributor guidelines](./CONTRIBUTING.md) and consider becoming a **contributor** today. -### Watch! : -Learn how to contribute with this walkthrough [video](https://www.youtube.com/watch?v=Vn5uc2elcVg) +Learn how to contribute with this walkthrough videos: + +- [How to contributor to Komiser engine](https://www.youtube.com/watch?v=Vn5uc2elcVg) +- [How to contributor to Komiser dashboard](https://www.youtube.com/watch?v=uwxj11-eRt8) # Users 🧑🤝🧑 diff --git a/VERSION.md b/VERSION.md new file mode 100644 index 000000000..1d4ae4a59 --- /dev/null +++ b/VERSION.md @@ -0,0 +1,43 @@ +# Komiser Versioning Guidelines + +We use the [**SemVer**](https://semver.org/) versioning and maintain our own We follow the guidelines of Semantic Versioning (SemVer) and maintain our own standards on top of it. + +## For a Komiser version x.y.z: + +> X: Major | Y: Minor | Z: Patch + +### Patch releases include + +Patch releases incorporate performance and UX improving features without affecting the state in the forms of: + +- Minute bug patches +- Cost coverage enhancements +- Supporting new cloud resources in the release that are backward compatible +- Any changes do **NOT** involve dealing with + - Persistent state + - Database or model changes + +### Minor releases include + +Minor releases incorporate significant features that maintain backward compatibility by: + +- Keeping with the persistent state +- Handling logic for new as well old cases +- Database changes but have auto migrations that work with old models as well + +### Major releases include + +Major releases incorporate significant changes that fall into two main categories: + +- Breaking change that is **NOT** backward compatible +- Huge enhancements that might require a lot of refactoring + +> ⛔ We prioritize simplicity in our versioning approach and generally avoid the use of other somewhat complicated versioning labels such as `alpha, beta, and rc`. +> +> However, if necessary, we are open to utilizing these labels as well to ensure the most appropriate versioning for our releases. + +### Release Schedules + +Our ideal release schedule aims to have regular releases once every 2 weeks. The version format will follow the guidelines mentioned above, incorporating the principles of Semantic Versioning (SemVer) and our own additional standards. + +This systematic approach ensures clarity and consistency in our versioning process, making it easier for users and enterprises to understand the significance of each release and determine when to upgrade. diff --git a/dashboard/components/icons/ClearFilterIcon.tsx b/dashboard/components/icons/ClearFilterIcon.tsx new file mode 100644 index 000000000..f09449fc7 --- /dev/null +++ b/dashboard/components/icons/ClearFilterIcon.tsx @@ -0,0 +1,39 @@ +import { SVGProps } from 'react'; + +const ClearFilterIcon = (props: SVGProps