https://github.com/glueops/pull-request-bot
This repository contains a Pull Request bot that monitors ArgoCD applications in a Kubernetes cluster. It automatically adds comments to pull requests with deployment preview URLs, metrics, logs, and QR codes. The bot integrates with GitHub APIs and ArgoCD to provide real-time deployment feedback.
https://github.com/glueops/pull-request-bot
argocd argocd-automation bot deployment-feedback deployment-preview docker ephemeral-environments github github-integration kubernetes monitoring preview preview-environment pull-request-bot pull-requests qr-code
Last synced: 4 months ago
JSON representation
This repository contains a Pull Request bot that monitors ArgoCD applications in a Kubernetes cluster. It automatically adds comments to pull requests with deployment preview URLs, metrics, logs, and QR codes. The bot integrates with GitHub APIs and ArgoCD to provide real-time deployment feedback.
- Host: GitHub
- URL: https://github.com/glueops/pull-request-bot
- Owner: GlueOps
- Created: 2023-02-06T21:09:37.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-16T10:04:34.000Z (about 1 year ago)
- Last Synced: 2024-12-16T13:14:27.916Z (about 1 year ago)
- Topics: argocd, argocd-automation, bot, deployment-feedback, deployment-preview, docker, ephemeral-environments, github, github-integration, kubernetes, monitoring, preview, preview-environment, pull-request-bot, pull-requests, qr-code
- Language: Python
- Homepage:
- Size: 78.1 KB
- Stars: 3
- Watchers: 5
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# pr-bot
## Requirements
- You need a k8s cluster.
- You need to deploy the resources below before to the `glueops-core` cluster
- You need a git provider api token (Ex. Github Personal Access Token)
- You need a captain domain
```yaml
---
apiVersion: v1
kind: Secret
metadata:
name: git-provider-api-token
type: Opaque
data:
token:
---
apiVersion: v1
kind: ConfigMap
metadata:
name: glueops-captain-domain
data:
captain_domain:
---
```
## Running the app
- Ensure you have the following set in your ```.env``` file (at **root** foolder):
```bash
export GITHUB_TOKEN=
```
For cloud specific setup (to be authenticated to the captain cluster), check [here](https://github.com/GlueOps/terraform-module-cloud-aws-kubernetes-cluster/wiki)
- Then run
```python
python main.py
```