Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kyma-incubator/compass
A flexible and easy way to register, manage and group your applications
https://github.com/kyma-incubator/compass
Last synced: 4 days ago
JSON representation
A flexible and easy way to register, manage and group your applications
- Host: GitHub
- URL: https://github.com/kyma-incubator/compass
- Owner: kyma-incubator
- License: apache-2.0
- Created: 2019-05-14T09:28:13.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-04-24T09:23:27.000Z (7 months ago)
- Last Synced: 2024-04-24T10:03:26.566Z (7 months ago)
- Language: Go
- Homepage:
- Size: 47.1 MB
- Stars: 36
- Watchers: 19
- Forks: 84
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
## :warning: This repository has been deprecated and archived. :warning:
## Overview
Compass is a central, multi-tenant system that allows you to connect Applications and manage them across multiple [Kyma Runtimes](./docs/compass/02-01-components.md#kyma-runtime). Using Compass, you can control and monitor your Application landscape in one central place. As an integral part of Kyma, Compass uses a set of features that Kyma provides, such as Istio, Prometheus and Monitoring. It also includes Compass UI Cockpit that exposes Compass APIs to users.
Compass allows you to:
- Connect and manage Applications and Kyma Runtimes in one central place
- Store Applications and Runtimes configurations
- Group Applications and Runtimes to enable integration
- Communicate the configuration changes to Applications and Runtimes
- Establish a trusted connection between Applications and Runtimes using various authentication methodsCompass by design does not participate in direct communication between Applications and Runtimes. It only sets up the connection. In case the cluster with Compass is down, the Applications and Runtimes cooperation still works.
For more information about the Compass architecture, technical details, and components, read the project [documentation](./docs).
## Prerequisites
- [Docker](https://www.docker.com/get-started)
- [k3d](https://github.com/k3d-io/k3d) v5.2.2+
- [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) 1.25.0+
- [Kyma CLI](https://github.com/kyma-project/cli) 2.13.2
- [helm](https://github.com/helm/helm) v3.8.0+
- [yq](https://github.com/mikefarah/yq) v4+## Installation
Install Compass locally or on a cluster. See the [Installation](https://github.com/kyma-incubator/compass/blob/main/docs/compass/04-01-installation.md) document for details.
### Dependencies
Compass depends on [Kyma](https://github.com/kyma-project/kyma).
For installation and CI integration jobs, a fixed Kyma version is used, which can be checked at `./installation/resources/KYMA_VERSION`.## Testing
Compass uses [Octopus](https://github.com/kyma-incubator/octopus/blob/master/README.md) for testing both locally and on a cluster. To run the Compass tests, use this script:
```bash
./installation/scripts/testing.sh
```## Usage
Currently, the Compass Gateway is accessible under three different hosts secured with different authentication methods:
- `https://compass-gateway.{domain}` - secured with JWT token issued by an identity service
- `https://compass-gateway-mtls.{domain}` - secured with client certificates (mTLS)
- `https://compass-gateway-auth-oauth.{domain}` - secured with OAuth 2.0 access token issued by [Hydra](https://kyma-project.io/docs/components/security/#details-o-auth2-and-open-id-connect-server)You can access Director GraphQL API under the `/director/graphql` endpoint, and Connector GraphQL API under `/connector/graphql`.
To access Connectivity Adapter, use the `https://adapter-gateway.{DOMAIN}` host secured with one-time tokens or `https://adapter-gateway-mtls.{DOMAIN}` secured with client certificates (mTLS).