https://github.com/alexw00/puppetmaster
https://github.com/alexw00/puppetmaster
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/alexw00/puppetmaster
- Owner: AlexW00
- Created: 2024-02-09T23:22:57.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-03-15T20:05:30.000Z (over 2 years ago)
- Last Synced: 2025-02-14T11:00:25.975Z (over 1 year ago)
- Language: TypeScript
- Size: 56.6 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Puppetmaster
STATE: `IDEATION`
**Puppetmaster** is an k8s framework for building and running GPT-powered agents, called _puppets_.
_Puppets_ are GPT-powered agents that can have a set of abilities, which they can complete using a set of _tools_.
_Tools_ are stateless _functions_ owned by _puppets_ and used during the execution of abilities.
Furthermore, puppets can interact with other _puppets_ ("friends") and normal containers ("services") by discovering them in the k8s cluster.
The _puppetmaster_ is responsible for managing puppets and friendship/service discovery. By configuring _friendship_ custom resources, you can define which puppets are friends and how they can interact with each other. By configuring _service discovery_ custom resources, you can define how puppets can discover and interact with other containers running in the k8s cluster.
## Components
The Puppetmaster framework consists of the following components:
- [Controller](controller/README.md): The core component of the puppetmaster system. It is responsible for managing puppets and friendship/service discovery.
- [Base](base/README.md): Base image for building _puppets_. Can be used as a base image for building your own, customized puppet images.
- [Helm](helm/README.md): Helm chart used to deploy the Puppetmaster framework to a k8s cluster. Using CRDs, you can define puppets, friendships and service discovery.
## Usage
To build & publish your own puppets, use the [base image](base/README.md) as a base image for your own, customized puppet images. The base image is a web server that creates dynamic routes based on the tasks defined in a [puppet manifest](compiler/README.md).
If you find the base image too restrictive, you can use it as a base image for building your own, customized puppet images.
To deploy the Puppetmaster framework to a k8s cluster, you can use the [puppetmaster helm chart](helm/README.md) and configure it to your needs (e.g. by using your own puppet images and configuring friendships and service discovery).