Skip to content

Commit

Permalink
Merge branch 'main' into Matvey-Kuk/bypass-ssl-for-cli
Browse files Browse the repository at this point in the history
  • Loading branch information
Matvey-Kuk authored Dec 30, 2024
2 parents 6e1e11f + 9c5a6d5 commit 1a7cdcb
Show file tree
Hide file tree
Showing 104 changed files with 2,846 additions and 1,086 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -214,3 +214,8 @@ oauth2.cfg
scripts/keep_slack_bot.py
keepnew.db
providers_cache.json

tests/provision/*
grafana/*
!grafana/provisioning/
!grafana/dashboards/
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -551,6 +551,12 @@
Azure AKS
</a>
</td>
<td align="center" width="150">
<a href="https://docs.keephq.dev/providers/documentation/argocd-provider" target="_blank">
<img width="40" src="keep-ui/public/icons/argocd-icon.png" alt="ArgoCD"/><br/>
ArgoCD
</a>
</td>
<td align="center" width="150">
<a href="https://docs.keephq.dev/providers/documentation/gke-provider" target="_blank">
<img width="40" src="keep-ui/public/icons/gke-icon.png" alt="GKE"/><br/>
Expand Down
58 changes: 0 additions & 58 deletions STRESS.md

This file was deleted.

30 changes: 30 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,33 @@ services:
extends:
file: docker-compose.common.yml
service: keep-websocket-server-common

grafana:
image: grafana/grafana:latest
profiles:
- grafana
ports:
- "3001:3000"
volumes:
- ./grafana:/var/lib/grafana
- ./grafana/provisioning:/etc/grafana/provisioning
- ./grafana/dashboards:/etc/grafana/dashboards
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
- GF_USERS_ALLOW_SIGN_UP=false
depends_on:
- prometheus

prometheus:
image: prom/prometheus:latest
profiles:
- grafana
ports:
- "9090:9090"
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
command:
- "--config.file=/etc/prometheus/prometheus.yml"
depends_on:
- keep-backend
18 changes: 18 additions & 0 deletions docs/deployment/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -220,6 +220,24 @@ ARQ (Asynchronous Task Queue) configuration controls Keep's background task proc
| **ARQ_EXPIRES** | Default job expiration time (in seconds) | No | 3600 | Positive integer |
| **ARQ_EXPIRES_AI** | AI job expiration time (in seconds) | No | 3600000 | Positive integer |

### Rate Limiting
<Info>
Rate limiting configuration controls how many requests can be made to Keep's API endpoints within a specified time period. This helps prevent abuse and ensures system stability.
</Info>

| Env var | Purpose | Required | Default Value | Valid options |
|:-------------------:|:-------:|:----------:|:-------------:|:-------------:|
| **KEEP_USE_LIMITER** | Enables or disables rate limiting | No | "false" | "true" or "false" |
| **KEEP_LIMIT_CONCURRENCY** | Sets the rate limit for API endpoints | No | "100/minute" | Format: "{number}/{interval}" where interval can be "second", "minute", "hour", "day" |

<Note>
Currently, rate limiting is applied to the following endpoints:
- POST `/alerts/event` - Generic event ingestion endpoint
- POST `/alerts/{provider_type}` - Provider-specific event ingestion endpoints

These endpoints are rate-limited according to the `KEEP_LIMIT_CONCURRENCY` setting when `KEEP_USE_LIMITER` is enabled.
</Note>

## Frontend Environment Variables
<Info>
Frontend configuration variables control the behavior and features of Keep's user interface. These settings are crucial for customizing the frontend's appearance, functionality, and integration with the backend services.
Expand Down
1 change: 1 addition & 0 deletions docs/mint.json
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@
"pages": [
"providers/documentation/aks-provider",
"providers/documentation/appdynamics-provider",
"providers/documentation/argocd-provider",
"providers/documentation/auth0-provider",
"providers/documentation/axiom-provider",
"providers/documentation/azuremonitoring-provider",
Expand Down
38 changes: 38 additions & 0 deletions docs/providers/documentation/argocd-provider.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
title: "ArgoCD Provider"
sidebarTitle: "ArgoCD Provider"
description: "The ArgoCD provider enables you to pull topology and Application data."
---

## Overview

The **ArgoCD Provider** facilitates pulling Topology and Application data from ArgoCD.
ArgoCD Applications are mapped to Keep Services
ArgoCD ApplicationSets are mapped to Keep Applcations

## Authentication Parameters

- **ArgoCD Access Token** (required): Access token for authenticating with ArgoCD's API.
- **Deployment Url** (required): Deployment URL for connecting to the ArgoCD instance (e.g., `https://localhost:8080`).

## Scopes

- **authenticated**: Mandatory for all operations, ensures the user is authenticated.

## Connecting with the Provider

1. Obtain the **access token** from your ArgoCD instance by following `Generate auth token` from [ArgoCD's User management docs](https://argo-cd.readthedocs.io/en/latest/operator-manual/user-management/#manage-users).
2. Set the **deployment URL** to your ArgoCD instance's base URL (e.g., `https://localhost:8080`).

## Features

The **ArgoCD Provider** supports the following key features:

- **Topology**: Configures the Topology usin the applications from ArgoCD.
- **Applications**: Creates Applications using the ApplicationSets from ArgoCD.


## Useful Links

- [ArgoCD API Documentation](https://argo-cd.readthedocs.io/en/latest/developer-guide/api-docs)
- [ArgoCD User Management](https://argo-cd.readthedocs.io/en/latest/operator-manual/user-management/#local-usersaccounts)
8 changes: 8 additions & 0 deletions docs/providers/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,14 @@ By leveraging Keep Providers, users are able to deeply integrate Keep with the t
}
></Card>

<Card
title="ArgoCD"
href="/providers/documentation/argocd-provider"
icon={
<img src="https://github.com/keephq/keep/blob/main/keep-ui/public/icons/argocd-icon.png?raw=true" />
}
></Card>

<Card
title="Axiom"
href="/providers/documentation/axiom-provider"
Expand Down
Loading

0 comments on commit 1a7cdcb

Please sign in to comment.