Skip to content

Automatic SRE Superpowers within your Kubernetes cluster

License

Notifications You must be signed in to change notification settings

fyuan1316/k8sgpt-operator

Repository files navigation

Text changing depending on mode. Light: 'So light!' Dark: 'So dark!'

This Operator is designed to enable K8sGPT within a Kubernetes cluster. It will allow you to create a custom resource that defines the behaviour and scope of a managed K8sGPT workload. Analysis and outputs will also be configurable to enable integration into existing workflows.

Architecture

Run the example

  1. Install custom resources:
make install
  1. Build and push your image to the location specified by IMG:
make docker-build docker-push IMG=<some-registry>/k8sgpt-operator:tag
  1. Deploy the controller to the cluster with the image specified by IMG:
make deploy IMG=<some-registry>/k8sgpt-operator:tag
  1. Create secret:
kubectl create secret generic k8sgpt-sample-secret --from-literal=openai-api-key=$OPENAI_TOKEN -n default
  1. Apply the K8sGPT configuration object:
kubectl apply -f config/samples/core_v1alpha1_k8sgpt.yaml

Uninstall CRDs

To delete the CRDs from the cluster:

make uninstall

Undeploy controller

UnDeploy the controller from the cluster:

make undeploy
Contributing

Contributing

// TODO(user): Add detailed information on how you would like others to contribute to this project

How it works

This project aims to follow the Kubernetes Operator pattern.

It uses Controllers, which provide a reconcile function responsible for synchronizing resources until the desired state is reached on the cluster.

Attach from local

  1. Install the CRDs into the cluster:
make install
  1. Run your controller (this will run in the foreground, so switch to a new terminal if you want to leave it running):
make run

NOTE: You can also run this in one step by running: make install run

Modifying the API definitions

If you are editing the API definitions, generate the manifests such as CRs or CRDs using:

make manifests

NOTE: Run make --help for more information on all potential make targets

More information can be found via the Kubebuilder Documentation

About

Automatic SRE Superpowers within your Kubernetes cluster

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 80.3%
  • Makefile 13.5%
  • Smarty 2.9%
  • Dockerfile 2.4%
  • Shell 0.9%