Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# pre-commit configuration file
# This file configures Git pre-commit hooks to automatically run code quality checks
# and format code before commits, ensuring consistent standards across the project.
# Define each hook, its source repo, and version below.

# Repositories containing hooks
repos:
Expand Down
5 changes: 4 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ Before getting started and setup with contributing, you'll want to have a look a

If you have gotten that far, then you can go ahead and work on the issue. Below are more detailed instructions based on the basic workflow above.

### Commit Messages
Commit messages should provide enough information about what has changed and why.

### Pull Request Process

Please adhere to the following guideline for submitting a pull request:
Expand Down Expand Up @@ -74,4 +77,4 @@ If you have any questions or need help, Join our Slack channel [XkOps Community]

## Acknowledgements

We would like to acknowledge and thank all contributors for their work on this project.
We would like to acknowledge and thank all contributors for their work on this project.
36 changes: 0 additions & 36 deletions Dockerfile

This file was deleted.

121 changes: 0 additions & 121 deletions Makefile

This file was deleted.

87 changes: 34 additions & 53 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,36 @@
# XkOps

![XkOps Logo](./images/xkops_logo.png "XkOps Logo")

![XkOps - Kubernetes Observability Tool](./images/xkops_logo.png "XkOps Logo")
[![Lint Code Base](https://github.com/XgridInc/xkops/actions/workflows/linter.yml/badge.svg)](https://github.com/XgridInc/xkops/actions/workflows/linter.yml)
[![Package and Publish Docker Image](https://github.com/XgridInc/xkops/actions/workflows/build_publish_scan.yml/badge.svg)](https://github.com/XgridInc/xkops/actions/workflows/build_publish_scan.yml)
[![Shellcheck](https://github.com/XgridInc/xkops/actions/workflows/shellcheck.yml/badge.svg)](https://github.com/XgridInc/xkops/actions/workflows/shellcheck.yml)

## 💻 Overview
## 📘 Overview

Xkops is an integrated solution that combines widely-adopted open-source utilities to simplify Kubernetes management, emphasizing the enhancement of observability, reliability, security, and cost control in cluster operations which help users optimize the deployment and management of Kubernetes clusters. The platform provides a comprehensive evaluation of costs, observability, and security.
XkOps provides an effortless way for users to manage their cluster and extract meaningful insights related to observerability and cost. The platform includes the installers of top-tier open-source tools, namely Kubecost, Robusta, and Pixie, which are bundled together into a single Docker image. This Docker image is then deployed as a Pod, simplifying the installation process of these tools.
This all-in-one solution consolidates the insights obtained from these tools, making it easier for users to make informed decisions and have centralized monitoring of their Kubernetes cluster.
**XkOps** is a unified observability and management solution designed to simplify Kubernetes cluster operations, with a focus on **observability**, **reliability**, **security**, and **cost control**. By integrating powerful open-source tools like **Kubecost**, **Robusta**, and **Pixie**, XkOps provides a seamless, all-in-one experience for managing and optimizing Kubernetes environments.

Check the below video for a quick demo of XkOps.
This platform offers users an end-to-end setup for monitoring, cost analysis, and security insights directly in their Kubernetes clusters, allowing for smarter resource allocation and operational efficiency. XkOps consolidates critical information from these tools to provide a central, intuitive interface for making informed, real-time decisions.

[![XkOps Demo](./images/Demo-video.jpg)](https://youtu.be/l-psN4IDDBA)
## 📋 Key Features

## 🏗️ XkOps Architecture Diagram
### Effortless Installation
Easily deploy XkOps by visiting Artifact Hub and following the Helm chart installation instructions. It’s designed for quick setup and easy deployment, reducing the complexity of integrating multiple tools.

![XkOps Architecture Diagram](./images/arch%20diagram.png "Architecture Digram")
### Centralized Observability
Gain deep visibility into your Kubernetes cluster with integrated observability tools like Pixie, providing real-time monitoring and insights to track cluster health.

### Cost Management
Kubecost integration delivers detailed cost analysis and recommendations, helping teams optimize their Kubernetes workloads and reduce unnecessary spend.

## 💡 Why XkOps?
### Actionable Insights
The XkOps frontend allows users to view actionable insights and directly interact with alerts and recommendations, streamlining decision-making and operational tasks.

XkOps is a unified platform that provides true observability across Kubernetes clusters while being cost-optimized, fault-tolerant, and secure. With an abundance of tools available, implementing and managing multiple data platforms can become overwhelming and lead to additional costs.
### Integrated Workflows
Benefit from pre-configured workflows that combine Kubecost, Robusta, and Pixie for a seamless Kubernetes management experience that covers cost, observability, and security.

XkOps simplifies this by offering a single platform that provides a single source of truth, making it easier for users to gain insights and manage their cluster. Achieving optimal cost efficiency, state-of-the-art security, and dependable application performance through observability is a necessity for Kubernetes clusters.
XkOps addresses this by encompassing the three core concepts of cost optimization, reliability, and security in a single platform.
## 🏗️ XkOps Architecture Diagram

![XkOps Architecture Diagram](./images/arch%20diagram.png "Architecture Digram")

## 🛠️ Use cases

Expand All @@ -41,60 +46,36 @@ XkOps can be used for several use cases, including:

**Reporting:** XkOps allows users to generate reports to share with stakeholders about the cost, performance, and security of the Kubernetes cluster over time.

## ➕ Dependencies

Please note the following requirements for using the XkOps:

- To install the necessary dependencies, an internet connection is required.
- You will need an EKS cluster and an AWS IAM user with a minimum set of permissions listed in this [spreadsheet](https://docs.google.com/spreadsheets/d/1cuC-72oRJ7DB4HkvELpml5RLcA2clzCA7xBVd1z6fVw/edit?usp=sharing).
- The pod resources must meet the minimum requirements of 200MiB memory and 500m CPU.
- Please ensure that you use a separate XkOps namespace.

## 📒 Getting Started

To install XkOps, please follow these steps

### 🔐 Secret Manager Setup

First, set up AWS secrets manager on your AWS account:

- Refer to this [guide](https://docs.google.com/document/d/17fhQ0zJZtJGcWtnVD8NehUbFC-x9TrMP11XjyEFi370/edit?usp=sharing) for instructions on how to set up AWS secret manager OR
- Use [this script](https://github.com/XgridInc/xkops/blob/master/secret-manager/secret-manager.sh) to automate the setup process.

### 📥 Install XkOps

1. Clone the repository and navigate to the cloned repo:

```commandline
git clone https://github.com/XgridInc/xkops.git && cd xkops
```
### Prerequisites
Before installing XkOps, ensure the following:

2. Update values.yaml file and input your specific value for each key.
3. Install XkOps using Helm:
- **Kubernetes Cluster**: A running Kubernetes cluster (EKS, GKE, or another provider).
- **Helm:** Helm 3.x installed to deploy XkOps using Helm charts.
- **kubectl:** Installed and configured to interact with your Kubernetes cluster.

```commandline
helm install xkops ./helm -f values.yml
```
For further details on environment setup, refer to the Prerequisites Documentation.

4. After successful installation, obtain the link of the XkOps frontend service to access the dashboard:
### Installation

```commandline
kubectl get svc -n xkops
```
- Visit the [Artifact Hub](https://artifacthub.io/).
- Search for the XkOps Helm chart.
- Follow the installation instructions provided on the Artifact Hub page.

5. Create an unclaimed volume in your cluster and delete it using the delete button on the dashboard. You can verify the volume deletion action both from the dashboard and the cluster.
For more detailed steps and configurations, refer to the Installation Documentation.

## 🚧 Road Map
## 🗺️ Road Map

To report a new feature request or to report any issues or bugs encountered while using XkOps, please feel free to [create a new issue](https://github.com/XgridInc/xkops/issues "create a new issue") on the project's GitHub repository or contact the development team via [Slack Channel](https://join.slack.com/t/xkopscommunity/shared_invite/zt-1u8xzjvvq-B52TJ2XE861v3KDvpA9UVg). The following features are currently either in progress or planned:

- [X] Checking for observability tools in your Kubernetes cluster.
- [X] Installing tools to mitigate risk.
- [X] Using Robusta to monitor and troubleshoot clusters.
- [X] Employing Kubecost for cost optimization.
- [X] Utilizing Pixie to monitor system performance.
- [x] Deployment using Helm charts.
- [ ] Implementation of a user interface.
- [ ] Utilizing Pixie to monitor system performance.
- [X] Deployment using Helm charts.
- [X] Implementation of a user interface.
- [ ] Determining risk factors based on metrics from your Kubernetes cluster.
- [ ] Extracting logs from pod using a logging solution

Expand Down
21 changes: 15 additions & 6 deletions SECURITY.md

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add the correct versions

Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,23 @@ currently being supported with security updates.
| Version | Supported |
| ------- | ------------------ |
| 5.1.x | :white_check_mark: |
| 5.0.x | :x: |
| 4.0.x | :white_check_mark: |
| < 4.0 | :x: |

## Reporting a Vulnerability
To report a security problem in XkOps, please contact us at xkops@xgrid.co .

Use this section to tell people how to report a vulnerability.
**Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.**

Tell them where to go, how often they can expect to get an update on a
reported vulnerability, what to expect if the vulnerability is accepted or
declined, etc.
Please include as much of the information listed below as you can to help us better understand and resolve the issue:
- The type of issue (e.g., buffer overflow, SQL injection, or cross-site scripting)
- Full paths of source file(s) related to the manifestation of the issue
- The location of the affected source code (tag/branch/commit or direct URL)
- Any special configuration required to reproduce the issue
- Step-by-step instructions to reproduce the issue
- Proof-of-concept or exploit code (if possible)
- Impact of the issue, including how an attacker might exploit the issue

Our team will respond within 7 working days of your email. The team will help diagnose the severity of the issue and determine how to address the issue. Critical issues will receive immediate attention and be fixed as quickly as possible.

## Preferred Languages
We prefer all communications to be in English.
14 changes: 0 additions & 14 deletions charts/stable/index.yaml

This file was deleted.

Binary file removed charts/stable/xkops-0.1.0.tgz
Binary file not shown.
31 changes: 31 additions & 0 deletions documentation/About XkOps/FAQs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# General

- What is XkOps

- Who created XkOps

- What license is XkOps released under?

- Which Kubernetes environments are supported?

- Can I completely self-host XkOps?

# Installation
- What are the requirements for installing XkOps?

- How do I set up a Kubernetes cluster for XkOps?

- How do I install the required tools for XkOps?

- How do I install XkOps?

# Workflows
- What are X-Workflows?

- How do the X-Workflows work?

- What types of workflows are present in XkOps?

- What are the query sources for XkOps?

- How will I get notifications for any issue?
Loading