{"id":24637953,"url":"https://github.com/upbound/provider-vault","last_synced_at":"2025-05-08T23:45:19.000Z","repository":{"id":185042605,"uuid":"632073919","full_name":"upbound/provider-vault","owner":"upbound","description":"A Crossplane provider for HashiCorp Vault","archived":false,"fork":false,"pushed_at":"2025-04-28T17:29:19.000Z","size":3232,"stargazers_count":24,"open_issues_count":33,"forks_count":19,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-05-08T23:45:11.355Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/upbound.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-04-24T16:50:01.000Z","updated_at":"2025-04-30T12:01:32.000Z","dependencies_parsed_at":"2024-12-11T10:22:27.381Z","dependency_job_id":"b8712224-6289-4e93-812b-49170d42bdca","html_url":"https://github.com/upbound/provider-vault","commit_stats":null,"previous_names":["upbound/provider-vault"],"tags_count":12,"template":false,"template_full_name":"crossplane/upjet-provider-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upbound%2Fprovider-vault","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upbound%2Fprovider-vault/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upbound%2Fprovider-vault/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upbound%2Fprovider-vault/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upbound","download_url":"https://codeload.github.com/upbound/provider-vault/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253166474,"owners_count":21864467,"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","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-01-25T10:12:37.097Z","updated_at":"2025-05-08T23:45:18.968Z","avatar_url":"https://github.com/upbound.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Provider Vault\n\n`provider-vault` is a [Crossplane](https://crossplane.io/) provider that\nis built using [Upjet](https://github.com/crossplane/upjet) code\ngeneration tools and exposes XRM-conformant managed resources for the\nVault API.\n\n## Prerequisites\n\nThis provider interacts with HashiCorp Vault. \nTo test it you will need Vault installed. \nVault has many options and various ways for how\nit can be installed. We will use a very simple\ninstallation approach to show how to test the\nprovider-vault manually per below. To test this\nprovider-vault using automated tests, please\nrun `make e2e`. This will create, initialize\nand unseal a copy of Vault against which the\nautomated tests are running. The list of tests\nis specified in the `Makefile` variable\n`UPTEST_EXAMPLE_LIST`. The tests it runs are\nspecified in the `examples` directory.\n\nCreate a vault namespace.\n```\nkubectl create namespace vault\n```\n\nAdd hashicorp to your helm repo.\n```\nhelm repo add hashicorp https://helm.releases.hashicorp.com\n```\n\nInstall vault. Note that the vault-0 pod\nwill not be ready until vault is unsealed.\nThis is expected behavior.\n```\nhelm install vault hashicorp/vault -n vault\n```\n\nInitialize and unseal vault.\n```\nkubectl exec -it vault-0 -n vault -- sh\n```\n\nInside of the vault pod, initialize it.\n```\nvault operator init\n```\nMake note of the root key and the unseal keys.\n\nUnseal vault 3 times with a different key.\n```\nvault operator unseal\n```\n\nVerify that vault is unsealed.\n```\nvault status\n```\n\nFrom the commandline, forward the vault pod port.\n```\nkubectl port-forward vault-0 -n vault 8200:8200\n```\n\nUpdate the examples/providerconfig/secret.yaml.tmpl\nwith your root token or an access token that was\ncreated in Vault for your provider. Note that \nthis token should not be accessible \nby cluster operators, only by Vault admins.\n\nApply provider-vault package/crds.\n```\nkubectl apply -f package/crds\n```\n\nApply the secret.\n```\nkubectl apply -f providerconfig/secret.yaml.tmpl\n```\n\nApply the provider config.\n```\nkubectl apply -f providerconfig/providerconfig.yaml\n```\n\n## Getting Started\n\nInstall the provider by using the following command after changing the image tag\nto the [latest release](https://marketplace.upbound.io/providers/upbound/provider-vault):\n```\nup ctp provider install upbound/provider-vault:v0.1.0\n```\n\nAlternatively, you can use declarative installation:\n```\ncat \u003c\u003cEOF | kubectl apply -f -\napiVersion: pkg.crossplane.io/v1\nkind: Provider\nmetadata:\n  name: provider-vault\nspec:\n  package: xpkg.upbound.io/upbound/provider-vault:v0.1.0\nEOF\n```\n\nNotice that in this example Provider resource is referencing ControllerConfig with debug enabled.\n\nYou can see the API reference [here](https://doc.crds.dev/github.com/upbound/provider-vault).\n\n## Developing\n\nInitialize the repository with\n```bash\nmake submodules\n```\n\nRun code-generation pipeline:\n```bash\nmake generate\n```\n\nRun against a Kubernetes cluster:\n\n```bash\nmake run\n```\n\nBuild, push, and install:\n\n```bash\nmake all\n```\n\nBuild binary, image and Crossplane package (xpkg):\n\n```bash\nmake build\n# to build all architectures / platforms, use:\nmake -j2 build.all\n```\n\n## Report a Bug\n\nFor filing bugs, suggesting improvements, or requesting new features, please\nopen an [issue](https://github.com/upbound/provider-vault/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupbound%2Fprovider-vault","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupbound%2Fprovider-vault","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupbound%2Fprovider-vault/lists"}