https://github.com/podmortem/operator
Kubernetes operator for managing pod failure analysis in the Podmortem operator
https://github.com/podmortem/operator
ai devops failure-analysis incident-response kubernetes log-analysis mlops observability ollama openai operator pattern-matching pattern-recognition quarkus troubleshooting vllm
Last synced: 3 months ago
JSON representation
Kubernetes operator for managing pod failure analysis in the Podmortem operator
- Host: GitHub
- URL: https://github.com/podmortem/operator
- Owner: podmortem
- License: apache-2.0
- Created: 2025-06-19T19:57:37.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-12T14:24:37.000Z (10 months ago)
- Last Synced: 2025-08-15T00:10:01.705Z (10 months ago)
- Topics: ai, devops, failure-analysis, incident-response, kubernetes, log-analysis, mlops, observability, ollama, openai, operator, pattern-matching, pattern-recognition, quarkus, troubleshooting, vllm
- Language: Java
- Homepage:
- Size: 187 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# operator
[](https://sonarcloud.io/summary/new_code?id=podmortem_operator)
> A Quarkus-based Kubernetes operator for managing pod failure analysis in the Podmortem operator.
## Overview
This operator manages the lifecycle of Podmortem Custom Resources and orchestrates pod failure analysis workflows. It provides real-time pod monitoring, pattern library synchronization, and coordinates between log parsing and AI analysis services.
## Custom Resources
The operator manages three main Custom Resource types:
### Podmortem
Configures pod failure monitoring for specific workloads:
```yaml
apiVersion: podmortem.redhat.com/v1
kind: Podmortem
metadata:
name: quarkus-app-monitor
spec:
podSelector:
matchLabels:
app: quarkus-app
aiAnalysisEnabled: true
aiProviderRef:
name: openai-provider
namespace: podmortem-system
```
### PatternLibrary
Manages synchronization of failure pattern definitions:
```yaml
apiVersion: podmortem.redhat.com/v1
kind: PatternLibrary
metadata:
name: quarkus-patterns
spec:
repositories:
- name: core-patterns
url: https://github.com/redhat/podmortem-patterns.git
branch: main
refreshInterval: "1h"
```
### AIProvider
Configures AI services for explanation generation:
```yaml
apiVersion: podmortem.redhat.com/v1
kind: AIProvider
metadata:
name: openai-provider
spec:
providerId: openai
apiUrl: https://api.openai.com/v1
modelId: gpt-3.5-turbo
authenticationRef:
secretName: openai-credentials
secretKey: api-key
```
## Configuration
Key application properties:
```properties
# REST Client configurations
quarkus.rest-client.log-parser.url=http://log-parser:8080
quarkus.rest-client.ai-interface.url=http://ai-interface:8080
# Kubernetes client configuration
quarkus.kubernetes-client.trust-certs=true
quarkus.kubernetes-client.namespace=podmortem-system
```
## Dependencies
- `common-lib` - Shared models and Kubernetes CRD definitions
- **External Services**:
- Log Parser service for pattern analysis
- AI Interface service for explanation generation
## Building
```bash
./mvnw package
```
For native compilation:
```bash
./mvnw package -Dnative
```