{"id":25563411,"url":"https://github.com/aleksandryackovlev/nestjs-etcd","last_synced_at":"2025-07-27T00:09:06.246Z","repository":{"id":57310125,"uuid":"325086294","full_name":"aleksandryackovlev/nestjs-etcd","owner":"aleksandryackovlev","description":"Etcd3 module for Nest framework (node.js) ","archived":false,"fork":false,"pushed_at":"2021-01-07T13:43:05.000Z","size":174,"stargazers_count":0,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-15T20:21:52.668Z","etag":null,"topics":["etcd","etcd3","javascript","nest","nestjs","nodejs","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/aleksandryackovlev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-28T18:25:55.000Z","updated_at":"2024-02-13T22:11:06.000Z","dependencies_parsed_at":"2022-09-09T21:41:23.525Z","dependency_job_id":null,"html_url":"https://github.com/aleksandryackovlev/nestjs-etcd","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/aleksandryackovlev/nestjs-etcd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandryackovlev%2Fnestjs-etcd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandryackovlev%2Fnestjs-etcd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandryackovlev%2Fnestjs-etcd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandryackovlev%2Fnestjs-etcd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aleksandryackovlev","download_url":"https://codeload.github.com/aleksandryackovlev/nestjs-etcd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aleksandryackovlev%2Fnestjs-etcd/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267273207,"owners_count":24062551,"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-07-26T02:00:08.937Z","response_time":62,"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":["etcd","etcd3","javascript","nest","nestjs","nodejs","typescript"],"created_at":"2025-02-20T20:19:39.723Z","updated_at":"2025-07-27T00:09:06.201Z","avatar_url":"https://github.com/aleksandryackovlev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://etcd.io/\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/cncf/artwork/master/projects/etcd/horizontal/color/etcd-horizontal-color.png\" alt=\"Etcd logo\" width=\"260\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"http://nestjs.com/\" target=\"blank\"\u003e\u003cimg src=\"https://nestjs.com/img/logo_text.svg\" width=\"280\" alt=\"Nest Logo\" /\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n[![npm][npm]][npm-url]\n[![deps][deps]][deps-url]\n[![Build Status](https://github.com/aleksandryackovlev/nestjs-etcd/workflows/build/badge.svg)](https://github.com/aleksandryackovlev/nestjs-etcd/actions)\n[![codecov](https://codecov.io/gh/aleksandryackovlev/nestjs-etcd/branch/main/graph/badge.svg)](https://codecov.io/gh/aleksandryackovlev/nestjs-etcd)\n[![size](https://packagephobia.now.sh/badge?p=nestjs-etcd)](https://packagephobia.now.sh/result?p=nestjs-etcd)\n\n## Description\n\n[Etcd3](https://github.com/microsoft/etcd3) module for [Nest](https://github.com/nestjs/nest).\n\n## Installation\n\n```bash\n$ npm i --save nestjs-etcd\n```\n\n### Getting Started\nTo register the EtcdModule in `app.module.ts`\n\n```typescript\nimport { Module } from '@nestjs/common';\nimport { EtcdModule} from 'nestjs-etcd';\n\n@Module({\n    imports: [\n        EtcdModule.forRoot({\n            name: 'client_name', // optional, default to 'default'\n            hosts: `http://0.0.0.0:2379`,\n        }),\n    ],\n})\nexport class AppModule {}\n```\nWith Async\n```typescript\nimport { Module } from '@nestjs/common';\nimport { EtcdModule} from 'nestjs-etcd';\n\n@Module({\n    imports: [\n        EtcdModule.forRootAsync({\n                name: 'client_name', // optional, default to 'default'\n                useFactory: (configService: ConfigService) =\u003e ({\n                hosts: configService.get('hosts'),\n            }),\n            inject:[ConfigService],\n        }),\n    ],\n})\nexport class AppModule {}\n```\nModule supports all the options for [Etcd3](https://www.npmjs.com/package/etcd3) package (see https://microsoft.github.io/etcd3/interfaces/ioptions.html):\n```typescript\ntype EtcdModuleOptions = IOptions \u0026 { name?: string }\n```\n### Usage\n```typescript\nimport { Injectable } from '@nestjs/common';\nimport { Etcd3 } from 'etcd3';\nimport { InjectClient } from 'nestjs-etcd';\n\n@Injectable()\nexport class TestService {\n    // client_name is optional for InjectClient, default to 'default'\n    constructor(@InjectClient('client_name') private readonly client: Etcd3) {}\n    \n    find(key: string): Promise\u003cstring\u003e {\n        return this.client.get(key).string();\n    }\n}\n```\n## Contributing\n\nPlease take a moment to read our contributing guidelines if you haven't yet done so.\n\n[CONTRIBUTING](./.github/CONTRIBUTING.md)\n\n## License\n\n[MIT](./LICENSE)\n\n[npm]: https://img.shields.io/npm/v/nestjs-etcd.svg\n[npm-url]: https://npmjs.com/package/nestjs-etcd\n[deps]: https://david-dm.org/aleksandryackovlev/nestjs-etcd.svg\n[deps-url]: https://david-dm.org/aleksandryackovlev/nestjs-etcd\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleksandryackovlev%2Fnestjs-etcd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faleksandryackovlev%2Fnestjs-etcd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleksandryackovlev%2Fnestjs-etcd/lists"}