Vault Plugin New 【Genuine — WORKFLOW】
Note on naming: Vault expects a naming convention. For a secrets engine: vault-plugin-secrets-<name> . For an auth method: vault-plugin-auth-<name> . If you deviate from this, Vault will reject the registration. Now that you have a binary ( vault-plugin-secrets-my-crm ), you need to tell Vault about this "new" arrival. This is the functional equivalent of vault plugin new --activate .
But what happens when your infrastructure doesn't fit the standard model? What if you need to integrate with an internal CRM, a legacy mainframe, or a proprietary key management system? vault plugin new
You stop waiting and start building. You enter the world of . Note on naming: Vault expects a naming convention
func main() { meta := &plugin.PluginMeta{ BackendType: "secrets", // or "auth" } plugin.Serve(&plugin.ServeOpts{ BackendCreator: func() (interface{}, error) { return backend.New(), nil }, }) // Defaults to reading PLUGIN_PROTOCOL_VERSION from env } If you deviate from this, Vault will reject the registration
package main import ( "os" "github.com/hashicorp/vault/sdk/plugin" "github.com/your-company/my-crm-plugin/backend" )
Check out the vault plugin CLI help: