{"id":31642082,"url":"https://github.com/abicky/terraform-provider-azurekv","last_synced_at":"2025-10-07T03:44:06.322Z","repository":{"id":315728197,"uuid":"1044203514","full_name":"abicky/terraform-provider-azurekv","owner":"abicky","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-20T09:19:45.000Z","size":51,"stargazers_count":0,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-20T11:30:01.469Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abicky.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-25T10:36:20.000Z","updated_at":"2025-09-20T09:19:48.000Z","dependencies_parsed_at":"2025-09-20T11:30:12.134Z","dependency_job_id":"bcae667f-1d57-48e3-903b-aa7fc018baef","html_url":"https://github.com/abicky/terraform-provider-azurekv","commit_stats":null,"previous_names":["abicky/terraform-provider-azurekv"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/abicky/terraform-provider-azurekv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abicky%2Fterraform-provider-azurekv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abicky%2Fterraform-provider-azurekv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abicky%2Fterraform-provider-azurekv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abicky%2Fterraform-provider-azurekv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abicky","download_url":"https://codeload.github.com/abicky/terraform-provider-azurekv/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abicky%2Fterraform-provider-azurekv/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278717433,"owners_count":26033539,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-07T03:44:03.711Z","updated_at":"2025-10-07T03:44:06.318Z","avatar_url":"https://github.com/abicky.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform Provider for Auzre Key Vault\n\nThe Terraform provider for Azure Key Vault allows you to manage Key Vault secrets without requiring the `Microsoft.KeyVault/vaults/secrets/getSecret/action` permission, by leveraging [write-only arguments](https://developer.hashicorp.com/terraform/language/resources/ephemeral/write-only).\n\nEven if you use [`ignore_changes`](https://developer.hashicorp.com/terraform/language/meta-arguments/lifecycle#ignore_changes) to avoid storing secret values directly in Terraform files, the actual secret values are still written to the state file. Write-only arguments were introduced to solve this problem. However, the [`azurerm_key_vault_secret`](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/key_vault_secret) resource still requires the `Microsoft.KeyVault/vaults/secrets/getSecret/action` permission even if you use write-only arguments. This means you must grant that permission to anyone who runs `terraform plan`.\nThis provider addresses that limitation.\n\n\u003e [!WARNING]\n\u003e Once [hashicorp/terraform-provider-azurerm#29637](https://github.com/hashicorp/terraform-provider-azurerm/pull/29637), which provides the same functionality, is merged, this repository will be archived.\n\n\n## Usage\n\nSee the [provider documentation](https://registry.terraform.io/providers/abicky/azurekv/latest/docs).\n\n## Development\n\nThis provider is built on the [Terraform Plugin Framework](https://github.com/hashicorp/terraform-plugin-framework). If you have questions about the framework, see its documentation.\n\n### Requirements\n\n- [Terraform](https://developer.hashicorp.com/terraform/downloads) \u003e= 1.11\n- [Go](https://golang.org/doc/install) \u003e= 1.24\n\n\n### Build and use provider locally\n\nFirst, build the provider:\n\n```sh\nmake\n```\n\nThen, create a `~/.terraformrc` file:\n\n```terraform\nprovider_installation {\n\n  dev_overrides {\n    \"abicky/azurekv\" = \"/path/to/this-repository/dist\"\n  }\n\n  # For all other providers, install them directly from their origin provider\n  # registries as normal. If you omit this, Terraform will _only_ use\n  # the dev_overrides block, and so no other providers will be available.\n  direct {}\n}\n```\n\nWith the configuration file, Terraform will use your local build of the provider.\n\n\n\u003e [!NOTE]\n\u003e If you use other providers such as the Terraform provider for Azure, you must run `terraform init` before adding this provider to a Terraform file.\n\u003e For more details, see this related issue: [`init` fails for development overrides · Issue #27459 · hashicorp/terraform](https://github.com/hashicorp/terraform/issues/27459).\n\n### Debugging\n\nThe following command builds the provider in debug mode and start [`delve`](https://github.com/go-delve/delve):\n\n```sh\nmake debug\n```\n\nFor details, see [Debugger-Based Debugging](https://developer.hashicorp.com/terraform/plugin/debugging#debugger-based-debugging).\n\n\n### Testing\n\n#### Required permissions\n\nThe tests depend on both this provider and the Terraform provider for Azure to create resource groups, Key Vaults, and Key Vault secrets.\nFor this reason, your user, service principal, or workload identity must have the following permissions in the subscription specified by the `ARM_SUBSCRIPTION_ID` environment variable:\n\n* Actions\n    - Microsoft.Resources/subscriptions/resourceGroups/delete\n    - Microsoft.Resources/subscriptions/resourceGroups/read\n    - Microsoft.Resources/subscriptions/resourceGroups/write\n    - Microsoft.KeyVault/locations/deletedVaults/purge/action\n    - Microsoft.KeyVault/locations/operationResults/read\n    - Microsoft.KeyVault/vaults/delete\n    - Microsoft.KeyVault/vaults/read\n    - Microsoft.KeyVault/vaults/write\n* DataActions\n    - Microsoft.KeyVault/vaults/secrets/delete\n    - Microsoft.KeyVault/vaults/secrets/getSecret/action\n    - Microsoft.KeyVault/vaults/secrets/setSecret/action\n    - Microsoft.KeyVault/vaults/secrets/readMetadata/action\n    - Microsoft.KeyVault/vaults/secrets/setSecret/action\n\n\nTo use the user, service principal, or workload identity in the tests, set all the required configurations using environment variables.\nSince this provider uses the [DefaultAzureCredential](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity#DefaultAzureCredential) for authorization, see its documentations for details.\nFor the Azure provider, see [Authenticating to Azure](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs#authenticating-to-azure).\n\nFor example, if you use a service principal using its client secret, set the following environment variables in addiiton to `ARM_SUBSCRIPTION_ID`:\n\n* ARM_CLIENT_ID\n* ARM_CLIENT_SECRET\n* ARM_TENANT_ID\n* AZURE_CLIENT_ID\n* AZURE_CLIENT_SECRET\n* AZURE_TENANT_ID\n\n\n#### Run tests from scratch\n\n```sh\nexport ARM_SUBSCRIPTION_ID=$YOUR_SUBSCRIPTION_ID\nmake testacc\n```\n\nYou can run specific tests by setting `TESTARGS`:\n\n```sh\nmake testacc TESTARGS='-run=TestAccSecretDataSource_basic'\n```\n\n#### Run tests with existing Key Vault\n\nTo shorten test time, use an existing Key Vault by setting the `KEY_VAULT_ID` environment variable:\n\n```sh\nexport ARM_SUBSCRIPTION_ID=$YOUR_SUBSCRIPTION_ID\nexport KEY_VAULT_ID=/subscriptions/$ARM_SUBSCRIPTION_ID/resourceGroups/$resource_group_name/providers/Microsoft.KeyVault/vaults/$key_vault_name\nmake testacc\n```\n\nUsing an existing Key Vault skips creating and deleting it, reducing test time by more than 10 minutes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabicky%2Fterraform-provider-azurekv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabicky%2Fterraform-provider-azurekv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabicky%2Fterraform-provider-azurekv/lists"}