Coredog is an open-source project designed to monitor and manage core dumps in a Kubernetes cluster. It automatically detects core files generated by applications running in the cluster, uploads them to an S3-compatible object storage system, and provides pre-signed S3 download links to all developers through instant messaging software.
- Architecture
- Features
- Prerequisites
- Getting Started
- Configuration
- Deployment
- Usage
- License
- Contributors
The above diagram represents the high-level architecture of Coredog. It showcases the key components and their interactions.
- Real-time monitoring of core files generated in the Kubernetes cluster
- Automatic upload of core files to an S3-compatible object storage system
- Pre-signed S3 download links shared with all developers via instant messaging software
- Easy configuration and deployment using Helm charts
Before deploying Coredog, ensure that you have the following prerequisites:
- A Kubernetes cluster with at least one node
- A running instance of an S3-compatible object storage system (e.g., MinIO, Amazon S3)
- An instant messaging software that supports sharing pre-signed URLs (e.g., Slack, Microsoft Teams)
- Helm installed on your local machine
To get started with Coredog, clone the repository to your local machine:
git clone https://github.com/DomineCore/coredog.git
cd coredog
Before deploying Coredog, you need to update the charts/values.yaml
file with your S3-compatible object storage system and instant messaging software settings. Here's a brief overview of the available configuration options:
config:
watcher.yaml: |-
ScrapePaths: ["/core/dump"]
StorageConfig:
enabled: true
protocol: s3
s3AccesskeyID: "s3AccesskeyID"
s3SecretAccessKey: "s3SecretAccessKey"
s3Region: "ap-nanjing"
S3Bucket: "bucket"
S3Endpoint: "endpoint"
StoreDir: corefiles
PresignedURLExpireSeconds: 3600
controller.yaml: |-
NoticeChannel:
- chan: slack
webhookurl: "url" ##
- chan: wechat
webhookurl: "url"
## Define your corefile source storage
corefileVolume:
type: hostPath
name: corefile
hostPath:
path: /root/core
type: Directory
emptyDir: {}
persistentVolumeClaim:
claimName: my-pvc
To deploy Coredog to your Kubernetes cluster using Helm, navigate to the charts
directory and run the following command:
helm install coredog ./coredog
This will create a new Helm release named coredog
and deploy the Coredog chart to your Kubernetes cluster.
Once Coredog is deployed, it will automatically monitor the Kubernetes cluster for core files and upload them to the specified S3-compatible object storage system. Pre-signed S3 download links will be shared with all developers through the specified instant messaging software.
Coredog is licensed under the MIT License.
Core |
ZhaiShaoww |
Levvli |