Ivar Conradi Østhus
bf1223e07d
fix: rename services
2021-12-10 09:31:54 +01:00
Ivar Conradi Østhus
cf70da71c9
fix: lint
2021-12-10 09:31:54 +01:00
Ivar Conradi Østhus
bb4e6290d5
fix: move toggle-counters to metrics service
2021-12-10 09:31:54 +01:00
Ivar Conradi Østhus
9f13b801eb
fix: rename metrics-service to client-instance service
2021-12-10 09:31:54 +01:00
Ivar Conradi Østhus
4a9939ccb1
feat: remove old metrics service
2021-12-10 09:31:54 +01:00
Youssef Khedher
7ec9672a5c
Merge pull request #1145 from Unleash/feat/update-health-report
...
feat: update health report
2021-12-06 15:39:45 +01:00
Fredrik Strand Oseberg
98d64fc1e4
fix: open validate endpoint ( #1162 )
...
* fix: open validate endpoint
* fix: set validate permission to none
2021-12-06 15:19:25 +01:00
Ivar Conradi Østhus
3c550f157a
fix: always require permission for POST, PATCH, PUT, DELETE ( #1152 )
2021-12-03 12:46:50 +01:00
Ivar Conradi Østhus
784ddf8fb3
fix: cleanup old user permissions ( #1150 )
2021-12-01 22:10:09 +01:00
Youssef
5e6e7e1aac
adding tests
2021-12-01 10:41:41 +01:00
Youssef
26c9bfa3c8
fix: add timestamp on project creation for update_at column
2021-12-01 09:59:34 +01:00
Youssef
00f5740d18
fix: rename last_update to updated_at
2021-11-30 15:25:52 +01:00
Youssef
c3273ce1ab
fix: remove lastUpdate from fieldToRow
2021-11-30 15:14:50 +01:00
Youssef
71c6b05bc4
fix: remove unused dep
2021-11-30 14:53:31 +01:00
Youssef
10c1b56e38
add lastupdate to health report
2021-11-30 14:05:44 +01:00
Youssef
991a4a8634
add last-update migration to projects table
2021-11-30 10:40:58 +01:00
Ivar Conradi Østhus
eb8265922d
Fix/enable standard environments ( #1134 )
2021-11-26 15:31:36 +01:00
Christopher Kolstad
5829ec7b3d
task: Sort variants by name ( #1132 )
2021-11-26 13:06:36 +01:00
Christopher Kolstad
5cdb3f665a
task: Ban changes to variants through feature ( #1130 )
...
* task: Ban changes to variants through feature
After adding the new `/variants` endpoint for features we now have a way
to access control adding/modifying variants, so the /:featureName
endpoint should no longer allow editing/adding variants.
This removes variants as a known field from the featureMetadata schema
and tells joi to stripUnknown, thus making sure we never include
variants in the initial creation or future update calls.
For the old features v1 API we allow it to declare that it has already
validated the data coming with its own schema, so we should use the data
we get from it. Thus keeping the old v1 functionality intact
Co-authored-by: Simon Hornby <simon@getunleash.ai>
2021-11-25 14:53:58 +01:00
Ivar Conradi Østhus
b47b507e18
fix: metrics v2 should await for the clearer ( #1114 )
2021-11-25 14:18:35 +01:00
Christopher Kolstad
c9ff3972e2
fix: Stop healthrating from including archived ( #1128 )
...
- Since the archived toggles are not visible in the health dashboard,
including them in the health rating calculation makes for some really
confusing dashboards. This PR makes sure we only include non-archived
toggles when calculating health.
2021-11-25 10:09:23 +01:00
Christopher Kolstad
72092e4a1c
fix: make new variant api validate name uniqueness ( #1126 )
2021-11-24 14:22:28 +01:00
Christopher Kolstad
6c6001619c
Feat/variant api ( #1119 )
...
Add a new .../:feature/variants API
This adds
- `GET /api/admin/projects/:projectId/features/:featureName/variants` which returns
```json
{ version: '1', variants: IVariant[] }
```
- `PATCH /api/admin/projects/:projectId/features/:featureName/variants` which accepts a json patch set and updates the feature's variants field and then returns
```json
{ version: '1', variants: IVariant[] }
```
- `PUT /api/admin/projects/:projectId/features/:featureName/variants`
which accepts a IVariant[] and overwrites the current variants list for the feature defined in :featureName and returns
```json
{ version: '1', variants: IVariant[] }
- This also makes sure the total weight of all variants is == 1000
- Validates that there is at least 1 'variable' variant if there are variants
- Validates that 'fix' variants total weight can't exceed 1000
- Adds tests for all these invariants.
Co-authored-by: Simon Hornby <simon@getunleash.ai>
2021-11-24 13:08:04 +01:00
Fredrik Strand Oseberg
c369b77b24
Merge branch 'master' into feat/splash
2021-11-12 13:19:36 +01:00
Youssef
2d03b8c61e
fix: return be object instead of array
2021-11-12 13:19:06 +01:00
Ivar Conradi Østhus
d8478dd928
feat: clean up events ( #1089 )
...
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2021-11-12 13:15:51 +01:00
Youssef
16429fcf9a
fix: add cascade query inside create table for splash
2021-11-12 13:01:56 +01:00
Youssef
0199d1f211
fix: remove req.body from the splash object when update
2021-11-12 12:44:33 +01:00
Youssef Khedher
314c60393f
Merge branch 'master' into feat/splash
2021-11-12 11:30:08 +01:00
Youssef
e0356eff6d
fix: update e2e test for splash
2021-11-12 11:18:09 +01:00
Youssef
fc275a6183
fix: update sql query in add-splash-entry
2021-11-12 11:02:12 +01:00
Youssef
c4e56aae09
fix: remove record splash and update sql query in add-splash-entry
2021-11-12 10:49:09 +01:00
Martin Lehmann
064599c942
fix: refactor client-metrics list and ttl-list to TypeScript ( #1080 )
...
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-11-11 20:29:40 +01:00
Ivar Conradi Østhus
f0895cf653
fix: prevent deadlock for batchinserting usage metrics ( #1100 )
...
* fix: prevent deadlock for batchinserting usage metrics
In client metrics v2 we utilize postgres to count the usage
across a few dimentions (featureName, app_name, environment).
It turns out that if the UPDATE values are not executed in a predictable
order we can end up in a deadlock scenario with postgresql.
In this fix we thus sort the metrics on the feature_name, app_name and
envrionment, to make sure they always are executed in a predictabel
order, and thus avoiding independent inserts colliding in to a deadlock
waiting for eachother.
* fix: tests cannot assume order
2021-11-11 16:05:29 +01:00
Youssef
cd38c5a01d
add e2e splash test
2021-11-10 11:24:44 +01:00
Youssef
db9722dccc
add splash e2e + api tests
2021-11-10 11:24:01 +01:00
Youssef
c4da3e89c5
fix: styling
2021-11-09 20:55:23 +01:00
Youssef
96f2514fc5
send splash data in the user object
2021-11-09 20:39:13 +01:00
Youssef
cc516618a1
add splash-controller and cascade migration
2021-11-09 14:16:34 +01:00
Fredrik Oseberg
d73293c576
fix: add migration
2021-11-09 11:52:02 +01:00
Youssef
875fb7734c
create splash migration store and service file
2021-11-08 16:31:38 +01:00
Ivar Conradi Østhus
645a8bce05
fix: convert iso-strings from db to date object
2021-11-04 22:16:48 +01:00
Ivar Conradi Østhus
053956b45e
fix/projectId cannot change for strategy configs ( #1084 )
2021-11-04 21:24:55 +01:00
Fredrik Strand Oseberg
ec60f4485c
fix: disable projects ( #1085 )
2021-11-04 21:09:52 +01:00
Lennart
759b592d90
fix: update mime library method signature to 2.X ( #1078 )
...
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-11-02 23:43:16 +01:00
Martin Lehmann
b47e228181
fix: be explicit when specifying time & replace moment with date-fns ( #1072 )
2021-11-02 15:13:46 +01:00
Ivar Conradi Østhus
59f1c6e8e9
fix: add default sort order for built in envs ( #1076 )
2021-10-29 13:02:05 +02:00
Ivar Conradi Østhus
b04b6b3ef7
chore: mute expected test errors
2021-10-29 11:22:40 +02:00
Ivar Conradi Østhus
4fb1bcb524
feat: Disable password based login ( #1046 )
...
This commit will introduce a new setting used to disbaled
simple password based authention.
The setting itself is an enterprise setting.
2021-10-29 10:25:42 +02:00
Ivar Conradi Østhus
9e73ed8f47
chore: remvoe console.error for tests expecting error
2021-10-29 09:25:47 +02:00
Ivar Conradi Østhus
0e3813f5f6
fix: lint
2021-10-28 16:32:50 +02:00
Ivar Conradi Østhus
3ef7fd2420
fix: legacy feature stale on/off needs to return full toggle
2021-10-28 15:48:07 +02:00
Ivar Conradi Østhus
d0b2ce3170
fix: add enpoint for fetching a single user ( #1074 )
...
* fix: add enpoint for fetching a single user
* fix add api docs
2021-10-28 14:24:09 +02:00
Ivar Conradi Østhus
8040abb1c4
fix: reuse message formatter for addons ( #1058 )
2021-10-28 14:09:11 +02:00
Ivar Conradi Østhus
131eeeaa78
fix: demo-auth should use /auth path
2021-10-26 23:04:44 +02:00
Martin Lehmann
607b2a6657
fix: use date-fns for date/time maths instead of (wrong) Date#setHours ( #1070 )
...
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-10-26 20:13:30 +02:00
Martin Lehmann
3030666f18
chore: pool min 1, max 4 DB connections & limit Jest workers to 4 ( #1069 )
2021-10-26 19:50:13 +02:00
Ivar Conradi Østhus
07202a9910
fix: removing a strategy from a toggle should only require UPDATE_FEATURE permission
2021-10-25 11:14:38 +02:00
Christopher Kolstad
6914bd7908
fix: Only trigger environment enabled/disabled events if different f… ( #1053 )
...
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-10-21 22:33:50 +02:00
Ivar Conradi Østhus
1924961efa
fix: simplify how we update projects
2021-10-21 21:06:56 +02:00
Christopher Kolstad
f0dfe204ee
fix: Remove duplicate FEATURE_METADATA_UPDATED from events list for webhook addon ( #1052 )
2021-10-21 20:54:03 +02:00
Ivar Conradi Østhus
a0d5b04388
fix: only send FEATURE_UPDATED for legacy ( #1054 )
...
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2021-10-21 20:53:39 +02:00
Christopher Kolstad
b7b5f0caa0
fix: add constraint for changing project. ( #1049 )
...
- In order for a feature toggle to be allowed to change project, the
target project must have the same enabled environments.
- If the feature toggle has an environment which is not in use that does
not exist in target project, this is ok.
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
Co-authored-by: Fredrik Strand Oseberg <fredrik.no@gmail.com>
2021-10-21 10:29:09 +02:00
Ivar Conradi Østhus
3484340cd0
fix: only add project environments if enabled ( #1050 )
2021-10-21 10:14:35 +02:00
Christopher Kolstad
62b121285c
Create a apiuser for demo auth. ( #1045 )
...
- If api token middleware is disabled, still allow calls to /api/client with a
populated fake api user with client access.
2021-10-20 13:16:07 +02:00
Christopher Kolstad
28d0238732
add try-catch to demo auth middleware ( #1044 )
...
- Since we validate email used in auth the route function needs to
handle the possibility that userService.loginUserWithoutPassword can
throw.
2021-10-19 14:24:23 +02:00
Christopher Kolstad
1f37b0bf4b
fix: make hasPermission call handle api tokens ( #1041 )
2021-10-19 11:34:56 +02:00
Christopher Kolstad
26407cc02e
Fix/feature strategies needs project update ( #1040 )
...
* Make sure feature_strategies follow feature to new project
2021-10-19 09:49:43 +02:00
Ivar Conradi Østhus
3b925902d7
fix: event-log
2021-10-15 20:11:51 +02:00
Ivar Conradi Østhus
5f6758d8f0
fix: update context field does not await the response ( #1027 )
2021-10-14 08:30:36 +02:00
Ivar Conradi Østhus
ae03390331
fix: add support for experimental flags ( #1025 )
2021-10-13 20:52:44 +02:00
Ivar Conradi Østhus
daba53976d
fix: feature_strategies paramter column should not be null ( #1024 )
2021-10-13 12:42:57 +02:00
Ivar Conradi Østhus
41574e3938
fix: create admin users if enabled and zero users already
2021-10-12 21:39:57 +02:00
Christopher Kolstad
20a4aeff97
Make Appinstance registration include environment ( #1014 )
2021-10-12 10:39:28 +02:00
Christopher Kolstad
d176028a00
Trigger STALE events when patching stale field
...
- Also moved the patch function into service, instead of performing the
operation in the controller
2021-10-11 11:27:20 +02:00
Ivar Conradi Østhus
fc455811f8
feat/metricsV2 ( #1005 )
...
Adds a new way of handling usage metrics where we push it directly to the database and performs aggregation on the fly. All metrics are aggregated in to buckets of hours. We will for now store metrics for the 48 hours with the following dimensions:
- featureName
- projectName
- envrionment
- yes (the actual count)
- no (the actual count)
2021-10-08 10:09:22 +02:00
Ivar Conradi Østhus
3612884501
feat: clone feature toggle API ( #1006 )
2021-10-08 09:37:27 +02:00
Christopher Kolstad
b4b222f4c9
feat: add new more specific feature/environment events to addons ( #994 )
...
* feat: add new more specific feature/environment events to addons
* Updated strategy change text
* Update all three addon messages for strategy
* Link to new features view for strategy change text
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-10-07 10:22:20 +02:00
Fredrik Strand Oseberg
12245664ad
fix: add sort order to environments ( #1004 )
...
* fix: add sort order to environments
* fix: lint
* fix: remove display name
2021-10-06 09:39:59 +02:00
Christopher Kolstad
a401580228
task: Disables feature_environments without strategies ( #1003 )
2021-10-06 09:25:34 +02:00
Ivar Conradi Østhus
796f202da3
fix: lint
2021-10-01 22:28:09 +02:00
Ivar Conradi Østhus
fa56124b89
fix: do not filter FEATURE_METADATA_UPDATE events
2021-10-01 13:04:00 +02:00
Ivar Conradi Østhus
ee660c8eef
fix: client api should return feature toggles for disabled environments ( #995 )
...
* fix: client api should return feature toggles for disabled environments
* fix: add test
* lint
2021-10-01 12:27:05 +02:00
Ivar Conradi Østhus
54a99460ce
fix: add projects api for oss as well
2021-10-01 10:59:43 +02:00
Christopher Kolstad
efdbda68e4
fix: reduce data in FEATURE_ENVIRONMENT events
2021-09-29 12:58:02 +02:00
Ivar Conradi Østhus
0a83abe101
fix: add environments to project details ( #992 )
2021-09-29 12:22:04 +02:00
Christopher Kolstad
e3cebb21c8
task: add default environment ( #989 )
...
- Adds development and production environments.
- Connects default environment to all projects
- When creating a project connects the project to all enabled
environments
2021-09-29 11:09:35 +02:00
Christopher Kolstad
c870b33ba6
task: remove displayName from environments ( #988 )
...
This will require a change in enterprise as well.
2021-09-29 10:23:43 +02:00
Ivar Conradi Østhus
f6169540a5
fix: Store metrics only if not empty ( #991 )
2021-09-29 09:47:49 +02:00
renovate[bot]
120eb2b2fa
fix(deps): update dependency js-yaml to v4 ( #985 )
...
* fix(deps): update dependency js-yaml to v4
* fix: upgrade to js-yaml v4
* fix: upgrade to js-yaml 4.1.0
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-09-28 20:53:39 +02:00
Christopher Kolstad
77d781db12
task: Adds FEATURE_ENVIRONMENT_{ENABLED,DISABLED} events ( #970 )
...
* task: Adds FEATURE_ENVIRONMENT_{ENABLED,DISABLED} events
2021-09-27 14:07:26 +02:00
Ivar Conradi Østhus
b2f6b9e343
fix: envrionments should have type
2021-09-24 14:16:13 +02:00
Ivar Conradi Østhus
4b7e1f4a81
feat: rename :global: env to "default" ( #947 )
...
Our testing and internal validation has proven that
the :global: environment concept confuses people more
than the problems it solves. We have thus decided to
group all configuration that was created before the
environment concept was introduced in to the "default
environment. This would still make everything work
as before in addition to introducing the env concept.
Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2021-09-24 13:55:00 +02:00
Christopher Kolstad
0bca321219
fix: Enforce non-nullability of environment type ( #950 )
...
* fix: Enforce non-nullability of environment type
2021-09-24 09:11:36 +02:00
Christopher Kolstad
132e801836
Add UPDATE and DELETE TAG_TYPE permissions ( #951 )
2021-09-24 09:01:15 +02:00
Christopher Kolstad
e42e0f620a
fix: don't include archived feature strategies ( #955 )
2021-09-24 08:55:53 +02:00
Ivar Conradi Østhus
b08988075c
fix: correct test verifications
2021-09-23 21:14:43 +02:00
Christopher Kolstad
62b0bcbdc4
fix: Added displayName to feature environments
2021-09-23 16:25:24 +02:00
Christopher Kolstad
e7b948e9db
Add type to environments
...
- Now returns type as part of the environment object when requesting
a feature
2021-09-23 16:16:31 +02:00
Christopher Kolstad
5af2633d6d
added tests and exports for 3.17, 4.0 and 4.1 ( #944 )
...
Co-authored-by: Ivar Conradi Østhus <ivarconr@gmail.com>
2021-09-20 12:29:16 +02:00