Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/intuit/katlas
A distributed graph-based platform to automatically collect, discover, explore and relate multi-cluster Kubernetes resources and metadata.
https://github.com/intuit/katlas
discover enterprise graphical k8s kubernetes kubernetes-cluster observability
Last synced: 12 days ago
JSON representation
A distributed graph-based platform to automatically collect, discover, explore and relate multi-cluster Kubernetes resources and metadata.
- Host: GitHub
- URL: https://github.com/intuit/katlas
- Owner: intuit
- License: apache-2.0
- Created: 2018-12-11T10:35:33.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-07-08T08:19:03.000Z (over 1 year ago)
- Last Synced: 2024-08-02T02:15:03.401Z (3 months ago)
- Topics: discover, enterprise, graphical, k8s, kubernetes, kubernetes-cluster, observability
- Language: Go
- Homepage: https://katlas.io
- Size: 3.3 MB
- Stars: 209
- Watchers: 18
- Forks: 28
- Open Issues: 52
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: code-of-conduct.md
- Support: docs/supporting-new-kubernetes-entities.md
Awesome Lists containing this project
README
# K-Atlas
[![Build Status](https://api.travis-ci.org/intuit/katlas.svg?branch=master)](https://www.travis-ci.org/intuit/katlas)
[![codecov](https://codecov.io/gh/intuit/katlas/branch/master/graph/badge.svg)](https://codecov.io/gh/intuit/katlas)
[![Go Report Card](https://goreportcard.com/badge/github.com/intuit/katlas)](https://goreportcard.com/report/github.com/intuit/katlas)
[![Slack Chat](https://img.shields.io/badge/slack-live-orange.svg)](https://katlasio.slack.com/)![](website/assets/images/katlas-logo-blue-300px.png)
## What It Does?
**K-Atlas** \(_pronounced **Cutlass**_\), is a distributed graph based platform to automatically collect, discover, explore and relate multi-cluster Kubernetes resources and metadata. K-Atlas's rich query language allows for simple and efficient exploration and extensibility.
It addresses following problems in a large scale enterprise environment of Kubernetes.
* **Discoverability**
* Find K8s objects across multiple distributed K8s clusters
* Real-time view of discovered objects
* Streaming APIs and UI for both programmatic and human interactions
* **Advanced Exploration**
* Identify similarities and differences between objects from pods to clusters
* Correlate different objects by performing advanced join operations
* **Federated Application View**
* Applications take center stage. K-Atlas provides a unique, application-centric view, with metadata from multiple clusters
* Single pane of glass view of the entire application - from edge to database, across all clusters, regions etc.
* **Reporting**
* Provide advanced reporting on compliance, security and other organizational policies
* **Policy Enforcement**
* Allow for organizational policies to be enforced across the fleet in a consistent mannerCheck out more details on [Motivation and Use Cases](docs/motivation.md) that K-Atlas is addressing.
It provides a Web Viewer that can be used to search the Kubernetes cluster data and view graphical results in real time.
Click on the thumbnail below to see a demo video.
[![KAtlas Demo Video](https://img.youtube.com/vi/jptJy4sTaGw/0.jpg)](https://www.youtube.com/watch?v=jptJy4sTaGw)
## Core Components
![](docs/diagram/K-Atlas.png)
#### Collector
The collector is responsible for discovery of Kubernetes assets in Kubernetes Clusters. For details on the Collector design, please refer [Design Concepts](docs/design-concepts.md)
#### K-Atlas Service
The K-Atlas Service exposes APIs that can be used to get details about Kubernetes entities and run queries to help diagnose issues in Kubernetes clusters. For details , please refer [K-Atlas APIs](docs/rest-apis.md)
#### K-Atlas Browser
The Web Application exposes UI search capability to search clusters based on several criteria and provide a real time graphical view of entities. For details on usage, please Click [here to see a demo](https://www.youtube.com/watch?v=jptJy4sTaGw)
#### Graph Database
Dgraph is used as the graph database. To know more about our motivation to choose Dgraph, please refer [Design Concepts](docs/design-concepts.md)
## Deploying to a Cluster
### Technical Requirements
Make sure you have the following prerequisites:
* A local Go 1.7+ development environment.
* Access to a Kubernetes cluster.### Setup Steps
How to [Set Up](docs/installation.md).
## Releases
#### Latest version (v0.6)
* [x] QSL query support
* [x] Dynamic search result layout based on QSL
* [x] Graph view based on QSL query required objects & relationships
* [x] Pagination support for both API and UI
* [x] Custom metadata definition via new APIMore details about specific K-Atlas features are at [Release Notes](release.md).
## Contributing
We encourage you to get involved with K-Atlas, as users or contributors and help with code reviews.
Read the [contributing guidelines](docs/contributing.md) to learn about building the project, the project structure, and the purpose of each package.