A Quarkus-based Kubernetes operator for managing pod failure analysis in the Podmortem operator.
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.
The operator manages three main Custom Resource types:
Configures pod failure monitoring for specific workloads:
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
Manages synchronization of failure pattern definitions:
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"
Configures AI services for explanation generation:
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
Key application 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
common-lib
- Shared models and Kubernetes CRD definitions- External Services:
- Log Parser service for pattern analysis
- AI Interface service for explanation generation
./mvnw package
For native compilation:
./mvnw package -Dnative