1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
Commit Graph

234 Commits

Author SHA1 Message Date
ivaosthu
f2cc426ed7 Fix assert 2020-02-20 08:33:33 +01:00
ivaosthu
f91a24eabe Add metrics validation to avoid NaN #253 2020-02-20 08:33:33 +01:00
ivaosthu
18afb520d0 Strip uknown fields in client requests. closes #245 2020-02-20 08:33:33 +01:00
ivaosthu
f826c837fd Disable x-powered-by express header 2020-02-20 08:33:33 +01:00
sveisvei
b137cf0eaa add editable tests 2020-02-20 08:33:16 +01:00
sveisvei
a9b783443b shoulda woulda 2020-02-20 08:33:16 +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
Simen Bekkhus
e1cc0b2e99 Upgrade prom-client and yargs 2020-02-20 08:30:51 +01:00
sveisvei
93bb1ac66d should expose one feature 2020-02-20 08:30:51 +01:00
sveisvei
0ae24c68e6 Refactor routes setup, move test files, cleanup legacy 2020-02-20 08:30:51 +01:00
sveisvei
71815a1320 Remove legacy data support 2020-02-20 08:30:51 +01:00
sveisvei
375a8b1d4f Prettier/lint 2020-02-20 08:30:50 +01:00
Simen Bekkhus
e85ac8a52f Log client error (#225)
* Log client error

* Log all errors
2020-02-20 08:30:50 +01:00
sveisvei
6e4a22bf54 use object.assign and pass along options 2020-02-20 08:30:50 +01:00
sveisvei
fa6c28de8f pass along hooks, add test to server impl 2020-02-20 08:30:50 +01:00
sveisvei
86ac44908d validate configures strategy shape 2020-02-20 08:30:49 +01:00
Simen Bekkhus
21e0522116 Remove uncaught exception logging
This is the responsibility of the app
2020-02-20 08:30:48 +01:00
vsandvold
743a597f42 provides a more helpful error msg when a new feature is created with an existing name 2020-02-20 08:30:46 +01:00
sveisvei
07dc23d23d use post instead of put 2020-02-20 08:30:46 +01:00
sveisvei
32a0b93096 add toggle endpoint 2020-02-20 08:30:46 +01:00
ivaosthu
8beb4b8876 Add simple API resource #191 2020-02-20 08:30:46 +01:00
ivaosthu
df7ad8c8bf Strategy name can be up to 100chars . Closes #195 2020-02-20 08:30:45 +01:00
sveisvei
925e42045f add sanity tests for metrics 2020-02-20 08:30:45 +01:00
sveisvei
ae195b5674 evict if new item directly is not eligible 2020-02-20 08:30:45 +01:00
sveisvei
efc9ae2f5d fix typ0 that broke time.now 2020-02-20 08:30:45 +01:00
sveisvei
17c58e77f2 add hook tests 2020-02-20 08:30:45 +01:00
sveisvei
2f1680d9c0 add app hooks 2020-02-20 08:30:45 +01:00
sveisvei
1d3faca238 fix lint 2020-02-20 08:30:45 +01:00
ivaosthu
744e41f9aa Strategy parameter description is allowed to be empty 2020-02-20 08:30:43 +01:00
ivaosthu
79de8fb7ed Added api for updating a strategy
relates to #184
2020-02-20 08:30:43 +01:00
ivaosthu
bc1f647f92 use fake timers for ttl test 2020-02-20 08:30:43 +01:00
sveisvei
f5578d986e check toggles and strategies in clientapps 2020-02-20 08:30:43 +01:00
ivaosthu
c8a9b39f27 Add schema validation for strategies 2020-02-20 08:30:43 +01:00
ivaosthu
ba5810506f Fix failing tests 2020-02-20 08:30:43 +01:00
ivaosthu
97f6731140 Strategy list should be sorted by name 2020-02-20 08:30:43 +01:00
sveisvei
381e7d4763 inject metadata on toplevel 2020-02-20 08:30:43 +01:00
sveisvei
d160fe933f serve with metadata 2020-02-20 08:30:43 +01:00
sveisvei
76d642069b Revert "Remove /api/client/seen-toggles as we don't need it anyway"
This reverts commit 63e6931265.
2020-02-20 08:30:42 +01:00
ivaosthu
52fcfb4a2b Remove /api/client/seen-toggles as we don't need it anyway 2020-02-20 08:30:42 +01:00
ivaosthu
51442a6cc4 Remove client_strategies table
We can just have a strategies column in the client_applications
table. This solves all our needs, and thus avoids the need
for an extra table.
2020-02-20 08:30:42 +01:00
ivaosthu
8764b952b3 A client-register should upsert client_applications table 2020-02-20 08:30:42 +01:00
sveisvei
5ad5127f81 fix lint and mock 2020-02-20 08:30:42 +01:00
sveisvei
3a6e7d02ef client applications 2020-02-20 08:30:42 +01:00
sveisvei
066fe5fdd2 recieve togglename to archive or revive via path 2020-02-20 08:30:42 +01:00
sveisvei
92111890d9 uppercase event type key constants 2020-02-20 08:30:42 +01:00
Ivar Conradi Østhus
377ad43bab Delete app.js 2020-02-20 08:30:42 +01:00
ivaosthu
9c6fad83c2 Added enpoint for fetching application implementing a strategy
`/api/client/applications?strategyName=foo` now returns list of
apps implementing that strategy!
2020-02-20 08:30:42 +01:00
sveisvei
803fc6752d send toggleName back 2020-02-20 08:30:42 +01:00
ivaosthu
b12a188faf amend prev commit 2020-02-20 08:30:42 +01:00
ivaosthu
6cdffb22d0 fix strateiges format for /client/applications 2020-02-20 08:30:42 +01:00
sveisvei
a959dc777d fetch seen apps instead 2020-02-20 08:30:42 +01:00
sveisvei
7609d0abeb add getAppsFromToggleName 2020-02-20 08:30:42 +01:00
sveisvei
d3063073b3 fix typ0 2020-02-20 08:30:42 +01:00
sveisvei
a1303f4c42 only log if num of cleaned is above 0 2020-02-20 08:30:41 +01:00
sveisvei
b5b846835b add single toggle metric endpoint 2020-02-20 08:30:41 +01:00
sveisvei
f425597640 fix lint 2020-02-20 08:30:41 +01:00
ivaosthu
d4d63af2b0 Option to disable request logging.
Because all request details are available via
prometheus there is no need to also log all requests.

This solves #164 but we should still replace log4j with something else.
2020-02-20 08:30:41 +01:00
ivaosthu
7057d11553 replace commander with yargs 2020-02-20 08:30:41 +01:00
ivaosthu
bec646d797 more tests 2020-02-20 08:30:41 +01:00
ivaosthu
35ad3aa072 cleanup bin 2020-02-20 08:30:40 +01:00
ivaosthu
f1a24be0e2 minor cleanup 2020-02-20 08:30:40 +01:00
ivaosthu
471518b41d Simplify metrics: We only need timings as it includes counts for free 2020-02-20 08:30:40 +01:00
ivaosthu
e075917136 cleanup 2020-02-20 08:30:40 +01:00
ivaosthu
8e6bcafa24 Server Metrics: add response time and status codes 2020-02-20 08:30:40 +01:00
ivaosthu
84e0810d64 Some Metrics API cleanups 2020-02-20 08:30:40 +01:00
ivaosthu
f7a89b8223 more tests 2020-02-20 08:30:40 +01:00
ivaosthu
b8014fdddf Server Metrics with Prometheus
Implementation use internal eventBus to enable loose counting in the app.

read more at https://prometheus.io/

Closes #98
2020-02-20 08:30:40 +01:00
ivaosthu
93c37b30c0 Metrics: wrte api documentation 2020-02-20 08:30:40 +01:00
sveisvei
e55378e1c4 Better client informations from the API.
Impelements:
- http://unleash.host.com/api/client/seen-toggles
- http://unleash.host.com/api/metrics/feature-toggles
- http://localhost:4242/api/client/applications
- http://localhost:4242/api/client/applications/:appName
2020-02-20 08:30:40 +01:00
ivaosthu
13a93dcf43 Should not expose legacy fields to whole system 2020-02-20 08:30:40 +01:00
Ivar
3fa930baf0 Added strategies validation when creating/updating toggles 2020-02-20 08:30:39 +01:00
sveisvei
a34ee105fe add count to app state 2020-02-20 08:30:39 +01:00
sveisvei
68ac0c71c9 fix typ0 2020-02-20 08:30:39 +01:00
sveisvei
1dab39f0f9 move app and server-impl into lib folder 2020-02-20 08:30:39 +01:00
sveisvei
067b93abfd add tests, rename folders to ava defaults for helpers/fixtures, remove migration og 2020-02-20 08:30:39 +01:00
sveisvei
e730937849 add more unit tests for metrics 2020-02-20 08:30:39 +01:00
sveisvei
cad07cc6ec use options obj 2020-02-20 08:30:39 +01:00
ivaosthu
14deebae1f options to specify different db-schema 2020-02-20 08:30:38 +01:00
ivaosthu
39b5f26f56 Add unit-test for /health route 2020-02-20 08:30:38 +01:00
ivaosthu
5735b0931a Cleanup route/metrics a bit 2020-02-20 08:30:38 +01:00
ivaosthu
a665b1b999 Started on unit test for metrics-route 2020-02-20 08:30:38 +01:00
ivaosthu
aa4140141e upgrade log4js to 1.0.1 2020-02-20 08:30:38 +01:00
ivaosthu
46bc109ff9 fix tests 2020-02-20 08:30:37 +01:00
ivaosthu
90859701c6 remove all lerna stuff 2020-02-20 08:30:37 +01:00
sveisvei
7bacad7b90 use lerna for multipackaging 2020-02-20 08:30:26 +01:00
Ivar
1c092484f7 Remove finn config #133 2020-02-20 08:30:26 +01:00
Ivar
b2e9f38965 Statefull modules should be injected from top 2020-02-20 08:30:25 +01:00
Ivar
5282ebfcc9 Move all custom-scripts to /scripts folder 2020-02-20 08:30:25 +01:00
ivaosthu
0325cd92fb Move all routes to a routes folder 2020-02-20 08:30:24 +01:00
ivaosthu
1caf2ddc53 seems like knex 0.11 is more restrict about not using undefined 2020-02-20 08:30:24 +01:00
ivaosthu
2e6f4187c5 upgrade knex 2020-02-20 08:30:24 +01:00
Anders Olsen Sandvik
a96a9f38ce #108 Add eslint-config-spt and remove jshint (#111)
* #108 Add eslint-config-spt

* #108 Ignore bundle.js file

* #108 Change eslint ignore path to a glob file

* Remove jshint and follow more of eslint rules
2020-02-20 08:30:24 +01:00
ivaosthu
94f10a3a4b upgrade node to 4.2.2. Closes #106 2020-02-20 08:30:24 +01:00
giacung
98cd0663ff Health check should verify that it can talk to the toggle-store (aka DB).
This commit fixes #103 by doing a simple select against the features table.
2020-02-20 08:30:24 +01:00
Ivar Conradi Østhus
d35666e353 Added poller to keep the store in sync with server. 2020-02-20 08:30:21 +01:00
Jari Bakken
8b9c0a6e85 Reduce logging in production. 2020-02-20 08:30:21 +01:00
andsandv
0552e588ae Check if strategy exsit before deleting it 2020-02-20 08:30:21 +01:00
andsandv
d600cdd359 #80 More renaming 2020-02-20 08:30:21 +01:00
andsandv
806da1eb44 #80 Rename event ypes 2020-02-20 08:30:20 +01:00
andsandv
de5dc7bfc6 Revert "#80 Change all event types to past tense"
This reverts commit a754fcb3a9.
Might break database so I'll send a pull request.
2020-02-20 08:30:20 +01:00
andsandv
5298b50cb7 #80 Change all event types to past tense 2020-02-20 08:30:20 +01:00
Ivar Conradi Østhus
6819b7a1e0 When the user enters his username in to the field
a username cookie is updated and will be available
in all subsequent requests.

THIS IS NOT AUTHENTICATION! it is not safe and is
only implemented as a first edition. It does how ever
solve the issue where we are not able to see who
canged what.
2020-02-20 08:30:20 +01:00
Jari Bakken
12710a6d04 log views: show event diffs by default, toggle to show the full event. 2020-02-20 08:30:20 +01:00
ivaosthu
1024493d63 Added archived toggles feature #43 2020-02-20 08:30:19 +01:00
ivaosthu
658e3ac2bc API and gui for archiving #43 2020-02-20 08:30:19 +01:00
Jari Bakken
f999388e03 Use TEST_DATABASE_URL for running test against a separate DB. 2020-02-20 08:30:19 +01:00
Jari Bakken
745de6867d Skip API and create test data in the DB directly (since the API is async) 2020-02-20 08:30:18 +01:00
Jari Bakken
642c06f6ba Begin work on running tests against the database:
* Add Travis postgresql setup.
* Replace "db mocks" with a before hook that creates the same data
  through the HTTP API.
* Reset DB and re-create all fixtures for each test. We'll need
  something  better here.
* CAVEAT: no concept of a dev vs test database. Running tests will
  clear data from the currently configured database.
2020-02-20 08:30:18 +01:00
ivaosthu
32125ca4fb Clean up strategyApi with chained-promises 2020-02-20 08:30:18 +01:00
ivaosthu
91651979d0 Syntax 2020-02-20 08:30:18 +01:00
ivaosthu
b1ccb2e999 Validation logic should probably not be in the db-code 2020-02-20 08:30:18 +01:00
ivaosthu
ae0fdce395 Cleaned up and changed promises used in the feature API 2020-02-20 08:30:18 +01:00
ivaosthu
c2a809a819 changed order for feature toggles. 2020-02-20 08:30:18 +01:00
ivaosthu
c20252d9d7 Implemented server side API for deleting strategies.
relates to #60
2020-02-20 08:30:18 +01:00
ivaosthu
03c84c086c strategies should be order after createdAt ASC 2020-02-20 08:30:17 +01:00
Jari Bakken
a169ec1352 Add ability to create custom stratgies. Closes #11. 2020-02-20 08:30:17 +01:00
Ivar Østhus
a2f486c0d4 strategies should be fetched from DB 2020-02-20 08:30:17 +01:00
Ivar Østhus
fe17b51bd9 Added the default strategies via migration 2020-02-20 08:30:16 +01:00
Gard Rimestad
c8c7f57cfb Improvements on log view 2020-02-20 08:30:16 +01:00
Jari Bakken
b4f6166afb Fix getFeature() semantics
It will always reject if the feature is not found, not resolve to null.
2020-02-20 08:30:16 +01:00
Jari Bakken
1371560840 Use knex' map() 2020-02-20 08:30:16 +01:00
Jari Bakken
412067c42f Use knex for DB access. Closes #46. 2020-02-20 08:30:16 +01:00
Jari Bakken
d2ce90b394 Replace PATCH with PUT, which enables editing multiple fields at once.
Closes #47.
2020-02-20 08:30:16 +01:00
Gard Rimestad
1777b5a510 Fix event api 2020-02-20 08:30:16 +01:00
Gard Rimestad
78434a7ca1 Adding events/:name 2020-02-20 08:30:16 +01:00
Jari Bakken
fdf324a9f5 Add features.description to db and ui 2020-02-20 08:30:15 +01:00
Jari Bakken
86e168ec84 Reduce duplication when adding a new migration. 2020-02-20 08:30:15 +01:00
Ivar Østhus
dd75e69ac6 Strategies should also have description #34 2020-02-20 08:30:14 +01:00
Jari Bakken
971559a5be Get rid of deprecation warnings. 2020-02-20 08:30:14 +01:00
ivaosthu
b1b3d408f7 Simple tab-based menu to have a contianer for strategies 2020-02-20 08:30:13 +01:00
ivaosthu
b2d4cbf5de added server side validation of feature name 2020-02-20 08:30:13 +01:00
Jari Bakken
f06a4a8a51 Move unleash-server to top level. 2020-02-20 08:30:13 +01:00