Incident Assistant is a Kubernetes agent designed to assist in incident management by watching for events within a Kubernetes cluster and handling them accordingly.
- Dynamic Resource Watching: Watches for events on dynamically discovered Kubernetes resources.
- Event Handling: Processes events for added, modified, and deleted resources.
- Change Detection: Computes and logs the differences between the old and new states of modified objects.
- Protobuf Service: Includes a protobuf service definition for emitting image change events.
- Deployment Resources: Provides Kubernetes deployment manifests for easy setup.
- A running Kubernetes cluster or Minikube for local development.
- Docker for building the container image.
To deploy the Incident Assistant controller to your Kubernetes cluster, follow these steps:
-
Build the Docker image:
docker build -t incidentassistant-controller .
-
Load the image into Minikube (if using Minikube):
minikube image load incidentassistant-controller
-
Apply the Kubernetes manifests:
kubectl apply -f install.yaml
To build the binary for the Incident Assistant AI controller, run:
go build -o controller ./cmd/controller
To generate Go files from the protobuf definition, run:
protoc --go_out=. --go-grpc_out=. ./proto/imagechange/imagechange.proto
Contributions to the Incident Assistant AI project are welcome! Please follow the standard GitHub pull request workflow to submit your changes.
This project is licensed under the Apache License 2.0.
This project uses the following open-source packages: