Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Storage Adapter Etcd #55

Closed
roccomuso opened this issue Mar 21, 2018 · 8 comments · Fixed by #218
Closed

Storage Adapter Etcd #55

roccomuso opened this issue Mar 21, 2018 · 8 comments · Fixed by #218
Assignees

Comments

@roccomuso
Copy link

Hi,
I'm writing the storage adapter for Etcd. Travis doesn't have an etcd-service available.
How would you manage to test it in CI?

@lukechilds
Copy link
Contributor

I'm not too familiar with Etcd but maybe you could run it as a Docker container?

I started trying to migrate the MySQL tests to use Docker but never actually finished it, you can check that for some inspiration.

https://github.com/lukechilds/keyv-mysql/pull/12/files

@roccomuso
Copy link
Author

There we are :) roccomuso/keyv-etcd.
It passes tests as well (TODO: add etcd:// uri in keyv index.js).

I tested it against a docker container. I'll try to build a .travis.yml file now.

@lukechilds
Copy link
Contributor

Thanks again, looks great!

Just added some feedback on the repo.

@lukechilds lukechilds mentioned this issue Mar 25, 2018
@jaredwray
Copy link
Owner

@roccomuso - are you still maintaining this? If so, do you want to support and publish this on NPM as keyv-etcd? I can list it as a 3rd party storage adapter

@roccomuso
Copy link
Author

yes, but need some testing because was not updated recently. Any testing help would be appreciated

@jaredwray
Copy link
Owner

Great. Get it published on NPM first so we can see traction and I am happy to look at adding code for the build and testing.

Want me to update the build to use github actions?

@roccomuso
Copy link
Author

Sure, go ahead

@jaredwray
Copy link
Owner

jaredwray commented Oct 31, 2021

@roccomuso - going to be working on this the week of 11/15. FYI...

Are you still using this as we need it published on NPM to validate it. If not, I will close this down.

jaredwray added a commit that referenced this issue Dec 5, 2021
* Initial commit

* Adapt Redis API

* Run redis on Travis

* Fix typo in description

* Add npm keywords

* Pass TTL functionality over to Redis

* Create promisified redis methods on init

* Create redis methods in loop

* Make sure .get resolves to undefined if key doesn't exist

* Update keyv

* Use keyv-api-tests

* 0.1.0

* Add usage example to readme

* Add API docs to readme

* Add support for .clear()

* 0.2.0

* Don't expost Redis client

* 1.0.0

* keyv => Keyv

* 1.0.1

* Expose Redis client so events can be listened to

* Show error handling in usage example

* 1.1.0

* Add secondary description to readme

* 1.1.1

* Make sure opts.uri from Keyv gets passed through to redis

* Expose connect/error events directly on storage adapter

* Only expose error event

* Emit errors on keyv ee

* Make sure opts is always defined

* Update overview wording

* Use JSONB to allow Buffers in JSON

* Don't send undefined values to Redis Redis will save them as null. If we don't save them at all we'll retrun undefined on .get so everything works as expected.

* No need for JSONB, it's used by default in Keyv now

* 1.2.0

* Improve readability of get method

* Migrate to keyv-test-suite

* Run official keyv storage adapter tests

* Add support for namespaces

* Don't grab namespace from keyv

* Use new store instace for each test

* getter fn for namespace

* Emit error events

* 1.3.0

* Update dependencies to enable Greenkeeper 🌴 (#1)

* chore(package): update dependencies

* docs(readme): add Greenkeeper badge

* Remove Greenkeeper badge

* Use "this"

* Update to requirable

* Pin dependency versions

* 1.3.1

* Fix requirable version number

* Update docs

* Add Keyv logo to header

* Tweak wording

* 1.3.2

* Formatting

* 1.3.3

* Update redis to the latest version 🚀 (#3)

* 1.3.4

* Scope to @keyv

* 1.3.5

* Use scoped dependencies

* Fix package.json links

* Import scoped test suite

* 1.3.6

* Update ava to the latest version 🚀 (#6)

* Support same constructor args as Keyv

* Document creating storage adapter instance

* 1.3.7

* Add .npmignore

* 1.3.8

* Update coveralls to the latest version 🚀 (#8)

* Update ava to the latest version 🚀 (#9)

* Update ava to the latest version 🚀 (#10)

* Update ava to the latest version 🚀 (#11)

* chore(package): update xo to version 0.20.1 (#14)

Closes #13

* Allow testing on non-localhost Redis, add docker config (#27)

* Travis: Update Travis to current active LTS and higher (#28)

* build: removed `ttlSupport` flag (#29)

not longer necessary

* Use ioredis client (#26)

* 2.0.0

* build: Allow passing in an existing Redis instance (#30)

* build: update dependencies (#31)

* build: update dependencies

* build: force

* build: force

* 2.1.0

* Update ioredis to ~4.16.0 (#34)

* 2.1.1

* update ioredis (#38)

* 2.1.2

* adding coverage for undefined going via set (#46)

* upgrade nyc to 15.1.0 (#47)

* adding yarn lock file (#48)

adding yarn lock file

* upgrading delay to version 5.0.0 (#49)

upgrading delay to version 5.0.0 for maintenance

* upgrading ioredis to version 4.27.9 (#50)

maintenance update

* upgrading ava to 3.15.0 (#51)

maintenance update

* Revert "upgrading ava to 3.15.0 (#51)" (#52)

This reverts commit 2db6e7b2fa24c51abc215c0185e3df440c4ff290.

* Update .travis.yml to support node 14 and 15

Update .travis.yml to support node 14 and 15

* upgrading ava to 3.15.0 (#53)

upgrading ava to 3.15.0 for maintenance update

* adding in support for node version 12 (#55)

* upgrading xo to version 0.45.0 (#56)

* upgrading xo to version 0.45.0

* moving to supporting 12,14,16

* upgrading ioredis to version 4.27.10 (#57)

* keyv-redis package updated to 2.1.3 (#58)

* initial check in of github actions (#59)

* initial check in of github actions

* updating to use redis

* update readme with latest status badge

* remove travis

* Fix test suite import (#60)

* Update to use latest npm with license and nvmrc plus license update of authors (#61)

* adding nvmrc for node 16

* updating licensing with dates and authors

* Delete yarn.lock

* update for authors

* Moving to docker compose for testing and build (#62)

* moving to docker compose for testing and build

* moving to docker compose for testing and build

* rename yaml file

* update to remove yarn.lock

* adding in code coverage

* updating logo and build badge

* Update package.json (#63)

* upgrading xo to version 0.46.4 (#64)

* upgrading ioredis to version 4.28.0 (#65)

* Add support for Redis clusters. (#37)

* version bump to v2.2.0

* adding in ttlSupport (#66)

* upgrading to @keyv/test-suite version 1.6.12 (#67)

* rename to redis

* no longer need build

* Delete redis-compose.yaml

* Delete .gitignore

* no longer needed for mongo

* no longer needed in mongo

* updating for packaging

Co-authored-by: Luke Childs <lukechilds123@gmail.com>
Co-authored-by: greenkeeper[bot] <greenkeeper[bot]@users.noreply.github.com>
Co-authored-by: Casey Webb <notcaseywebb@gmail.com>
Co-authored-by: Kiko Beats <josefrancisco.verdu@gmail.com>
Co-authored-by: Will Harney <41450688+wjharney@users.noreply.github.com>
@alphmt alphmt mentioned this issue Jan 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants