{"id":20572574,"url":"https://github.com/ffddorf/netbox-vault-secrets","last_synced_at":"2025-04-07T13:09:58.242Z","repository":{"id":40580414,"uuid":"430240256","full_name":"ffddorf/netbox-vault-secrets","owner":"ffddorf","description":"Work In Progress!","archived":false,"fork":false,"pushed_at":"2025-03-17T17:57:51.000Z","size":343,"stargazers_count":78,"open_issues_count":26,"forks_count":11,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-03-31T12:06:39.199Z","etag":null,"topics":["netbox","netbox-plugin","network-automation","secrets","vault"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ffddorf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2021-11-21T00:33:17.000Z","updated_at":"2025-03-28T22:03:00.000Z","dependencies_parsed_at":"2023-01-21T06:20:26.449Z","dependency_job_id":"40117074-defc-40be-9674-8e668fa43824","html_url":"https://github.com/ffddorf/netbox-vault-secrets","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffddorf%2Fnetbox-vault-secrets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffddorf%2Fnetbox-vault-secrets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffddorf%2Fnetbox-vault-secrets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ffddorf%2Fnetbox-vault-secrets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ffddorf","download_url":"https://codeload.github.com/ffddorf/netbox-vault-secrets/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247657281,"owners_count":20974345,"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":["netbox","netbox-plugin","network-automation","secrets","vault"],"created_at":"2024-11-16T05:21:50.142Z","updated_at":"2025-04-07T13:09:58.215Z","avatar_url":"https://github.com/ffddorf.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hashicorp Vault Plugin for Netbox\n\nProvides convenient access to secrets stored in [Hashicorp Vault](https://www.vaultproject.io/) via the Netbox UI. You can attach secrets on a _Device_, _Virtual Machine_ or _Service_. The plugin is intended to serve as a possible replacement for the secrets functionality present in Netbox pre 3.0. The Netbox maintainers recommend replacing it with Vault.\n\nIt will add a card like this:\n\n\u003cimg width=\"405\" alt=\"Screenshot 2021-12-05 at 22 38 29\" src=\"https://user-images.githubusercontent.com/4941459/144764882-e735c08d-468a-40a3-822a-81e2b882ccba.png\"\u003e\n\nThe functionality is entirely client side. The plugin uses Javascript in the browser to access the Vault API directly. Your Netbox installation will never have access to the secrets or authentication credentials in Vault.\n\nSecrets are stored at paths per a simple convention:\n- `/device/{id}/{slug}` for Devices\n- `/vm/{id}/{slug}` for Virtual Machines\n- `/service/{id}/{slug}` for Services\n\n## Installation\n\nThis plugin is not yet available as a PyPi package. Please see the [Releases](https://github.com/ffddorf/netbox-vault-secrets/releases) for downloads.\n\nPlease note that this plugin needs a run of  `python manage.py collectstatic` to work after being configured. For the official Docker image see the [official instructions](https://github.com/netbox-community/netbox-docker/wiki/Using-Netbox-Plugins#custom-docker-file).\n\n## Setup\n\nAfter installing the package, add the plugin to the Netbox configuration.\n\n```py\nPLUGINS = [\"netbox_vault_secrets\"]\n\nPLUGINS_CONFIG = {\n    \"netbox_vault_secrets\": {\n        \"api_url\": \"https://your-vault-deployment/\", # can be relative\n        \"kv_mount_path\": \"/secret\",  # optional\n        \"secret_path_prefix\": \"/netbox\",  # optional\n        \"login_methods\": [\"token\", \"oidc\"], # optional, defaults to [\"token\"]\n        \"oidc\": {\n            \"mount_path\": \"/auth/oidc\", # optional\n            \"roles\": { # optional, will use `default_role` if missing\n                \"demo\": \"Demo Provider\", # maps role name to display name\n            }\n        },\n    }\n}\n```\n\n### Vault CORS settings\n\nNote that if your Vault installation runs at a different _origin_ than Netbox, you need to [enable CORS](https://www.vaultproject.io/api/system/config-cors).\n\nYou can use this command (requires `sudo` privileges):\n\n```sh\nvault write /sys/config/cors enabled=true allowed_origins=\"*\"\n```\n\nYou can also set only the hostname of your Netbox deployment as an allowed origin.\n\nAlternatively, proxy the Vault API on a subpath in your Netbox deployment, thereby moving it to the same origin, so no CORS setup is required.\n\n### Vault OIDC Role Setup\n\nThe minimal settings required on the role used for OIDC with the plugin are:\n\n```sh\nvault write auth/oidc/role/\u003crole name\u003e allowed_redirect_uris=\"https://\u003cyour netbox\u003e/plugins/vault/callback\" ttl=1h\n```\n\nYou should attach a policy similar to this to users who are going to use it:\n\n```hcl\npath \"secret/metadata/netbox/*\" {\n    capabilities = [\"create\", \"read\", \"update\", \"delete\", \"list\"]\n}\npath \"secret/data/netbox/*\" {\n    capabilities = [\"create\", \"read\", \"update\", \"delete\", \"list\"]\n}\n```\n\n## License\n\nThis code is licensed under the [2-clause BSD license](LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fffddorf%2Fnetbox-vault-secrets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fffddorf%2Fnetbox-vault-secrets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fffddorf%2Fnetbox-vault-secrets/lists"}