{"id":13639678,"url":"https://github.com/wexpertsystems/seguro","last_synced_at":"2025-04-19T22:33:30.308Z","repository":{"id":47964086,"uuid":"515611841","full_name":"wexpertsystems/seguro","owner":"wexpertsystems","description":"Distributed event log storage for Urbit.","archived":false,"fork":false,"pushed_at":"2022-10-10T19:31:50.000Z","size":125,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-03T01:15:15.081Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wexpertsystems.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}},"created_at":"2022-07-19T14:09:35.000Z","updated_at":"2023-07-03T22:02:52.000Z","dependencies_parsed_at":"2023-01-19T20:00:23.026Z","dependency_job_id":null,"html_url":"https://github.com/wexpertsystems/seguro","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wexpertsystems%2Fseguro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wexpertsystems%2Fseguro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wexpertsystems%2Fseguro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wexpertsystems%2Fseguro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wexpertsystems","download_url":"https://codeload.github.com/wexpertsystems/seguro/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223810622,"owners_count":17206800,"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-08-02T01:01:03.275Z","updated_at":"2024-11-09T09:31:28.031Z","avatar_url":"https://github.com/wexpertsystems.png","language":"C","funding_links":[],"categories":["Archive"],"sub_categories":["Tools"],"readme":"# Seguro\n\nThis is the work-in-progress repo for Phase 2 of the Seguro implementation for \nthe [Urbit](https://urbit.org) project.\n\nMore information:\n- [Seguro Prototype Proposal](https://urbit.org/grants/seguro-prototype)\n- [Seguro MVP Proposal](https://urbit.org/grants/seguro-phase-2)\n\n# Installation\n\n## Dependencies:\n\n- [FoundationDB](https://github.com/apple/foundationdb/releases)\n- [make](https://www.gnu.org/software/make/)\n\n## Configuration\n\nAfter installing the clients and server packages of FoundationDB, the default \nserver should be reconfigured for local testing. This can be done using the \n`fdbcli` utility on Linux and MacOS:\n```shell\nfdbcli\nconfigure single ssd\n```\nThis will set the default local FoundationDB cluster to store a single copy of \ndata on disk.\n\n# Usage\n\n## Run tests\n\nThe following command will run all Seguro tests:\n```shell\nmake test\n```\n\nAlternatively, the unit or integration tests can be run separately from each other:\n```shell\nmake test-unit\nmake test-integ\n```\n\n## Run benchmarks\n\nThe following command will run all Seguro benchmarks:\n```shell\nmake benchmark\n```\n\n# Troubleshooting\n\nThe state of the local FoundationDB cluster can be monitored using the `fdbcli` utility. It's self-documented, but\nadditional information can be found in the [official FoundationDB documentation](https://apple.github.io/foundationdb).\n\nHowever, be warned that the `fdbcli` can be finicky, and can lie. Some examples:\n- Complaining that there is no memory available with 12GB memory available\n- Complaining that there is no space on the drive available when there is 50GB space available\n- Errors during benchmark tests while the `status` command shows nothing wrong\n- No errors during benchmark tests while the `status` command shows memory and storage warnings\n\n## Soft Reset\n\nIf the test or benchmark suites suffer a fatal error, the local FoundationDB may be stranded in an unclean state. It may\nbe necessary to manually drop keys from the cluster to ensure tests/benchmarks accurately measure\ncorrectness/performance:\n```shell\nfdbcli\nwritemode on\nclearrange \"\" \\xFF\n```\nThe above series of commands will drop all keys from the FoundationDB cluster.\n\n## Hard Reset\n\nIf the FoundationDB cluster becomes so broken during development that a hard reset is required, the following commands\nwill return the cluster to its initial state after a fresh installation:\n```shell\nsudo systemctl stop foundationdb\nsudo rm -rf /var/lib/foundationdb/data\nsudo systemctl start foundationdb\nfdbcli\nconfigure new single ssd\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwexpertsystems%2Fseguro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwexpertsystems%2Fseguro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwexpertsystems%2Fseguro/lists"}