Commit Graph

136 Commits

Author SHA1 Message Date
Christopher Kolstad 2082ffc260 Fix failing test due to non-deterministic order of random names 2021-02-09 10:41:59 +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 31f674d9fc fix: hide jira addon for now 2021-02-05 15:20:00 +01:00
Ivar Conradi Østhus 2bb38fe3e8 fix: Addons should support sensitive params 2021-02-05 15:20:00 +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 c500128f07 fix: Strategy schema should allow deprecated field (#700)
fixes: #698
2021-02-01 09:41:50 +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 5f736ccf18 Make sure we deny deprecating default strategy 2021-01-22 10:03:01 +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 e279a700b8 fix: add unit test for lastSeenAt being updated 2020-12-22 11:05:00 +01:00
Ivar Conradi Østhus 834010982e fix: DROP schema before create 2020-12-22 11:05:00 +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 79fc089a35 fix: stateService undefined 2020-12-17 19:43:01 +01:00
Ivar Conradi Østhus b644071a34 feat: Add technical support for projects 2020-11-23 21:47:51 +01:00
Ivar Conradi Østhus 9c384dfae7 feat: Allow migration style import (#645) 2020-11-03 14:56:07 +01:00
Ivar Conradi Østhus ce0c66d127 fix: add TTL to sessions 2020-10-02 16:32:05 +02:00
Ivar Conradi Østhus 0204a52d9b fix: failing tests for 409 2020-09-25 22:31:35 +02:00
Ivar Conradi Østhus 4a3c136167 feat: Remove applications (#635) 2020-09-25 09:39:12 +02:00
Ivar Conradi Østhus 6568457ed8 feat: Add support for toggle types (#618) 2020-08-06 11:18:52 +02:00
Ivar Conradi Østhus 91eab0550c fix: exporting only feature toggles as yaml should not crash
fixes #615
2020-07-30 23:57:17 +02:00
Ivar Conradi Østhus 5675f99e78 fix: add user-store (#590) 2020-05-12 23:05:26 +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 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
Ivar Conradi Østhus d1fd5d3900 fix: e2e tests should only set up one database per test file (#504)
* fix: e2e tests should only set up one database per test file

* fix: Allow e2e-tests to reset db content
2020-02-20 08:34:29 +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 a9e215bfca revert: destroy db at test-init 2020-02-20 08:34:29 +01:00
ivaosthu d9b2c6d1cb chore: do not destroy db on startup 2020-02-20 08:34:29 +01:00
ivaosthu d01fbdeac4 chore: remove old test-setup hacks 2020-02-20 08:34:29 +01:00
ivaosthu 3e4ab827d3 chore: add more logging if test-db destroy fails 2020-02-20 08:34:29 +01:00
ivaosthu 3cb4e1b57f chore: test db-pool on travis 2020-02-20 08:34:28 +01:00
ivaosthu ec4d169874 debug: travis with postgres 10 2020-02-20 08:34:28 +01:00
ivaosthu f62d992be7 chore: debugging travis by ignoring import tests 2020-02-20 08:34:28 +01:00
ivaosthu e5d4cec107 chore: increase test-logging 2020-02-20 08:34:28 +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
Ivar Conradi Østhus 62b97ca828 fix: none authentication should have a mock user (#449)
This also fix the bug introduces where authentication mode triggers readOnly mode in the UI.
2020-02-20 08:34:25 +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 f51500ec78 fix: override field changed name to contextName 2020-02-20 08:34:20 +01:00
ivaosthu df5ef09008 feat: Add suppport for variant overrides 2020-02-20 08:34:20 +01:00
ivaosthu c25e994322 fix: Update variant protocol 2020-02-20 08:34:20 +01:00
ivaosthu 82bf748341 fix: variant tests more stable 2020-02-20 08:34:20 +01:00