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

145 Commits

Author SHA1 Message Date
Christopher Kolstad
b06613d1b0
feat: Adds rate limiting to metric POST endpoints (#5075)
### What
The heaviest requests we serve are the register and metrics POSTs from
our SDKs/clients.
This PR adds ratelimiting to /api/client/register, /api/client/metrics,
/api/frontend/register and /api/frontend/metrics with a default set to
6000 requests per minute (or 100 rps) for each of the endpoints.

It will be overrideable by the environment variables documented.

### Points of discussion
@kwasniew already suggested using featuretoggles with variants to
control the rate per clientId. I struggled to see if we could
dynamically update the middleware after initialisation, so this attempt
will need a restart of the pod to update the request limit.
2023-10-18 13:00:44 +02:00
Mateusz Kwasniewski
4dd01c1765
docs: dependent features (#5058) 2023-10-18 08:57:04 +02:00
Mark Fulton
2754c26f2e
docs/video embed, academy video embed fixes (#5005)
PR contains the following:

1) New video embeds for the following docs:

- website/docs/reference/deploy/environment-import-export.mdx
- website/docs/reference/playground.mdx
- website/docs/reference/strategy-constraints.md
- website/docs/topics/a-b-testing.md

2) Improvements to the Academy course playlist embedding for the three
Academy courses. Tested the standard method of embedding video, and it
seems this works well for playlists too.
Switching to the native Docusaurus embed solves the issue with dynamic
resizing. Rather than a static embed size the video will now scale to
the browser window size.
2023-10-11 14:20:16 -05:00
Nuno Góis
b0eba109d3
docs: add feature availability troubleshooting guide (#4989)
Adds a small troubleshooting guide for Unleash features availability.
This is not specific to features that have a visual component in the
admin UI, but that's the most common scenario.
2023-10-10 11:17:06 -05:00
Thomas Heartman
fa4d6b211a
docs: make videos bigger (#4980)
This PR changes the `VideoContent` component to:
- remove the extra text; keeps only videos
- makes videos take up the full article width
- multiple videos stack vertically (this may or may not be the best way
to handle it, but we don't have any instances of using multiple videos
as of right now, so we shouldn't touch this until we do).

By chance, it also removes a lot of trailing whitespace in files. I
suggest checking out the diff with whitespace hidden.

Before (single video):

![image](https://github.com/Unleash/unleash/assets/17786332/e47e8827-93e9-4dbc-bdfb-cdb1665fae98)


Before (if there were multiple videos): 

![image](https://github.com/Unleash/unleash/assets/17786332/f41ab11f-649f-4369-96fe-70a5d66ced40)


After (single video):

![image](https://github.com/Unleash/unleash/assets/17786332/0df9d3fd-3935-4567-93d0-470682fe4bb3)


After (if there are multiple videos): 

![image](https://github.com/Unleash/unleash/assets/17786332/98b4a590-c03c-40a1-880f-93ad05090c5e)
2023-10-10 11:42:25 +02:00
Jonas Strømsodd
80c4a8277c
feat: allow defining initial admin user as env variable (#4927)
Closes #4560
2023-10-06 09:07:06 +02:00
Nuno Góis
521cc24a22
feat: add more events in integrations (#4815)
https://linear.app/unleash/issue/2-1253/add-support-for-more-events-in-the-slack-app-integration

Adds support for a lot more events in our integrations. Here is how the
full list looks like:

- ADDON_CONFIG_CREATED
- ADDON_CONFIG_DELETED
- ADDON_CONFIG_UPDATED
- API_TOKEN_CREATED
- API_TOKEN_DELETED
- CHANGE_ADDED
- CHANGE_DISCARDED
- CHANGE_EDITED
- CHANGE_REQUEST_APPLIED
- CHANGE_REQUEST_APPROVAL_ADDED
- CHANGE_REQUEST_APPROVED
- CHANGE_REQUEST_CANCELLED
- CHANGE_REQUEST_CREATED
- CHANGE_REQUEST_DISCARDED
- CHANGE_REQUEST_REJECTED
- CHANGE_REQUEST_SENT_TO_REVIEW
- CONTEXT_FIELD_CREATED
- CONTEXT_FIELD_DELETED
- CONTEXT_FIELD_UPDATED
- FEATURE_ARCHIVED
- FEATURE_CREATED
- FEATURE_DELETED
- FEATURE_ENVIRONMENT_DISABLED
- FEATURE_ENVIRONMENT_ENABLED
- FEATURE_ENVIRONMENT_VARIANTS_UPDATED
- FEATURE_METADATA_UPDATED
- FEATURE_POTENTIALLY_STALE_ON
- FEATURE_PROJECT_CHANGE
- FEATURE_REVIVED
- FEATURE_STALE_OFF
- FEATURE_STALE_ON
- FEATURE_STRATEGY_ADD
- FEATURE_STRATEGY_REMOVE
- FEATURE_STRATEGY_UPDATE
- FEATURE_TAGGED
- FEATURE_UNTAGGED
- GROUP_CREATED
- GROUP_DELETED
- GROUP_UPDATED
- PROJECT_CREATED
- PROJECT_DELETED
- SEGMENT_CREATED
- SEGMENT_DELETED
- SEGMENT_UPDATED
- SERVICE_ACCOUNT_CREATED
- SERVICE_ACCOUNT_DELETED
- SERVICE_ACCOUNT_UPDATED
- USER_CREATED
- USER_DELETED
- USER_UPDATED

I added the events that I thought were relevant based on my own
discretion. Know of any event we should add? Let me know and I'll add it
🙂

For now I only added these events to the new Slack App integration, but
we can add them to the other integrations as well since they are now
supported.

The event formatter was refactored and changed quite a bit in order to
make it easier to maintain and add new events in the future. As a
result, events are now posted with different text. Do we consider this a
breaking change? If so, I can keep the old event formatter around,
create a new one and only use it for the new Slack App integration.

I noticed we don't have good 404 behaviors in the UI for things that are
deleted in the meantime, that's why I avoided some links to specific
resources (like feature strategies, integration configurations, etc),
but we could add them later if we improve this.

This PR also tries to add some consistency to the the way we log events.
2023-09-29 16:11:59 +01:00
Mark Fulton
d0e9e33573
docs: add video to SDK overview reference (#4855)
Added video embed into the SDK overview reference doc:
https://docs.getunleash.io/reference/sdks
2023-09-27 14:06:41 -05:00
Mark Fulton
a7040a29c4
doc: Strategy variants video update (#4854)
Added video embed for Strategy Variants reference
2023-09-27 13:50:57 -05:00
David Leek
0938b2e545
docs: improve datadog integration docs (#4802)
## About the changes

Improvement to the description of the datadog integration. Adds 2
missing event types, removes an event type that is deprecated and about
to be completely removed, adds missing description of extra json headers
and source type name, and adds description for the new configuration
option for JSON body support

---------

Co-authored-by: Nuno Góis <github@nunogois.com>
Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2023-09-26 11:15:22 +01:00
Nuno Góis
b9946ee35c
docs: Unleash Slack App integration (#4801)
https://linear.app/unleash/issue/2-1235/docs-slack-app-integration-documentation

This adds a new reference doc for the new Unleash Slack App integration
and marks the previous Slack integration as deprecated.

As a side-effect this PR also fixes an issue where we wouldn't be able
to delete tags with special characters.

---------

Co-authored-by: David Leek <david@getunleash.io>
Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2023-09-22 23:19:17 +01:00
Ivar Conradi Østhus
013efac46b
feat: open-source segments 🚀 (#4690)
We love all open-source Unleash users. in 2022 we built the [segment
capability](https://docs.getunleash.io/reference/segments) (v4.13) as an
enterprise feature, simplify life for our customers.

Now it is time to contribute it to the world 🌏

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.io>
2023-09-19 11:24:26 +00:00
Thomas Heartman
53c40372dd
Update webhook.md (#4739)
fix a couple typos
2023-09-15 11:15:50 +02:00
Thomas Heartman
1539d1955f
docs(1-1262): Change addons -> integrations (#4523)
This PR replaces references to _addons_ in the docs with references to
_integrations_.

In doing so, I have also:
- moved `/reference/addons` documents into `/reference/integrations`
- combined the previous "Addons" and "Integrations" categories into a
new "Integrations" category
- added redirects from all the old addons pages to their new locations

I have updated the wording, but have not changed things such as API
paths, event names, etc, because these will not change at the moment
(maybe a breaking change to schedule for v6?).

---------

Co-authored-by: Tymoteusz Czech <2625371+Tymek@users.noreply.github.com>
2023-09-14 15:27:51 +02:00
Tymoteusz Czech
e8d5f0cf56
fix: integrations text review (#4706)
## About the changes
Update copy

Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2023-09-14 12:01:29 +00:00
Tymoteusz Czech
66c790fbf1
fix: Integrations quality updates (#4677)
Fix issues uncovered when reviewing integrations list and form.

- YouTube CSP
- Text content and formatting
- Margins
- Update old integration icons
- Fix headers in dark theme
2023-09-14 10:17:33 +02:00
Thomas Heartman
85f03ba567
Update webhook.md (#4684)
fix a typo
2023-09-14 08:09:39 +02:00
Thomas Heartman
44db4fb0c3
1-1360: explain implicit ^ and $ in docs (#4668)
Update docs to explain that ^ and $ are implicit in the regexes used.
2023-09-12 14:23:19 +02:00
Nuno Góis
c6af38b12b
docs: add mention of multiple project roles (#4648)
https://linear.app/unleash/issue/2-1130/documentation-about-multiple-project-roles

- Adds a section for the feature in the "Role-based Access control"
reference doc;
- Removes the mention that "Groups that *do* have a root role can't be
assigned to a project." which is no longer true;
- Adds a reference to multiple project roles in the "How to create and
assign custom project roles" guide;
- Fixes a wrong sentence in the "Assigning custom project roles" section
of the aforementioned guide;

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2023-09-11 14:41:47 +01:00
Thomas Heartman
4de3ff3d2f
docs: feature flag naming patterns (#4632)
This PR adds a reference doc and a how-to doc for feature flag naming
patterns.

Extra thanks to @sebastian-bury for the draft from the offsite 👏🏼
2023-09-11 15:28:10 +02:00
Simon Hornby
2b210a85fd
docs: update compatibility matrix with strategy variants (#4626) 2023-09-08 10:34:04 +02:00
Nuno Góis
1ae700a027
feat: add request logger env variable (#4614)
Adds a new env variable for request logger.

---------

Co-authored-by: Gastón Fournier <gaston@getunleash.io>
2023-09-05 15:32:20 +01:00
Mateusz Kwasniewski
3ebeea4d64
docs: strategy variants ruby and dotnet sdk versions (#4570) 2023-08-25 08:28:47 +02:00
Mateusz Kwasniewski
a2bd7d42a1
feat: change request reject docs and step update (#4493) 2023-08-16 09:46:05 +02:00
Mateusz Kwasniewski
90f5af6b61
docs: change requests for segments (#4476) 2023-08-11 09:48:37 +02:00
Nuno Góis
95f4f641b5
docs: custom root roles (#4451)
https://linear.app/unleash/issue/2-1136/custom-root-roles-documentation

- [Adds documentation referencing custom root
roles](https://unleash-docs-git-docs-custom-root-roles-unleash-team.vercel.app/reference/rbac);
- [Adds a "How to create and assign custom root roles" how-to
guide](https://unleash-docs-git-docs-custom-root-roles-unleash-team.vercel.app/how-to/how-to-create-and-assign-custom-root-roles);
 - Standardizes "global" roles to "root" roles;
- Standardizes "standard" roles to "predefined" roles to better reflect
their behavior and what is shown in our UI;
 - Updates predefined role descriptions and makes them consistent;
 - Updates the side panel description of the user form;
- Includes some boy scouting with some tiny fixes of things identified
along the way (e.g. the role form was persisting old data when closed
and re-opened);
 
 Questions:

- Is it worth expanding the "Assigning custom root roles" section in the
"How to create and assign custom root roles" guide to include the steps
for assigning a root role for each entity (user, service account,
group)?
- Should this PR include an update to the existing "How to create and
assign custom project roles" guide? We've since updated the UI;

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2023-08-10 08:21:58 +01:00
Mateusz Kwasniewski
c549280e31
fix: Performance improvements for demo and docs update (#4454) 2023-08-09 12:58:03 +02:00
Mateusz Kwasniewski
f889eba6e9
docs: update strategy variants sdks and add sidebar link (#4436) 2023-08-07 14:53:13 +02:00
Mateusz Kwasniewski
20b1559329
docs: strategy variants in 5.4 (#4372) 2023-08-02 12:27:24 +02:00
Thomas Heartman
b8ab43543f
remove trailing periods (#4378)
remove trailing periods in markdown.
2023-08-01 15:20:10 +02:00
Mateusz Kwasniewski
55148eb549
docs: strategy variants (#4289) 2023-07-25 15:35:29 +02:00
Thomas Heartman
60b9431b67
docs: document feature potentially stale on events (#4278)
Document new "feature-potentially-stale-on" events.

Relates to #4205
2023-07-19 15:20:01 +02:00
Thomas Heartman
6ac430ff2d
docs(#4205): update feature toggle types doc to add lifetime info (#4273)
This change updates the existing feature toggle types document to add
a new `expected lifetime` section. This section explains better what
lifetimes are, where they come from, and that admins can (soon) change
the expected lifetimes for feature toggles.
2023-07-19 11:27:02 +02:00
Thomas Heartman
ea5b26c7a3
Chore: move event types into a separate reference doc. (#4268)
Remove the list from the events API page and instead point to the new
doc.

The new page is listed as "event types" under "unleash concepts"
2023-07-19 11:25:27 +02:00
Simon Hornby
4fc0f61753
docs: update postgres ssl docs to accurately use ca over key (#4271) 2023-07-18 14:11:25 +02:00
Thomas Heartman
35fbd8f271
docs: update playground docs to mention advanced features (#4266)
This change updates the playground reference docs with some new images
and an explanation of how the results work now.

I have not removed any of the old images because I think they still
illustrate well how the playground works. And because they're not
direct screenshots anyway, that sounds like a fair trade-off to me.
2023-07-18 12:59:19 +02:00
David Leek
eb1df78383
docs: add description of how to install jira cloud plugin (#4197) 2023-07-13 09:36:38 +02:00
Gastón Fournier
96bc5ccd94
docs: suggest to use strategy constraints instead of custom strategies (#4215)
## About the changes
Custom activation strategies are still the recommended way to go in our
documentation, but now most of the use cases for custom activation
strategies can be covered by strategy constraints (released with Unleash
4.16)

With this change, we try to drive people to use strategy constraints.

---------

Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2023-07-11 11:35:58 +02:00
Christopher Kolstad
ff1af03f0e
docs: add impression events as supported in the java sdk (#4213)
## What
A very small change flagging impression events as supported in the Java
SDK
2023-07-11 10:54:49 +02:00
Mateusz Kwasniewski
3ebf3c05f8
docs: project overview (#4176) 2023-07-07 11:50:54 +02:00
Mateusz Kwasniewski
79b34121a4
feat: openapi schema for user admin (#4146) 2023-07-06 08:24:46 +02:00
Thomas Heartman
9c7eadded0
docs: switch order of api doc sidebar items; put legacy docs under legacy header (#4135)
Also adds a caution admonition to the legacy doc index page
2023-07-04 14:19:34 +02:00
Gastón Fournier
13def9a3a3
docs: Documentation around metrics API (#4134)
## About the changes
Mark some legacy endpoints as deprecated (they are long deprecated but
documentation was out of date) and fix some of the URLs
2023-07-04 11:16:05 +02:00
John Farrar
65995b238a
Update index.md, 2 grammar updates (#4086)
Included a library from the ColdBox Open Source team.

More detail here if needed.
https://forgebox.io/view/unleashsdk

I cheated on the grammar. Grammarly helps me out there.
2023-06-29 10:02:27 +00:00
Even Brenden
be1e63508a
docs: Add reference to Haskell SDK (#3752)
Hi! Adding a link to a some-batteries-included Haskell Unleash SDK. It
uses a "core" library underneath that adheres to your [Client
Specifications](https://github.com/Unleash/client-specification). Could
add a link to that too, but from what I can tell, it's overlapped by
your Yggdrasil project. We have been using the SDK for a handful of
months now and we're happy with how it works. Hope you'll have it :)

Co-authored-by: Even Brenden <evenbrenden@users.noreply.github.com>
2023-06-27 08:08:04 +01:00
andreas-unleash
7a5c77376a
chore: Document default strategy (#4010)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->
Documenting Default Strategy 
## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

<!-- Does it close an issue? Multiple? -->
Closes #
[1-1023](https://linear.app/unleash/issue/1-1023/document-strategy-improvements)

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2023-06-22 15:42:07 +00:00
Christopher Kolstad
fa081e9014
task: Make keepalive configurable via an environment variable (#4015)
As requested in
[Linear](https://linear.app/unleash/issue/2-1147/unleash-cloud-make-keepalive-configurable)
this PR makes the serverKeepAliveTimeout configurable via the
SERVER_KEEPALIVE_TIMEOUT environment variable. This was already
configurable when starting Unleash programmatically, but it's nice to
have as an env variable as well
2023-06-20 12:10:05 +02:00
yuri-karelics
331f0f27fa
docs: angular unleash proxy client (#3897)
List of community unleash proxy clients extended with new Angular
library

## About the changes
Relates to
[discussion](https://github.com/orgs/Unleash/discussions/3621)
2023-06-16 17:54:37 +00:00
Jaanus Sellin
41370be591
feat: update predefined strategies tooltip (#3964) 2023-06-14 08:46:15 +03:00
andreas-unleash
8daab71219
Docs: update stickiness docs (#3928)
<!-- Thanks for creating a PR! To make it easier for reviewers and
everyone else to understand what your changes relate to, please add some
relevant content to the headings below. Feel free to ignore or delete
sections that you don't think are relevant. Thank you! ❤️ -->

## About the changes
<!-- Describe the changes introduced. What are they and why are they
being introduced? Feel free to also add screenshots or steps to view the
changes if they're visual. -->

<!-- Does it close an issue? Multiple? -->
Closes #

<!-- (For internal contributors): Does it relate to an issue on public
roadmap? -->
<!--
Relates to [roadmap](https://github.com/orgs/Unleash/projects/10) item:
#
-->

### Important files
<!-- PRs can contain a lot of changes, but not all changes are equally
important. Where should a reviewer start looking to get an overview of
the changes? Are any files particularly important? -->


## Discussion points
<!-- Anything about the PR you'd like to discuss before it gets merged?
Got any questions or doubts? -->

---------

Signed-off-by: andreas-unleash <andreas@getunleash.ai>
Co-authored-by: Thomas Heartman <thomas@getunleash.ai>
2023-06-13 11:26:12 +03:00