Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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 and fixes
https://github.com/rosesecurity/kuzco
ai cli 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 and fixes
- Host: GitHub
- URL: https://github.com/rosesecurity/kuzco
- Owner: RoseSecurity
- License: apache-2.0
- Created: 2024-09-17T03:43:16.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-12-10T14:18:45.000Z (13 days ago)
- Last Synced: 2024-12-10T15:25:45.768Z (13 days ago)
- Topics: ai, cli, cloud, go, opentofu, terraform
- Language: Go
- Homepage:
- Size: 528 KB
- Stars: 106
- Watchers: 1
- Forks: 4
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
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)### Homebrew
```sh
brew install kuzco
```### 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 and fixes for boosting efficiency, security, and performance.
Usage:
kuzco [flags]
kuzco [command]Available Commands:
completion Generate the autocompletion script for the specified shell
fix Diagnose configuration errors
help Help about any command
list Lists available Ollama models
recommend Intelligently analyze your Terraform and OpenTofu configurations
version Print the CLI versionFlags:
-h, --help help for kuzcoUse "kuzco [command] --help" for more information about a command.
```## 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