Skip to content

edwardtheharris/k8s-operator-agent

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

abstract authors date title
Kubernetes Operator Agent is a LLM agent that is deployed as an operator in Kubernetes.
name email
Xander Harris
2024-08-04
Readme

Quality Gate Status Coverage Status

Kubernetes Operator Agent

Development

This project uses Skaffold and Helm for development. Please make sure you have them installed on your machine.

Python

The main code is written in Python, which may be formatted with either PyDantic or Black.

Prerequisites

  1. Access to a running Kubernetes cluster or the ability to create one.
  2. Python
  3. LangChain
  4. Helm

Bare Metal Deployment

The process for this follows.

  1. Build the agent image and push it to a public or local image repository.

    docker build -t dockerhubuser/agent:0.0.1 .
  2. Configure the redis-stack application's required storage class settings.

    # values.yaml
    # This is necessary only if you need to override the default `hostpath` storageClass.
    redis-stack-server:
      redis_stack_server:
        storage_class: csi-lvm-linear
  3. Configure the image repository and tag settings.

    # values.yaml
    image:
      repository: dockerhubuser/agent
      tag: 0.0.1
  4. Obtain an OpenAPI API key and configure its value for the deployment.

    # secrets/values.yaml
    envVars:
      OPENAI_API_KEY: base64-encoded-api-key
  5. Create a namespace for the agent.

    kubectl create ns agent
  6. Deploy the agent with Helm using the values shown above.

    helm upgrade --install -n agent agent deployment/helm/k8s-agent -f secrets/values.yaml -f values.yaml

Packages

 
 
 

Languages

  • Shell 32.2%
  • Jupyter Notebook 25.6%
  • Python 19.8%
  • TypeScript 14.7%
  • Smarty 4.0%
  • Mustache 2.1%
  • Other 1.6%