1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-10-23 20:07:40 +02:00
Commit Graph

79 Commits

Author SHA1 Message Date
Christopher Kolstad
d1d271bb41
Add db-error code file 2021-02-09 10:19:35 +01:00
Christopher Kolstad
063d3f0e4a
Make feature-toggle-store return 409
- After seeing frontend behaviour where the user could add the same
tag multiple times, and not get errors or be stopped doing so, we'll
change the backend to return a 409 if you tag a feature with a tag it
already has.

- Previous to this commit, the setup was to do `onConflict().ignore()`
  which caused the frontend to not get any help from the backend as to
  whether or not the operation was allowed

- This fix adds a custom error and adds a branch to the handleError util
  method for handling just that error type with a 409.

- This caused a couple of tests to receive 409, probably due to
  insufficient cleanup between tests. Adding faker as a dev-dependency and randomising
  toggle names and tag values for each test reduces the chance that
  we'll run into duplicate issues in the future for the tests that
  touches this problem

fixes: #711
2021-02-08 16:22:15 +01:00
Christopher Kolstad
e952ae20a8
Added explicit pool settings in options.db object
- Also adds metrics for min and max pool size
- Metrics for free/used connections.
- Metrics for pending and current acquires

fixes: #705
2021-02-08 10:54:20 +01:00
Ivar Conradi Østhus
17c8fe7710 feat: Introduce addon framework
fixes: #587

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2021-02-05 15:20:00 +01:00
Ivar Conradi Østhus
3a983d291c
fix: even-store should not block on emit 2021-02-02 13:27:24 +01:00
Christopher Kolstad
bd94f358c3
feat: Added tags to events table and emitted events
fixes: #695
2021-01-29 09:53:27 +01:00
Christopher Kolstad
e555118cb1
feat: Add filterquery support for toggles
- For now supports
   - tag
   - project
   - namePrefix

fixes: #690
2021-01-26 14:14:07 +01:00
Ivar Conradi Østhus
f5aa5b577c
fix: remove fields from /api/client/features respnse (#692) 2021-01-22 13:09:26 +01:00
Christopher Kolstad
ef19dfa7cb
Support deprecating and reactivating strategies
fixes: #682
2021-01-21 15:53:24 +01:00
Christopher Kolstad
c17a1980a2
Add service layer
This simplifies stores to just be storage interaction, they no longer react to events.

Controllers now call services and awaits the result from the call.

When the service calls are returned the database is updated.
This simplifies testing dramatically, cause you know that your state is
updated when returned from a call, rather than hoping the store has
picked up the event (which really was a command) and reacted to it.

Events are still emitted from eventStore, so other parts of the app can
react to events as they're being sent out.

As part of the move to services, we now also emit an application-created
event when we see a new client application.

Fixes: #685
Fixes: #595
2021-01-21 10:59:19 +01:00
Christopher Kolstad
43801f1f13
Add Tags and tag types
- First iteration of api for tags and tag-types
- Documentation in place
- Adds three new tables
   - tag_types
   - tags
   - feature_tag
- Tagging a feature is adding a row in the feature_tag
  join table

* #665

Co-authored-by: Simen Bekkhus <sbekkhus91@gmail.com>
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-01-14 13:09:05 +01:00
Ivar Conradi Østhus
a1ac0249a9 fix: cleanup test console output 2021-01-06 18:06:56 +01:00
Ivar Conradi Østhus
cdfba8f7b1 feat: Adds last-seen dat on toggles
When an application updates metrics for a toggle we now
stores the timestamp on the toggle when it was last seen
used by an application. This will make it much easier to
detect toggles not in use anymore.

closes #642
2020-12-22 11:05:00 +01:00
Ivar Conradi Østhus
71eb88c847 fix: this.timer merge conflict 2020-12-16 14:56:48 +01:00
Laurent Dezitter
5857f0e58d
feat: add stop() method to gracefully terminate unleash (#665) 2020-12-16 14:49:11 +01:00
Ivar Conradi Østhus
b644071a34 feat: Add technical support for projects 2020-11-23 21:47:51 +01:00
Mathias Åhsberg
144e832cdc
feat: Add support for explicitly set database version. (#654)
Co-authored-by: Mathias Åhsberg <mathias.ahsberg@resurs.se>
2020-11-20 11:37:56 +01:00
Ivar Conradi Østhus
4a3c136167
feat: Remove applications (#635) 2020-09-25 09:39:12 +02:00
Ivar Conradi Østhus
8ac4a243b2
Fix/upgrade knex (#630) 2020-09-18 09:05:09 +02:00
Ivar Conradi Østhus
83dda55172
feat: add stale property on toggle (#619) 2020-08-07 10:46:35 +02:00
Ivar Conradi Østhus
6568457ed8
feat: Add support for toggle types (#618) 2020-08-06 11:18:52 +02:00
Ivar Conradi Østhus
5675f99e78
fix: add user-store (#590) 2020-05-12 23:05:26 +02:00
Ivar Conradi Østhus
bf7a246707 fix: user should not crash if email is missing 2020-04-28 08:17:04 +02:00
Ivar Conradi Østhus
2c90d3fbff chore: reduce log-level for metrics 2020-04-19 20:57:54 +02:00
Ivar Conradi Østhus
d01c9d2dac
fix: use airbnb lint rules directly (#583)
This drops usage of finn-eslint rules as they are no
longer maintained.
2020-04-14 22:29:11 +02:00
Ivar Conradi Østhus
b912768923
feat: move secrets to settings (#577)
* feat: move secrets to settings

* feat: Add better support for detailed db options.

Added db field in options to allow better control of
db-options. Especially important to allow special chars
in database password which might lead to an invaid url
when defined as a database-url.

* fix: integrate logger with knex logger

* fix: remove secret option from all examples

* fix: more options.js unit tests

* fix: added settings-store e2e tests
2020-04-13 22:38:46 +02:00
Ivar Conradi Østhus
aac12fbee8
fix: metrics for toggle count and version (#565) 2020-02-28 14:50:32 +01:00
Ivar Conradi Østhus
7a410508cb
feat: api supports context fields (#564)
* feat: api supports context fields

* fix: typo for cotnext group in event-differ
2020-02-27 21:26:18 +01:00
ivaosthu
704c3afc15 Revert "debug: test not destroying db in test-setup"
This reverts commit 9fe70f84dc.
2020-02-20 08:34:29 +01:00
ivaosthu
96d5413b70 debug: test not destroying db in test-setup 2020-02-20 08:34:29 +01:00
ivaosthu
4ce23e4f7f chore: move metrics-helper.js 2020-02-20 08:34:27 +01:00
Moritz Johner
d0f57a68b2 feat: add db query latency metrics (#473)
* feat: add db metrics
Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>

* fix: use base unit

Signed-off-by: Moritz Johner <beller.moritz@googlemail.com>
2020-02-20 08:34:27 +01:00
ivaosthu
ccaab0c47b fix: LogProvider as option injected to unleash.
Instead of instructing users to do static calls
in to Unleash, she should instead be allwed to
specify the log provider as an option to Unleash.

This commit introduces the "getLogger" option,
a function responsible for creating a logger.
2020-02-20 08:34:24 +01:00
Benjamin Ludewig
a06d2c04bb Refactored state-service, schemas, added e2e tests #395 2020-02-20 08:34:22 +01:00
Benjamin Ludewig
9065c5ee88 feat: Added import & export through stateService #395 2020-02-20 08:34:22 +01:00
ivaosthu
f5d4f618ae fix: Application list should be alphabetically sorted
closes #403
2020-02-20 08:34:21 +01:00
ivaosthu
227c6c2e7a fix: Metrics poller should start even if inital fetch fails.
Currently if the intial metrics-fetch fails unleash will not
setup a metrics-poller. This fix ensures that the metrics
poller will start regardless of whether the inital fetch
fails or succeeds.

closes #396
2020-02-20 08:34:21 +01:00
Juan Hoyos
3623052c36 feat: Added feature toggle variants 2020-02-20 08:34:20 +01:00
ivaosthu
cdf623e70f chore: Upgrade ava to 1.0.1 2020-02-20 08:34:18 +01:00
Ivar Conradi Østhus
67ec4b58fe fix(store): DB should not override createdAt if set. 2020-02-20 08:34:08 +01:00
ivaosthu
c544f81fba Bugfix: more informative name validation errors
Will know tell the user if the toggle name is already
in use by an active feature toggle or an archived toggle.

Also brings lates unleash-frontend fix, which prevents an
invalid form from submitting.

closes: #290, #291
2020-02-20 08:34:07 +01:00
ivaosthu
4999bb93cf Should not be allow creation of archived toggle
closes #284
2020-02-20 08:34:05 +01:00
Simen Bekkhus
3aa871ca97 Update prettier and fix lint 2020-02-20 08:34:03 +01:00
Ivar
e679d5d975 Fix formatting 2020-02-20 08:34:00 +01:00
Ivar
eb346756d2 Clean up intervals.
We use intervals in three places and we could probably organise them
better in the future. As long as they all do unref they do not form
any issues for us and I will just let them be as is for now.

This closes #186
2020-02-20 08:33:46 +01:00
Simen Bekkhus
3b260abbfe Replace sinon with lolex 2020-02-20 08:33:46 +01:00
ivaosthu
f5e9ca3bbe Implement support for logger provider.
This allows the users of 'unleash-server' to programatically
change the logger implemnentation. #175
2020-02-20 08:33:33 +01:00
sveisvei
ae245293f4 protection against edit on built in strategies 2020-02-20 08:30:52 +01:00
Ivar
915158212c Add support for sdkVersion in client registration 2020-02-20 08:30:52 +01:00
sveisvei
1131440535 auto disable, and do not serve archived toggle 2020-02-20 08:30:52 +01:00