78ba0011f9
Configure the arrstack Vault secrets engine (backend config + roles) from terraform-vault, matching the schema declared in terraform-vault #127. - Add terraform-plugin-framework provider (local name arrstack) authenticating to Vault/OpenBao via address + token (VAULT_ADDR/VAULT_TOKEN fallback). - Add arrstack_secret_backend resource: mounts the engine and writes <mount>/config. - Add arrstack_secret_backend_role resource: manages <mount>/roles/<name>. - Add Vault client, conversions, unit tests, Makefile, woodpecker CI + tag release to artifactapi terraform-unkin, examples, and README.
33 lines
856 B
Go
33 lines
856 B
Go
// Command terraform-provider-vault-secrets-arrstack is the Terraform/OpenTofu
|
|
// provider for the vault-plugin-secrets-arrstack secrets engine: it manages the
|
|
// engine's mount + connection config and its arrproxy API-key roles on
|
|
// HashiCorp Vault or OpenBao.
|
|
package main
|
|
|
|
import (
|
|
"context"
|
|
"flag"
|
|
"log"
|
|
|
|
"github.com/hashicorp/terraform-plugin-framework/providerserver"
|
|
|
|
"git.unkin.net/unkin/terraform-provider-vault-secrets-arrstack/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: "artifactapi.k8s.syd1.au.unkin.net/terraform-unkin/vault-secrets-arrstack",
|
|
Debug: debug,
|
|
}
|
|
|
|
if err := providerserver.Serve(context.Background(), provider.New(version), opts); err != nil {
|
|
log.Fatal(err)
|
|
}
|
|
}
|