8ca6c39c66
Populate the repo with the Terraform/OpenTofu provider that manages the LiteLLM dynamic secrets engine on Vault/OpenBao via the Vault API. - Provider (VAULT_ADDR/VAULT_TOKEN) with resources litellmvaultsecret_secret_backend (mount + config) and litellmvaultsecret_secret_backend_role (models, max_budget, ttl/max_ttl in seconds, metadata) - Unit tests against a mock Vault API - End-to-end test: builds the sibling plugin, boots Vault + LiteLLM + Postgres, and runs a real terraform apply/destroy asserting key generation works - Makefile, woodpecker CI (build/test/pre-commit), examples, README
29 lines
555 B
Go
29 lines
555 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"flag"
|
|
"log"
|
|
|
|
"github.com/hashicorp/terraform-plugin-framework/providerserver"
|
|
|
|
"git.unkin.net/unkin/terraform-provider-litellmvaultsecret/internal/provider"
|
|
)
|
|
|
|
var version = "0.0.1"
|
|
|
|
func main() {
|
|
var debug bool
|
|
flag.BoolVar(&debug, "debug", false, "enable debug mode")
|
|
flag.Parse()
|
|
|
|
opts := providerserver.ServeOpts{
|
|
Address: "git.unkin.net/unkin/litellmvaultsecret",
|
|
Debug: debug,
|
|
}
|
|
|
|
if err := providerserver.Serve(context.Background(), provider.New(version), opts); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|