{"id":18363995,"url":"https://github.com/tritondatacenter/manatee","last_synced_at":"2025-12-17T01:03:12.324Z","repository":{"id":14807470,"uuid":"17529800","full_name":"TritonDataCenter/manatee","owner":"TritonDataCenter","description":"Automated fault monitoring and leader-election system for strongly-consistent, highly-available writes to PostgreSQL (TritonDataCenter, Manta).","archived":false,"fork":false,"pushed_at":"2025-07-16T20:07:33.000Z","size":37259,"stargazers_count":228,"open_issues_count":15,"forks_count":30,"subscribers_count":54,"default_branch":"master","last_synced_at":"2025-10-20T10:49:59.420Z","etag":null,"topics":["postgresql"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TritonDataCenter.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-03-07T22:47:19.000Z","updated_at":"2025-07-16T20:06:34.000Z","dependencies_parsed_at":"2025-07-03T20:22:57.828Z","dependency_job_id":"1a1e13ac-964c-4a58-bdd4-147352491c42","html_url":"https://github.com/TritonDataCenter/manatee","commit_stats":{"total_commits":919,"total_committers":36,"mean_commits":25.52777777777778,"dds":"0.24047878128400435","last_synced_commit":"8d6d63a2ce4e013b710521e959ab719d12a0ca89"},"previous_names":["joyent/manatee"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/TritonDataCenter/manatee","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TritonDataCenter%2Fmanatee","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TritonDataCenter%2Fmanatee/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TritonDataCenter%2Fmanatee/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TritonDataCenter%2Fmanatee/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TritonDataCenter","download_url":"https://codeload.github.com/TritonDataCenter/manatee/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TritonDataCenter%2Fmanatee/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27774125,"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-12-16T02:00:10.477Z","response_time":57,"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":["postgresql"],"created_at":"2024-11-05T23:08:51.451Z","updated_at":"2025-12-17T01:03:12.309Z","avatar_url":"https://github.com/TritonDataCenter.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\n    This Source Code Form is subject to the terms of the Mozilla Public\n    License, v. 2.0. If a copy of the MPL was not distributed with this\n    file, You can obtain one at http://mozilla.org/MPL/2.0/.\n--\u003e\n\n\u003c!--\n    Copyright (c) 2018, Joyent, Inc.\n--\u003e\n\n# Manatee\n                       _.---.._\n          _        _.-' \\  \\    ''-.\n        .'  '-,_.-'   /  /  /       '''.\n       (       _                     o  :\n        '._ .-'  '-._         \\  \\-  ---]\n                      '-.___.-')  )..-'\n                               (_/\n\nThis repository is part of the Joyent SmartDataCenter project (SDC).  For\ncontribution guidelines, issues, and general documentation, visit the main\n[SDC](http://github.com/joyent/sdc) project page.\n\n# Overview\n\nManatee is an automated fault monitoring and leader-election system for\nstrongly-consistent, highly-available writes to PostgreSQL.  It can tolerate\nnetwork partitions up to the loss of an entire node without loss of write (nor\nread) capability.  Client configuration changes are minimal and failover is\ncompletely free of operator intervention.  New shard members are automatically\nreplicated upon introduction.\n\nCheck out the [user-guide](docs/user-guide.md) for details on server internals\nand setup.\n\nProblems? Check out the [Troubleshooting guide](docs/trouble-shooting.md).\n\nMigrating from Manatee 1.0 to 2.0?  Check out the [migration\nguide](docs/migrate-1-to-2.md).\n\nWorking on Manatee? Check out the [Working on Manatee\nguide](docs/working-on-manatee.md).\n\n# Features\n\n* Automated liveliness detection, failover, and recovery. Reads are always\n  available, even during a failover. Writes are available as soon as the\n  failover is complete.\n\n* Automated bootstrap. New peers will bootstrap and join the shard\n  without human intervention.\n\n* Data integrity. Built atop [ZFS](http://en.wikipedia.org/wiki/ZFS) and\n  [PostgreSQL synchronous\n  replication](http://www.postgresql.org/docs/9.2/static/warm-standby.html#SYNCHRONOUS-REPLICATION)\n  for safe, reliable\n  storage.\n\n# Quick Start\n\n## Client\nDetailed client docs are [here](https://github.com/joyent/node-manatee).\n```javascript\nvar manatee = require('node-manatee');\n\nvar client = manatee.createClient({\n   \"path\": \"/manatee/1\",\n   \"zk\": {\n       \"connStr\": \"172.27.10.97:2181,172.27.10.90:2181,172.27.10.101:2181\",\n       \"opts\": {\n           \"sessionTimeout\": 60000,\n           \"spinDelay\": 1000,\n           \"retries\": 60\n       }\n   }\n});\n\nclient.once('ready', function () {\n    console.log('manatee client ready');\n});\n\nclient.on('topology', function (urls) {\n    console.log({urls: urls}, 'topology changed');\n});\n\nclient.on('error', function (err) {\n    console.error({err: err}, 'got client error');\n});\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftritondatacenter%2Fmanatee","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftritondatacenter%2Fmanatee","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftritondatacenter%2Fmanatee/lists"}