Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rosesecurity/kuzco

Kuzco reviews your Terraform and OpenTofu resources, compares them to the provider schema to detect unused parameters, and uses AI to suggest improvements
https://github.com/rosesecurity/kuzco

ai cloud go opentofu terraform

Last synced: 6 days ago
JSON representation

Kuzco reviews your Terraform and OpenTofu resources, compares them to the provider schema to detect unused parameters, and uses AI to suggest improvements

Awesome Lists containing this project

README

        

# Kuzco




Enhance your Terraform and OpenTofu configurations with intelligent analysis powered by local LLMs

## Introduction

Here's the **problem**: You spin up a Terraform or OpenTofu resource, pull a basic configuration from the registry, and start wondering what other parameters should be enabled to make it more secure and efficient. Sure, you could use tools like TLint or TFSec, but `kuzco` saves you time by avoiding the need to dig through the Terraform registry and decipher unclear options. It leverages local LLMs to recommend what **should** be enabled and configured. Simply put, `kuzco` reviews your Terraform and OpenTofu resources, compares them to the provider schema to detect unused parameters, and uses AI to suggest improvements for a more secure, reliable, and optimized setup.

## Demo



## Installation

> [!NOTE]
> To use `kuzco`, Ollama must be installed. You can do this by running `brew bundle install` or `brew install ollama`. For more information on customizing Ollama models for tailored Kuzco responses, check out [Customizing Ollama](./docs/Customizing_Ollama.md)

### Go

If you have a functional Go environment, you can install with:

```sh
go install github.com/RoseSecurity/kuzco@latest
```

### Apt

To install packages, you can quickly setup the repository automatically:

```sh
curl -1sLf \
'https://dl.cloudsmith.io/public/rosesecurity/kuzco/setup.deb.sh' \
| sudo -E bash
```

Once the repository is configured, you can install with:

```sh
apt install kuzco=
```

### Source

```sh
git clone [email protected]:RoseSecurity/Kuzco.git
cd Kuzco
make build
```

## Usage

The following configuration options are available:

```sh
❯ kuzco

██  ██ ██  ██ ███████  ██████  ██████
██  ██  ██  ██    ███  ██      ██    ██
█████   ██  ██  ███   ██  ██  ██
██  ██  ██  ██  ███   ██  ██  ██
██  ██  ██████  ███████  ██████  ██████

Intelligently analyze your Terraform and OpenTofu configurations to receive personalized recommendations for boosting efficiency, security, and performance.

Usage:
kuzco [flags]
kuzco [command]

Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
version Print the CLI version

Flags:
-a, --address string IP Address and port to use for the LLM model (ex: http://localhost:11434) (default "http://localhost:11434")
-f, --file string Path to the Terraform and OpenTofu file (required)
-h, --help help for kuzco
-m, --model string LLM model to use for generating recommendations (default "llama3.2")
-p, --prompt string User prompt for guiding the response format of the LLM model
-t, --tool terraform Specifies the configuration tooling for configurations. Valid values include: terraform and opentofu (default "terraform")
```

## Contributing

For bug reports & feature requests, please use the [issue tracker](https://github.com/rosesecurity/kuzco/issues).

PRs are welcome! We follow the typical "fork-and-pull" Git workflow.
1. **Fork** the repo on GitHub
2. **Clone** the project to your own machine
3. **Commit** changes to your own branch
4. **Push** your work back up to your fork
5. Submit a **Pull Request** so that we can review your changes

> [!TIP]
> Be sure to merge the latest changes from "upstream" before making a pull request!

### Many Thanks to Our Contributors