{"id":30883296,"url":"https://github.com/globocom/vault","last_synced_at":"2025-09-08T09:44:23.586Z","repository":{"id":21683867,"uuid":"25005097","full_name":"globocom/vault","owner":"globocom","description":"Admin webapp for Openstack's Keystone and Swift","archived":false,"fork":false,"pushed_at":"2025-05-26T17:45:07.000Z","size":4068,"stargazers_count":22,"open_issues_count":16,"forks_count":11,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-07-05T06:53:55.818Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/globocom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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}},"created_at":"2014-10-09T19:28:58.000Z","updated_at":"2024-12-06T16:19:17.000Z","dependencies_parsed_at":"2024-06-19T06:11:35.596Z","dependency_job_id":"d2dd59b3-3af6-463c-94a6-69eca9bc0d7a","html_url":"https://github.com/globocom/vault","commit_stats":{"total_commits":491,"total_committers":11,"mean_commits":44.63636363636363,"dds":0.6476578411405296,"last_synced_commit":"7e529bf6fbe5cff099653fbd911e42b867f5928d"},"previous_names":[],"tags_count":94,"template":false,"template_full_name":null,"purl":"pkg:github/globocom/vault","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/globocom%2Fvault","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/globocom%2Fvault/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/globocom%2Fvault/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/globocom%2Fvault/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/globocom","download_url":"https://codeload.github.com/globocom/vault/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/globocom%2Fvault/sbom","scorecard":{"id":430101,"data":{"date":"2025-08-11","repo":{"name":"github.com/globocom/vault","commit":"04ebc05fbb3c091be30c036805dc720c1e500cea"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.6,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE.txt:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE.txt:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: helpers/docker/keystone/Dockerfile:1: pin your Docker image by updating python:2.7-stretch to python:2.7-stretch@sha256:548e680020444b0f6ddc4c7b0c24964d1af5f47cd2e2b3b44d742852b8b09cfc","Warn: containerImage not pinned by hash: helpers/docker/swift/Dockerfile:1: pin your Docker image by updating ubuntu:18.04 to ubuntu:18.04@sha256:152dc042452c496007f07ca9127571cb9c29697f42acbfad72324b2bb2e43c98","Warn: containerImage not pinned by hash: helpers/docker/vault/Dockerfile:1: pin your Docker image by updating python:3.7 to python:3.7@sha256:eedf63967cdb57d8214db38ce21f105003ed4e4d0358f02bedc057341bcf92a0","Warn: pipCommand not pinned by hash: helpers/docker/keystone/Dockerfile:10-17","Warn: pipCommand not pinned by hash: helpers/docker/keystone/Dockerfile:10-17","Warn: pipCommand not pinned by hash: helpers/docker/keystone/Dockerfile:25-26","Warn: pipCommand not pinned by hash: helpers/docker/keystone/Dockerfile:25-26","Warn: pipCommand not pinned by hash: helpers/docker/swift/Dockerfile:3-27","Warn: pipCommand not pinned by hash: helpers/docker/swift/Dockerfile:41","Warn: pipCommand not pinned by hash: helpers/docker/swift/Dockerfile:50-61","Warn: pipCommand not pinned by hash: helpers/docker/vault/Dockerfile:9","Info:   0 out of   3 containerImage dependencies pinned","Info:   0 out of   8 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":0,"reason":"80 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: PYSEC-2021-421 / GHSA-h4m5-qpfp-3mpv","Warn: Project is vulnerable to: PYSEC-2022-42986 / GHSA-43fp-rhv2-5gv8","Warn: Project is vulnerable to: PYSEC-2023-135 / GHSA-xqr8-7jwr-rhp7","Warn: Project is vulnerable to: GHSA-3ww4-gg4f-jr7f","Warn: Project is vulnerable to: GHSA-5cpq-8wj7-hf2v","Warn: Project is vulnerable to: GHSA-9v9h-cgj8-h64p","Warn: Project is vulnerable to: PYSEC-2018-52 / GHSA-fcf9-3qw3-gxmj","Warn: Project is vulnerable to: PYSEC-2021-62 / GHSA-hggm-jpg3-v476","Warn: Project is vulnerable to: GHSA-jm77-qphf-c4w8","Warn: Project is vulnerable to: GHSA-w7pp-m8wf-vj6r","Warn: Project is vulnerable to: GHSA-x4qr-2fvf-3mr5","Warn: Project is vulnerable to: GHSA-3rq5-2g8h-59hc","Warn: Project is vulnerable to: PYSEC-2021-12 / GHSA-9p9m-jm8w-94p2","Warn: Project is vulnerable to: PYSEC-2024-60 / GHSA-jjg7-2v4v-x38h","Warn: Project is vulnerable to: PYSEC-2019-217 / GHSA-462w-v97r-4m45","Warn: Project is vulnerable to: GHSA-cpwx-vrp4-4pq7","Warn: Project is vulnerable to: PYSEC-2021-66 / GHSA-g3rq-g295-4j3m","Warn: Project is vulnerable to: GHSA-h5c8-rqwp-cp95","Warn: Project is vulnerable to: GHSA-h75v-3vvj-5mfj","Warn: Project is vulnerable to: GHSA-q2x7-8rv6-6q7h","Warn: Project is vulnerable to: GHSA-4225-97pr-rr52","Warn: Project is vulnerable to: PYSEC-2020-55 / GHSA-4427-7f3w-mqv6","Warn: Project is vulnerable to: PYSEC-2020-54 / GHSA-6m8p-x4qw-gh5j","Warn: Project is vulnerable to: GHSA-cc99-whm5-mmq3","Warn: Project is vulnerable to: PYSEC-2020-53 / GHSA-chgw-36xv-47cw","Warn: Project is vulnerable to: PYSEC-2012-19 / GHSA-gf2q-j2qq-pjf2","Warn: Project is vulnerable to: GHSA-mrxv-65rv-6hxq","Warn: Project is vulnerable to: PYSEC-2020-56 / GHSA-rqw2-hhrf-7936","Warn: Project is vulnerable to: PYSEC-2012-20","Warn: Project is vulnerable to: PYSEC-2018-9","Warn: Project is vulnerable to: PYSEC-2019-29","Warn: Project is vulnerable to: PYSEC-2022-260 / GHSA-v973-fxgf-6xhp","Warn: Project is vulnerable to: PYSEC-2022-258 / GHSA-wmqq-r32m-87c5","Warn: Project is vulnerable to: PYSEC-2018-97 / GHSA-6528-wvf6-f6qg","Warn: Project is vulnerable to: PYSEC-2017-94 / GHSA-cq27-v7xp-c356","Warn: Project is vulnerable to: PYSEC-2021-49 / GHSA-5p3x-r448-pc62","Warn: Project is vulnerable to: PYSEC-2018-48 / GHSA-924m-4pmx-c67h","Warn: Project is vulnerable to: PYSEC-2017-25 / GHSA-c2vx-49jm-h3f6","Warn: Project is vulnerable to: PYSEC-2017-26 / GHSA-cq94-qf6q-mf2h","Warn: Project is vulnerable to: PYSEC-2021-48 / GHSA-f4g9-h89h-jgv9","Warn: Project is vulnerable to: PYSEC-2017-67 / GHSA-m269-wj6g-c459","Warn: Project is vulnerable to: PYSEC-2020-94 / GHSA-qf7v-8hj3-4xw7","Warn: Project is vulnerable to: GHSA-2ppf-2m6f-6v6f","Warn: Project is vulnerable to: PYSEC-2021-142 / GHSA-8q59-q68h-6hv4","Warn: Project is vulnerable to: PYSEC-2018-49 / GHSA-rprw-h62v-c2w7","Warn: Project is vulnerable to: GHSA-9hjg-9r4m-mvj7","Warn: Project is vulnerable to: GHSA-9wx4-h78v-vm56","Warn: Project is vulnerable to: PYSEC-2023-74 / GHSA-j8r2-6x86-q33q","Warn: Project is vulnerable to: PYSEC-2018-28 / GHSA-x84v-xcm2-53pg","Warn: Project is vulnerable to: PYSEC-2019-124 / GHSA-38fc-9xqv-7f7q","Warn: Project is vulnerable to: PYSEC-2019-123 / GHSA-887w-45rq-vxgf","Warn: Project is vulnerable to: GHSA-2m57-hf25-phgg","Warn: Project is vulnerable to: PYSEC-2023-87 / GHSA-rrm6-wvj7-cwh2","Warn: Project is vulnerable to: GHSA-34jh-p97f-mpxf","Warn: Project is vulnerable to: PYSEC-2023-212 / GHSA-g4mx-q9vg-27p4","Warn: Project is vulnerable to: PYSEC-2023-207 / GHSA-gwvm-45gx-3cf8","Warn: Project is vulnerable to: PYSEC-2019-133 / GHSA-mh33-7rrq-662w","Warn: Project is vulnerable to: GHSA-pq67-6m6q-mj2v","Warn: Project is vulnerable to: PYSEC-2019-132 / GHSA-r64q-w8jr-g9qp","Warn: Project is vulnerable to: PYSEC-2023-192 / GHSA-v845-jxx5-vc9f","Warn: Project is vulnerable to: PYSEC-2020-148 / GHSA-wqvq-5m8c-6g24","Warn: Project is vulnerable to: PYSEC-2018-32 / GHSA-www2-v7xj-xrc6","Warn: Project is vulnerable to: PYSEC-2021-108","Warn: Project is vulnerable to: PYSEC-2018-78 / GHSA-h2vm-c85r-5vh5","Warn: Project is vulnerable to: GHSA-vcph-37mh-fqrh","Warn: Project is vulnerable to: PYSEC-2024-188 / GHSA-mg3v-6m49-jhp3","Warn: Project is vulnerable to: GHSA-v8gr-m533-ghj9","Warn: Project is vulnerable to: PYSEC-2021-98 / GHSA-68w8-qjq3-2gfm","Warn: Project is vulnerable to: GHSA-7xr5-9hcq-chf9","Warn: Project is vulnerable to: GHSA-8x94-hmjh-97hq","Warn: Project is vulnerable to: PYSEC-2021-99 / GHSA-p99v-5w3c-jqq9","Warn: Project is vulnerable to: PYSEC-2021-8 / GHSA-qm57-vhq3-3fwf","Warn: Project is vulnerable to: GHSA-rrqc-c2jx-6jgv","Warn: Project is vulnerable to: PYSEC-2021-7 / GHSA-rxjp-mfm9-w4wr","Warn: Project is vulnerable to: PYSEC-2021-439 / GHSA-v6rh-hp5x-86rv","Warn: Project is vulnerable to: PYSEC-2021-6 / GHSA-xgxc-v2qg-chmh","Warn: Project is vulnerable to: PYSEC-2021-109 / GHSA-xpfp-f569-q3p2","Warn: Project is vulnerable to: PYSEC-2018-55 / GHSA-32pc-xphx-q4f6","Warn: Project is vulnerable to: GHSA-hc5x-x2vx-497g","Warn: Project is vulnerable to: GHSA-w3h3-4rj7-4ph4"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-19T03:08:08.159Z","repository_id":21683867,"created_at":"2025-08-19T03:08:08.160Z","updated_at":"2025-08-19T03:08:08.160Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274166943,"owners_count":25233959,"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-09-08T02:00:09.813Z","response_time":121,"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-09-08T09:44:21.188Z","updated_at":"2025-09-08T09:44:23.569Z","avatar_url":"https://github.com/globocom.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/globocom/vault/master/vault/static/vault/img/screenshot.png\" alt=\"Vault Screenshot\" /\u003e\n\u003c/p\u003e\n\n# Vault\n\n[![build status](https://api.travis-ci.org/globocom/vault.svg?branch=master)](http://travis-ci.org/globocom/vault)\n\nAdmin webapp for OpenStack Keystone and OpenStack Swift.\n\n### Short description\n\nManage users and projects on your Keystone service.\n\nManage containers and objects on Swift. (A customized version of [django-swiftbrowser](https://github.com/cschwede/django-swiftbrowser))\n\n## How Vault works\n\n### Teams\n\nVault has users and teams. Users have the permission to add other users to their teams. This gives them more autonomy.\n\n### Keystone Projects\n\nUsers can create projects that will belong to their teams. A Keystone project corresponds to a Swift account.\n\n### Swift Accounts\n\nUsers can create, modify or delete any container or object from accounts owned by one of their teams.\n\n### Administration\n\nAn admin can create users and teams, as well as add and remove users from those teams. Admins can also manage Keystone projects and users.\n\n## Running locally with Docker Compose\n\nThis section describes how to use Docker Compose to locally setup Vault, running all the necessary services in containers.\n\n```bash\n$ make docker-start\n```\n\nAfter a while, Vault will be accessible at localhost:8000. The initial admin user's credentials are:\n\n-   _username_: admin\n-   _password_: admin\n\nThere will also be a non-admin user available. That user's credentials are:\n\n-   _username_: user\n-   _password_: user\n\nFor more information on the docker implementation see [Docker](https://github.com/globocom/vault/blob/master/docs/DOCKER.md).\n\n## Basic setup for production environment\n\nThis section describes how to setup Vault in your own infrastructure, to facilitate administration of your existing Keystone and Swift services. In this case, Vault will run in your own environment, such as in a Virtual Machine.\n\n### 1. Install dependencies\n\n```bash\n$ pip install -r requirements.txt\n```\n\n### 2. Set environment variables\n\n```bash\n$ export VAULT_MYSQL_DB=vault\n$ export VAULT_MYSQL_USER=mysql_user\n$ export VAULT_MYSQL_PASSWORD=mysql_pass\n$ export VAULT_MYSQL_HOST=mysql.endpoint\n$ export VAULT_MYSQL_PORT=3306\n$ export VAULT_KEYSTONE_USERNAME=keystone_user\n$ export VAULT_KEYSTONE_PASSWORD=keystone_password\n$ export VAULT_KEYSTONE_PROJECT=Vault\n$ export VAULT_KEYSTONE_URL=http://keystone.endpoint:5000/v3\n```\n\nFor optional variables and more information on each of the environment variables, see [Environment Variables](https://github.com/globocom/vault/blob/master/docs/ENVIRON.md).\n\n### 3. Create a MySQL database and the MySQL user\n\n```SQL\nmysql\u003e create database vault;\nmysql\u003e CREATE USER 'mysql_user'@'localhost' IDENTIFIED BY 'mysql_pass';\nmysql\u003e GRANT ALL PRIVILEGES ON vault.* TO 'mysql_user'@'localhost';\n```\n\nThen\n\n```bash\n$ python manage.py migrate\n```\n\n### 4. Create a superuser\n\n```bash\n$ python manage.py create_user -s\n```\n\nYou will be asked for a username, e-mail, team and password. A superuser with the provided information will be created. If the team does not yet exist, it will be created. The superuser will be added to the provided team.\n\nOptionally, you can pass the `--username`, `--email`, `--teamname` and `--password` arguments, skipping the need to interactively fill out these pieces of information.\n\nThe `-s` (or `--superuser`) option makes the new user a superuser, meaning it has admin privileges. For a normal user, don't use this option.\n\n### 5. Run\n\n```bash\n$ python manage.py runserver\n```\n\nIn a production environment, it is recommended to use a WSGI HTTP server. Here's an example using [Gunicorn](https://gunicorn.org/):\n\n```bash\ngunicorn --timeout 60 -b 0.0.0.0:$PORT vault.wsgi\n```\n\n## Authentication\n\nVault uses the default Django authentication, but also allows for OAuth2 authentication via [django-all-access](https://django-all-access.readthedocs.io/en/latest/). To add an OAuth2 provider, simply use the Django admin. For more information, see [OAuth2 Authentication](https://github.com/globocom/vault/blob/master/docs/OAUTH2.md).\n\nOnly admins can create new users, unless when using OAuth2 authentication.\n\n## Static files\n\nIf you want to upload Vault's static files to your current Swift cluster, simply create a project (named here as `\u003cswift-project\u003e`) and, in that project, a container (named here as `\u003cswift-container\u003e`). Then, using the credentials of a user with permission to write to that container, do the following:\n\n```bash\n$ python manage.py collectstatic --noinput\n$ swift upload --os-username=\u003cswift-user\u003e --os-password=\u003cswift-pass\u003e --os-project-name=\u003cswift-project\u003e --os-auth-url=\u003cswift-auth-url\u003e --os-storage-url=\u003cswift-admin-url\u003e \u003cswift-container\u003e vault_static/\n```\n\n## Running tests\n\n```bash\npip install -r requirements_test.txt\nmake tests\n```\n\n## Creating new apps for Vault\n\nWhile Vault already delivers an app for Swift management and another for Keystone management, it also allows you to easily implement your own apps. This helps you centralize several services in a single, standardized web interface. For more information, see [How to create a Vault App](https://github.com/globocom/vault/blob/master/docs/APPS.md).\n\n## Dependencies\n\n-   Django\n-   Swift\n-   Keystone\n\n## Locale\n\nHow to edit locale files:\n\n```bash\n# In the app directory\ndjango-admin makemessages --all\ndjango-admin compilemessages --locale=pt_BR\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglobocom%2Fvault","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglobocom%2Fvault","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglobocom%2Fvault/lists"}