{"id":19798157,"url":"https://github.com/mutinywallet/blinded-hermes","last_synced_at":"2025-05-01T04:30:22.385Z","repository":{"id":232933386,"uuid":"760905058","full_name":"MutinyWallet/blinded-hermes","owner":"MutinyWallet","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-11T15:07:25.000Z","size":190,"stargazers_count":7,"open_issues_count":7,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-06T08:27:10.248Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MutinyWallet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-02-20T21:53:22.000Z","updated_at":"2024-08-05T10:24:20.000Z","dependencies_parsed_at":"2024-04-12T14:45:00.780Z","dependency_job_id":"9ca2a179-a3ee-4b8e-81cb-ae60707fa19a","html_url":"https://github.com/MutinyWallet/blinded-hermes","commit_stats":null,"previous_names":["mutinywallet/blinded-hermes"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MutinyWallet%2Fblinded-hermes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MutinyWallet%2Fblinded-hermes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MutinyWallet%2Fblinded-hermes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MutinyWallet%2Fblinded-hermes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MutinyWallet","download_url":"https://codeload.github.com/MutinyWallet/blinded-hermes/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251823988,"owners_count":21649781,"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":"2024-11-12T07:28:18.624Z","updated_at":"2025-05-01T04:30:22.110Z","avatar_url":"https://github.com/MutinyWallet.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Blind Hermes Service\n\n## Usage\n\nYou need a postgres database and an authentication key. These can be set in the environment variables `DATABASE_URL`\nThese can be set in a `.env` file in the root of the project.\n\nTo run the server, run `cargo run --release` in the root of the project.\n\n## Configuration\n\nThis service is configured via environment variables, which may be set in an `.env` file in the working directory, or injected dynamically (command-line prefix, container orchestration, etc.) See `.env.sample`.\n\n - `DATABASE_URL`: a postgres connection string of the format `postgres://u:p@host[:port]/dbname`\n - `HERMES_PORT`: (optional; default 8080) host port to bind\n\n## Development\n\n### Testing\n\nEasiest way to run the unit and integrations test against a fresh postgres db: \n\n```\nnix develop --command bash -c \"just reset-db \u0026\u0026 just test \u0026\u0026 just test-integration\"\n```\n\n### Database\n\nRequired just for the first time setup: \n\n```\ndiesel setup\n```\n\n#### Generating new migrations\n\nTo generate a new migration script. This will dump a few sql up/down files that you need to fill in:\n```\ndiesel migration generate {migration_name}\n```\n\nAny time you change a migration, you should run this locally, this will set up the autogen code correctly:\n```\ndiesel migration run\n```\n\nMigrations are NOT embedded into the code. You must shut down the server, run the below command locally, and then spin the server back up with the new version.\n\n```\ndiesel migration run --database-url {PROD_DB_CONNECTION}\n```\n\nReplace PROD_DB_CONNECTION with the database config for production.\n\n## Deployment\n\nFor signet:\n\n```\nflyctl deploy\n```\n\nFor prod:\n\n```\nflyctl deploy --config fly.production.toml\n```\n\nIf a migration is required: \n\n```\nfly machine stop\n```\n\nSelect all, hit enter. Run migration (command above). Deploy changes:\n\n```\nflyctl deploy\n```\n\n``\nfly machine start\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutinywallet%2Fblinded-hermes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmutinywallet%2Fblinded-hermes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmutinywallet%2Fblinded-hermes/lists"}