mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-25 00:07:47 +01:00
refactor: move docs into new structure / fix links for SEO (#2416)
## What This (admittedly massive) PR updates the "physical" documentation structure and fixes url inconsistencies and SEO problems reported by marketing. The main points are: - remove or move directories : advanced, user_guide, deploy, api - move the files contained within to the appropriate one of topics, how-to, tutorials, or reference - update internal doc links and product links to the content - create client-side redirects for all the urls that have changed. A number of the files have been renamed in small ways to better match their url and to make them easier to find. Additionally, the top-level api directory has been moved to /reference/api/legacy/unleash (see the discussion points section for more on this). ## Why When moving our doc structure to diataxis a while back, we left the "physical' files lying where they were, because it didn't matter much to the new structure. However, that did introduce some inconsistencies with where you place docs and how we organize them. There's also the discrepancies in whether urls us underscores or hyphens (which isn't necessarily the same as their file name), which has been annoying me for a while, but now has also been raised by marketing as an issue in terms of SEO. ## Discussion points The old, hand-written API docs have been moved from /api to /reference/api/legacy/unleash. There _is_ a /reference/api/unleash directory, but this is being populated by the OpenAPI plugin, and mixing those could only cause trouble. However, I'm unsure about putting /legacy/ in the title, because the API isn't legacy, the docs are. Maybe we could use another path? Like /old-docs/ or something? I'd appreciate some input on this.
This commit is contained in:
parent
f937e80272
commit
d5fbd0b743
60
README.md
60
README.md
@ -81,7 +81,7 @@ If you don't want to run Unleash locally, we also provide easy deployment setups
|
||||
|
||||
### Configure and run Unleash anywhere
|
||||
|
||||
The above sections show you how to get up and running quickly and easily. When you're ready to start configuring and customizing Unleash for your own environment, check out the documentation for [getting started with self-managed deployments](https://docs.getunleash.io/deploy/getting_started), [Unleash configuration options](https://docs.getunleash.io/deploy/configuring_unleash), or [running Unleash locally via docker](https://docs.getunleash.io/user_guide/quickstart#i-want-to-run-unleash-locally).
|
||||
The above sections show you how to get up and running quickly and easily. When you're ready to start configuring and customizing Unleash for your own environment, check out the documentation for [getting started with self-managed deployments](https://docs.getunleash.io/reference/deploy/getting-started), [Unleash configuration options](https://docs.getunleash.io/reference/deploy/configuring-unleash), or [running Unleash locally via docker](https://docs.getunleash.io/tutorials/quickstart#i-want-to-run-unleash-locally).
|
||||
|
||||
<br/>
|
||||
|
||||
@ -128,17 +128,17 @@ Check out [the CONTRIBUTING.md file](./CONTRIBUTING.md) for contribution guideli
|
||||
### Flexibility and adaptability
|
||||
|
||||
- Get an easy overview of all feature toggles across all your environments, applications and services
|
||||
- Use included [activation strategies](https://docs.getunleash.io/user_guide/activation_strategy) for most common use cases, or use a [custom activation strategy](https://docs.getunleash.io/advanced/custom_activation_strategy) to support any need you might have
|
||||
- Organise feature toggles by [feature toggle tags](https://docs.getunleash.io/advanced/tags)
|
||||
- [Canary releases / gradual rollouts](https://docs.getunleash.io/user_guide/activation_strategy#gradual-rollout)
|
||||
- Targeted releases: release features to specific [users](https://docs.getunleash.io/user_guide/activation_strategy#userids), [IPs](https://docs.getunleash.io/user_guide/activation_strategy#ips), or [hostnames](https://docs.getunleash.io/user_guide/activation_strategy#hostnames)
|
||||
- [Kill switches](https://docs.getunleash.io/advanced/feature_toggle_types#feature-toggle-types)
|
||||
- Use included [activation strategies](https://docs.getunleash.io/reference/activation-strategies) for most common use cases, or use a [custom activation strategy](https://docs.getunleash.io/reference/custom-activation-strategies) to support any need you might have
|
||||
- Organise feature toggles by [feature toggle tags](https://docs.getunleash.io/reference/tags)
|
||||
- [Canary releases / gradual rollouts](https://docs.getunleash.io/reference/activation-strategies#gradual-rollout)
|
||||
- Targeted releases: release features to specific [users](https://docs.getunleash.io/reference/activation-strategies#userids), [IPs](https://docs.getunleash.io/reference/activation-strategies#ips), or [hostnames](https://docs.getunleash.io/reference/activation-strategies#hostnames)
|
||||
- [Kill switches](https://docs.getunleash.io/reference/feature-toggle-types#feature-toggle-types)
|
||||
- [A/B testing](https://docs.getunleash.io/topics/a-b-testing)
|
||||
- 2 [environments](https://docs.getunleash.io/user_guide/environments)
|
||||
- 2 [environments](https://docs.getunleash.io/reference/environments)
|
||||
- Out-of-the-box integrations with popular tools ([Slack](https://docs.getunleash.io/addons/slack), [Microsoft Teams](https://docs.getunleash.io/addons/teams), [Datadog](https://docs.getunleash.io/addons/datadog)) + integrate with anything with [webhooks](https://docs.getunleash.io/addons/webhook)
|
||||
- [Dashboard for managing technical debt](https://docs.getunleash.io/user_guide/technical_debt) and [stale toggles](https://docs.getunleash.io/user_guide/technical_debt#stale-and-potentially-stale-toggles)
|
||||
- [Dashboard for managing technical debt](https://docs.getunleash.io/reference/technical-debt) and [stale toggles](https://docs.getunleash.io/reference/technical-debt#stale-and-potentially-stale-toggles)
|
||||
- API-first: _everything_ can be automated. No exceptions.
|
||||
- [12 official client SDKs](https://docs.getunleash.io/sdks#official-sdks), and ten [community-contributed client SDKs](https://docs.getunleash.io/sdks#community-sdks)
|
||||
- [12 official client SDKs](https://docs.getunleash.io/reference/sdks#official-sdks), and ten [community-contributed client SDKs](https://docs.getunleash.io/reference/sdks#community-sdks)
|
||||
- Run it via Docker with the [official Docker image](https://hub.docker.com/r/unleashorg/unleash-server) or as a pure Node.js application
|
||||
|
||||
### Security and performance
|
||||
@ -147,18 +147,18 @@ Check out [the CONTRIBUTING.md file](./CONTRIBUTING.md) for contribution guideli
|
||||
- [Audit logs](https://docs.getunleash.io/advanced/audit_log)
|
||||
- Enforce [OWASP's secure headers](https://owasp.org/www-project-secure-headers/) via the strict HTTPS-only mode
|
||||
- Flexible hosting options: host it on premise or in the cloud (_any_ cloud)
|
||||
- Scale [the Unleash Proxy](https://docs.getunleash.io/sdks/unleash-proxy) independently of the Unleash server to support any number of front-end clients without overloading your Unleash instance
|
||||
- Scale [the Unleash Proxy](https://docs.getunleash.io/reference/unleash-proxy) independently of the Unleash server to support any number of front-end clients without overloading your Unleash instance
|
||||
|
||||
### Looking for more features?
|
||||
|
||||
If you're looking for one of the following features, please take a look at our [Pro and Enterprise plans](https://www.getunleash.io/plans):
|
||||
|
||||
- [role-based access control (RBAC)](https://docs.getunleash.io/user_guide/rbac)
|
||||
- [single sign-on (SSO)](https://docs.getunleash.io/advanced/enterprise-authentication)
|
||||
- [role-based access control (RBAC)](https://docs.getunleash.io/reference/rbac)
|
||||
- [single sign-on (SSO)](https://docs.getunleash.io/reference/sso)
|
||||
- more environments
|
||||
- [feature toggles project support](https://docs.getunleash.io/user_guide/projects)
|
||||
- [feature toggles project support](https://docs.getunleash.io/reference/projects)
|
||||
- [advanced segmentation](https://docs.getunleash.io/reference/segments)
|
||||
- [additional strategy constraints](https://docs.getunleash.io/advanced/strategy_constraints)
|
||||
- [additional strategy constraints](https://docs.getunleash.io/reference/strategy-constraints)
|
||||
- tighter security
|
||||
- more hosting options (we can even host it for you!)
|
||||
|
||||
@ -168,7 +168,7 @@ If you're looking for one of the following features, please take a look at our [
|
||||
|
||||
<img src="./website/static/img/unleash-architecture.svg" title="Unleash System Overview" />
|
||||
|
||||
Read more in the [_system overview_ section of the Unleash documentation](https://docs.getunleash.io/user_guide/unleash_overview#system-overview).
|
||||
Read more in the [_system overview_ section of the Unleash documentation](https://docs.getunleash.io/tutorials/unleash_overview#system-overview).
|
||||
|
||||
<br/>
|
||||
|
||||
@ -178,29 +178,29 @@ To connect your application to Unleash you'll need to use a client SDK for your
|
||||
|
||||
**Official server-side SDKs:**
|
||||
|
||||
- [Go SDK](https://docs.getunleash.io/sdks/go_sdk)
|
||||
- [Java SDK](https://docs.getunleash.io/sdks/java_sdk)
|
||||
- [Node.js SDK](https://docs.getunleash.io/sdks/node_sdk)
|
||||
- [PHP SDK](https://docs.getunleash.io/sdks/php_sdk)
|
||||
- [Python SDK](https://docs.getunleash.io/sdks/python_sdk)
|
||||
- [Ruby SDK](https://docs.getunleash.io/sdks/ruby_sdk)
|
||||
- [Go SDK](https://docs.getunleash.io/reference/sdks/go)
|
||||
- [Java SDK](https://docs.getunleash.io/reference/sdks/java)
|
||||
- [Node.js SDK](https://docs.getunleash.io/reference/sdks/node)
|
||||
- [PHP SDK](https://docs.getunleash.io/reference/sdks/php)
|
||||
- [Python SDK](https://docs.getunleash.io/reference/sdks/python)
|
||||
- [Ruby SDK](https://docs.getunleash.io/reference/sdks/ruby)
|
||||
- [Rust SDK](https://github.com/unleash/unleash-client-rust)
|
||||
- [.NET SDK](https://docs.getunleash.io/sdks/dot_net_sdk)
|
||||
- [.NET SDK](https://docs.getunleash.io/reference/sdks/dotnet)
|
||||
|
||||
**Official front-end SDKs:**
|
||||
|
||||
The front-end SDKs connects via the [Unleash Proxy](https://docs.getunleash.io/sdks/unleash-proxy) in order to ensure privacy, scalability and security.
|
||||
The front-end SDKs connects via the [Unleash Proxy](https://docs.getunleash.io/reference/unleash-proxy) in order to ensure privacy, scalability and security.
|
||||
|
||||
- [Android Proxy SDK](https://docs.getunleash.io/sdks/android_proxy_sdk)
|
||||
- [iOS Proxy SDK](https://docs.getunleash.io/sdks/proxy-ios)
|
||||
- [JavaScript Proxy SDK](https://docs.getunleash.io/sdks/proxy-javascript)
|
||||
- [React Proxy SDK](https://docs.getunleash.io/sdks/proxy-react)
|
||||
- [Svelte Proxy SDK](https://docs.getunleash.io/sdks/proxy-svelte)
|
||||
- [Vue Proxy SDK](https://docs.getunleash.io/sdks/proxy-vue)
|
||||
- [Android Proxy SDK](https://docs.getunleash.io/reference/sdks/android-proxy)
|
||||
- [iOS Proxy SDK](https://docs.getunleash.io/reference/sdks/ios-proxy)
|
||||
- [JavaScript Proxy SDK](https://docs.getunleash.io/reference/sdks/javascript-browser)
|
||||
- [React Proxy SDK](https://docs.getunleash.io/reference/sdks/react)
|
||||
- [Svelte Proxy SDK](https://docs.getunleash.io/reference/sdks/svelte)
|
||||
- [Vue Proxy SDK](https://docs.getunleash.io/reference/sdks/vue)
|
||||
|
||||
**Community SDKs:**
|
||||
|
||||
If none of the official SDKs fit your need, there's also a number of [community-developed SDKs](https://docs.getunleash.io/sdks#community-sdks) where you might find an implementation for your preferred language (such as [Elixir](https://gitlab.com/afontaine/unleash_ex), [Dart](https://pub.dev/packages/unleash), [Clojure](https://github.com/AppsFlyer/unleash-client-clojure), and more).
|
||||
If none of the official SDKs fit your need, there's also a number of [community-developed SDKs](https://docs.getunleash.io/reference/sdks#community-sdks) where you might find an implementation for your preferred language (such as [Elixir](https://gitlab.com/afontaine/unleash_ex), [Dart](https://pub.dev/packages/unleash), [Clojure](https://github.com/AppsFlyer/unleash-client-clojure), and more).
|
||||
|
||||
<br/>
|
||||
|
||||
|
@ -9,7 +9,7 @@ export const ApiTokenDocs = () => {
|
||||
<p>
|
||||
Read the{' '}
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks"
|
||||
href="https://docs.getunleash.io/reference/sdks"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
|
@ -78,7 +78,7 @@ const CreateProjectRole = () => {
|
||||
description="A project role can be
|
||||
customised to limit access
|
||||
to resources within a project"
|
||||
documentationLink="https://docs.getunleash.io/user_guide/rbac#custom-project-roles"
|
||||
documentationLink="https://docs.getunleash.io/reference/rbac#custom-project-roles"
|
||||
documentationLinkLabel="Project roles documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -85,7 +85,7 @@ const EditProjectRole = () => {
|
||||
description="A project role can be
|
||||
customised to limit access
|
||||
to resources within a project"
|
||||
documentationLink="https://docs.getunleash.io/user_guide/rbac#custom-project-roles"
|
||||
documentationLink="https://docs.getunleash.io/reference/rbac#custom-project-roles"
|
||||
documentationLinkLabel="Project roles documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -82,7 +82,7 @@ const CreateUser = () => {
|
||||
title="Create Unleash user"
|
||||
description="In order to get access to Unleash needs to have an Unleash root role as Admin, Editor or Viewer.
|
||||
You can also add the user to projects as member or owner in the specific projects."
|
||||
documentationLink="https://docs.getunleash.io/user_guide/rbac#standard-roles"
|
||||
documentationLink="https://docs.getunleash.io/reference/rbac#standard-roles"
|
||||
documentationLinkLabel="User management documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -79,7 +79,7 @@ const EditUser = () => {
|
||||
title="Edit user"
|
||||
description="In order to get access to Unleash needs to have an Unleash root role as Admin, Editor or Viewer.
|
||||
You can also add the user to projects as member or owner in the specific projects."
|
||||
documentationLink="https://docs.getunleash.io/user_guide/rbac#standard-roles"
|
||||
documentationLink="https://docs.getunleash.io/reference/rbac#standard-roles"
|
||||
documentationLinkLabel="User management documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -149,7 +149,7 @@ export const ConstraintAccordionList = forwardRef<
|
||||
>
|
||||
<a
|
||||
href={
|
||||
'https://docs.getunleash.io/advanced/strategy_constraints'
|
||||
'https://docs.getunleash.io/reference/strategy-constraints'
|
||||
}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
|
@ -12,7 +12,7 @@ export const OperatorUpgradeAlert = () => {
|
||||
const OperatorDocsLink = () => {
|
||||
return (
|
||||
<a
|
||||
href="https://docs.getunleash.io/advanced/strategy_constraints#strategy-constraint-operators"
|
||||
href="https://docs.getunleash.io/reference/strategy-constraints#strategy-constraint-operators"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
style={{ color: 'inherit' }}
|
||||
|
@ -196,7 +196,7 @@ export const ContextForm: React.FC<IContextForm> = ({
|
||||
context field. PS! Not all client SDK's support this feature
|
||||
yet!{' '}
|
||||
<a
|
||||
href="https://docs.getunleash.io/advanced/stickiness"
|
||||
href="https://docs.getunleash.io/reference/stickiness"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
|
@ -77,7 +77,7 @@ export const CreateUnleashContext = ({
|
||||
title="Create context"
|
||||
description="Context fields are a basic building block used in Unleash to control roll-out.
|
||||
They can be used together with strategy constraints as part of the activation strategy evaluation."
|
||||
documentationLink="https://docs.getunleash.io/user_guide/unleash_context#custom-context-fields"
|
||||
documentationLink="https://docs.getunleash.io/reference/unleash-context#custom-context-fields"
|
||||
documentationLinkLabel="Context fields documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
modal={modal}
|
||||
|
@ -81,7 +81,7 @@ export const EditContext = () => {
|
||||
title="Edit context"
|
||||
description="Context fields are a basic building block used in Unleash to control roll-out.
|
||||
They can be used together with strategy constraints as part of the activation strategy evaluation."
|
||||
documentationLink="https://docs.getunleash.io/user_guide/unleash_context#custom-context-fields"
|
||||
documentationLink="https://docs.getunleash.io/reference/unleash-context#custom-context-fields"
|
||||
documentationLinkLabel="Context fields documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -88,7 +88,7 @@ const CreateEnvironment = () => {
|
||||
development or test environment without
|
||||
enabling the feature toggle in the
|
||||
production environment."
|
||||
documentationLink="https://docs.getunleash.io/user_guide/environments"
|
||||
documentationLink="https://docs.getunleash.io/reference/environments"
|
||||
documentationLinkLabel="Environments documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -73,7 +73,7 @@ const EditEnvironment = () => {
|
||||
development or test environment without
|
||||
enabling the feature toggle in the
|
||||
production environment."
|
||||
documentationLink="https://docs.getunleash.io/user_guide/environments"
|
||||
documentationLink="https://docs.getunleash.io/reference/environments"
|
||||
documentationLinkLabel="Environments documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -238,7 +238,7 @@ export const EnvironmentCloneModal = ({
|
||||
modal
|
||||
title={`Clone ${environment.name} environment`}
|
||||
description="Cloning an environment will clone all feature toggles and their configuration (activation strategies, segments, status, etc) into a new environment."
|
||||
documentationLink="https://docs.getunleash.io/user_guide/environments#cloning-environments"
|
||||
documentationLink="https://docs.getunleash.io/reference/environments#cloning-environments"
|
||||
documentationLinkLabel="Cloning environments documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -80,7 +80,7 @@ const CreateFeature = () => {
|
||||
title="Create feature toggle"
|
||||
description="Feature toggles support different use cases, each with their own specific needs such as simple static routing or more complex routing.
|
||||
The feature toggle is disabled when created and you decide when to enable"
|
||||
documentationLink="https://docs.getunleash.io/advanced/feature_toggle_types"
|
||||
documentationLink="https://docs.getunleash.io/reference/feature-toggle-types"
|
||||
documentationLinkLabel="Feature toggle types documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -84,7 +84,7 @@ const EditFeature = () => {
|
||||
title="Edit Feature toggle"
|
||||
description="Feature toggles support different use cases, each with their own specific needs such as simple static routing or more complex routing.
|
||||
The feature toggle is disabled when created and you decide when to enable"
|
||||
documentationLink="https://docs.getunleash.io/advanced/feature_toggle_types"
|
||||
documentationLink="https://docs.getunleash.io/reference/feature-toggle-types"
|
||||
documentationLinkLabel="Feature toggle types documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -249,6 +249,6 @@ export const featureStrategyHelp = `
|
||||
`;
|
||||
|
||||
export const featureStrategyDocsLink =
|
||||
'https://docs.getunleash.io/user_guide/activation_strategy';
|
||||
'https://docs.getunleash.io/reference/activation-strategies';
|
||||
|
||||
export const featureStrategyDocsLinkLabel = 'Strategies documentation';
|
||||
|
@ -258,7 +258,7 @@ export const FeatureVariantsList = () => {
|
||||
is used to ensure consistent traffic allocation across
|
||||
variants.{' '}
|
||||
<a
|
||||
href="https://docs.getunleash.io/advanced/toggle_variants"
|
||||
href="https://docs.getunleash.io/reference/feature-toggle-variants"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
|
@ -32,7 +32,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/node_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/node"
|
||||
target="_blank"
|
||||
>
|
||||
Node.js
|
||||
@ -44,7 +44,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/java_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/java"
|
||||
target="_blank"
|
||||
>
|
||||
Java
|
||||
@ -56,7 +56,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/go_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/go"
|
||||
target="_blank"
|
||||
>
|
||||
Go
|
||||
@ -68,7 +68,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/ruby_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/ruby"
|
||||
target="_blank"
|
||||
>
|
||||
Ruby
|
||||
@ -80,7 +80,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/python_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/python"
|
||||
target="_blank"
|
||||
>
|
||||
Python
|
||||
@ -92,7 +92,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/dot_net_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/dotnet"
|
||||
target="_blank"
|
||||
>
|
||||
.NET
|
||||
@ -104,7 +104,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/php_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/php"
|
||||
target="_blank"
|
||||
>
|
||||
PHP
|
||||
@ -116,7 +116,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks"
|
||||
href="https://docs.getunleash.io/reference/sdks"
|
||||
target="_blank"
|
||||
>
|
||||
All SDKs
|
||||
@ -135,7 +135,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/unleash-proxy"
|
||||
href="https://docs.getunleash.io/reference/unleash-proxy"
|
||||
target="_blank"
|
||||
>
|
||||
Unleash Proxy
|
||||
@ -147,7 +147,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/proxy-javascript"
|
||||
href="https://docs.getunleash.io/reference/sdks/javascript-browser"
|
||||
target="_blank"
|
||||
>
|
||||
JavaScript SDK
|
||||
@ -159,7 +159,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/proxy-react"
|
||||
href="https://docs.getunleash.io/reference/sdks/react"
|
||||
target="_blank"
|
||||
>
|
||||
React SDK
|
||||
@ -171,7 +171,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/proxy-ios"
|
||||
href="https://docs.getunleash.io/reference/sdks/ios-proxy"
|
||||
target="_blank"
|
||||
>
|
||||
iOS SDK
|
||||
@ -183,7 +183,7 @@ export const Footer: VFC = () => {
|
||||
<ListItemText
|
||||
primary={
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/android_proxy_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/android-proxy"
|
||||
target="_blank"
|
||||
>
|
||||
Android SDK
|
||||
|
@ -63,7 +63,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/node_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/node"
|
||||
target="_blank"
|
||||
>
|
||||
Node.js
|
||||
@ -82,7 +82,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/java_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/java"
|
||||
target="_blank"
|
||||
>
|
||||
Java
|
||||
@ -101,7 +101,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/go_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/go"
|
||||
target="_blank"
|
||||
>
|
||||
Go
|
||||
@ -121,7 +121,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/ruby_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/ruby"
|
||||
target="_blank"
|
||||
>
|
||||
Ruby
|
||||
@ -141,7 +141,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/python_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/python"
|
||||
target="_blank"
|
||||
>
|
||||
Python
|
||||
@ -160,7 +160,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/dot_net_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/dotnet"
|
||||
target="_blank"
|
||||
>
|
||||
.NET
|
||||
@ -179,7 +179,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/php_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/php"
|
||||
target="_blank"
|
||||
>
|
||||
PHP
|
||||
@ -198,7 +198,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks"
|
||||
href="https://docs.getunleash.io/reference/sdks"
|
||||
target="_blank"
|
||||
>
|
||||
All SDKs
|
||||
@ -234,7 +234,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/unleash-proxy"
|
||||
href="https://docs.getunleash.io/reference/unleash-proxy"
|
||||
target="_blank"
|
||||
>
|
||||
Unleash Proxy
|
||||
@ -253,7 +253,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/proxy-javascript"
|
||||
href="https://docs.getunleash.io/reference/sdks/javascript-browser"
|
||||
target="_blank"
|
||||
>
|
||||
JavaScript SDK
|
||||
@ -272,7 +272,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/proxy-react"
|
||||
href="https://docs.getunleash.io/reference/sdks/react"
|
||||
target="_blank"
|
||||
>
|
||||
React SDK
|
||||
@ -291,7 +291,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/proxy-ios"
|
||||
href="https://docs.getunleash.io/reference/sdks/ios-proxy"
|
||||
target="_blank"
|
||||
>
|
||||
iOS SDK
|
||||
@ -310,7 +310,7 @@ exports[`should render DrawerMenu 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/android_proxy_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/android-proxy"
|
||||
target="_blank"
|
||||
>
|
||||
Android SDK
|
||||
@ -508,7 +508,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/node_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/node"
|
||||
target="_blank"
|
||||
>
|
||||
Node.js
|
||||
@ -527,7 +527,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/java_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/java"
|
||||
target="_blank"
|
||||
>
|
||||
Java
|
||||
@ -546,7 +546,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/go_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/go"
|
||||
target="_blank"
|
||||
>
|
||||
Go
|
||||
@ -566,7 +566,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/ruby_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/ruby"
|
||||
target="_blank"
|
||||
>
|
||||
Ruby
|
||||
@ -586,7 +586,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/python_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/python"
|
||||
target="_blank"
|
||||
>
|
||||
Python
|
||||
@ -605,7 +605,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/dot_net_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/dotnet"
|
||||
target="_blank"
|
||||
>
|
||||
.NET
|
||||
@ -624,7 +624,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/php_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/php"
|
||||
target="_blank"
|
||||
>
|
||||
PHP
|
||||
@ -643,7 +643,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks"
|
||||
href="https://docs.getunleash.io/reference/sdks"
|
||||
target="_blank"
|
||||
>
|
||||
All SDKs
|
||||
@ -679,7 +679,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/unleash-proxy"
|
||||
href="https://docs.getunleash.io/reference/unleash-proxy"
|
||||
target="_blank"
|
||||
>
|
||||
Unleash Proxy
|
||||
@ -698,7 +698,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/proxy-javascript"
|
||||
href="https://docs.getunleash.io/reference/sdks/javascript-browser"
|
||||
target="_blank"
|
||||
>
|
||||
JavaScript SDK
|
||||
@ -717,7 +717,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/proxy-react"
|
||||
href="https://docs.getunleash.io/reference/sdks/react"
|
||||
target="_blank"
|
||||
>
|
||||
React SDK
|
||||
@ -736,7 +736,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/proxy-ios"
|
||||
href="https://docs.getunleash.io/reference/sdks/ios-proxy"
|
||||
target="_blank"
|
||||
>
|
||||
iOS SDK
|
||||
@ -755,7 +755,7 @@ exports[`should render DrawerMenu with "features" selected 1`] = `
|
||||
className="MuiTypography-root MuiTypography-body2 MuiListItemText-primary css-1nhzl8d-MuiTypography-root"
|
||||
>
|
||||
<a
|
||||
href="https://docs.getunleash.io/sdks/android_proxy_sdk"
|
||||
href="https://docs.getunleash.io/reference/sdks/android-proxy"
|
||||
target="_blank"
|
||||
>
|
||||
Android SDK
|
||||
|
@ -18,7 +18,7 @@ export interface PlaygroundConstraintSchema {
|
||||
*/
|
||||
contextName: string;
|
||||
/**
|
||||
* The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/advanced/strategy_constraints#strategy-constraint-operators).
|
||||
* The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/reference/strategy-constraints#strategy-constraint-operators).
|
||||
* @type {string}
|
||||
* @memberof PlaygroundConstraintSchema
|
||||
*/
|
||||
|
@ -74,7 +74,7 @@ const CreateProject = () => {
|
||||
loading={loading}
|
||||
title="Create project"
|
||||
description="Projects allows you to group feature toggles together in the management UI."
|
||||
documentationLink="https://docs.getunleash.io/user_guide/projects"
|
||||
documentationLink="https://docs.getunleash.io/reference/projects"
|
||||
documentationLinkLabel="Projects documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -85,7 +85,7 @@ const EditProject = () => {
|
||||
loading={loading}
|
||||
title="Edit project"
|
||||
description="Projects allows you to group feature toggles together in the management UI."
|
||||
documentationLink="https://docs.getunleash.io/user_guide/projects"
|
||||
documentationLink="https://docs.getunleash.io/reference/projects"
|
||||
documentationLinkLabel="Projects documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -64,7 +64,7 @@ export const SplashPageOperators = () => {
|
||||
<footer className={styles.footer}>
|
||||
<p>
|
||||
<a
|
||||
href="https://docs.getunleash.io/advanced/strategy_constraints#numeric-operators"
|
||||
href="https://docs.getunleash.io/reference/strategy-constraints#numeric-operators"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
className={styles.link}
|
||||
|
@ -74,7 +74,7 @@ export const CreateStrategy = () => {
|
||||
title="Create strategy type"
|
||||
description="The strategy type and the parameters will be selectable when adding an activation strategy to a toggle in the environments.
|
||||
The parameter defines the type of activation strategy. E.g. you can create a type 'Teams' and add a parameter 'List'. Then it's easy to add team names to the activation strategy"
|
||||
documentationLink="https://docs.getunleash.io/advanced/custom_activation_strategy"
|
||||
documentationLink="https://docs.getunleash.io/reference/custom-activation-strategies"
|
||||
documentationLinkLabel="Custom strategies documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -79,7 +79,7 @@ export const EditStrategy = () => {
|
||||
title="Edit strategy type"
|
||||
description="The strategy type and the parameters will be selectable when adding an activation strategy to a toggle in the environments.
|
||||
The parameter defines the type of activation strategy. E.g. you can create a type 'Teams' and add a parameter 'List'. Then it's easy to add team names to the activation strategy"
|
||||
documentationLink="https://docs.getunleash.io/advanced/custom_activation_strategy"
|
||||
documentationLink="https://docs.getunleash.io/reference/custom-activation-strategies"
|
||||
documentationLinkLabel="Custom strategies documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -69,7 +69,7 @@ export const StrategyParameter = ({
|
||||
Parameters let you provide arguments to your strategy
|
||||
that it can access for evaluation. Read more in the{' '}
|
||||
<a
|
||||
href="https://docs.getunleash.io/advanced/custom_activation_strategy#parameter-types"
|
||||
href="https://docs.getunleash.io/reference/custom-activation-strategies#parameter-types"
|
||||
target="_blank"
|
||||
rel="noreferrer"
|
||||
>
|
||||
|
@ -64,7 +64,7 @@ const CreateTagType = () => {
|
||||
loading={loading}
|
||||
title="Create tag type"
|
||||
description="Tag types allow you to group tags together in the management UI"
|
||||
documentationLink="https://docs.getunleash.io/advanced/tags"
|
||||
documentationLink="https://docs.getunleash.io/reference/tags"
|
||||
documentationLinkLabel="Tags documentation"
|
||||
formatApiCode={formatApiCode}
|
||||
>
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { IUnleashConfig } from './types/option';
|
||||
|
||||
const customAuthWarning =
|
||||
'You have to configure a custom authentication middleware. Read https://docs.getunleash.io/docs/deploy/configuring_unleash for more details';
|
||||
'You have to configure a custom authentication middleware. Read https://docs.getunleash.io/docs/reference/deploy/configuring-unleash for more details';
|
||||
|
||||
export function defaultCustomAuthDenyAll(
|
||||
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
||||
|
@ -5,7 +5,7 @@ export const constraintSchemaBase = {
|
||||
type: 'object',
|
||||
required: ['contextName', 'operator'],
|
||||
description:
|
||||
'A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/advanced/strategy_constraints)',
|
||||
'A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/strategy-constraints)',
|
||||
properties: {
|
||||
contextName: {
|
||||
description:
|
||||
@ -15,7 +15,7 @@ export const constraintSchemaBase = {
|
||||
},
|
||||
operator: {
|
||||
description:
|
||||
'The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/advanced/strategy_constraints#strategy-constraint-operators).',
|
||||
'The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/reference/strategy-constraints#strategy-constraint-operators).',
|
||||
type: 'string',
|
||||
enum: ALL_OPERATORS,
|
||||
},
|
||||
|
@ -22,17 +22,17 @@ const OPENAPI_TAGS = [
|
||||
{
|
||||
name: 'Client',
|
||||
description:
|
||||
'Endpoints for [Unleash server-side clients](https://docs.getunleash.io/sdks).',
|
||||
'Endpoints for [Unleash server-side clients](https://docs.getunleash.io/reference/sdks).',
|
||||
},
|
||||
{
|
||||
name: 'Context',
|
||||
description:
|
||||
'Create, update, and delete [context fields](https://docs.getunleash.io/user_guide/unleash_context) that Unleash is aware of.',
|
||||
'Create, update, and delete [context fields](https://docs.getunleash.io/reference/unleash-context) that Unleash is aware of.',
|
||||
},
|
||||
{
|
||||
name: 'Environments',
|
||||
description:
|
||||
'Create, update, delete, enable or disable [environments](https://docs.getunleash.io/user_guide/environments) for this Unleash instance.',
|
||||
'Create, update, delete, enable or disable [environments](https://docs.getunleash.io/reference/environments) for this Unleash instance.',
|
||||
},
|
||||
{ name: 'Events', description: 'Read events from this Unleash instance.' },
|
||||
{
|
||||
@ -67,7 +67,7 @@ const OPENAPI_TAGS = [
|
||||
{
|
||||
name: 'Projects',
|
||||
description:
|
||||
'Create, update, and delete [Unleash projects](https://docs.getunleash.io/user_guide/projects).',
|
||||
'Create, update, and delete [Unleash projects](https://docs.getunleash.io/reference/projects).',
|
||||
},
|
||||
{
|
||||
name: 'Public signup tokens',
|
||||
@ -82,12 +82,12 @@ const OPENAPI_TAGS = [
|
||||
{
|
||||
name: 'Strategies',
|
||||
description:
|
||||
'Create, update, delete, manage [custom strategies](https://docs.getunleash.io/advanced/custom_activation_strategy).',
|
||||
'Create, update, delete, manage [custom strategies](https://docs.getunleash.io/reference/custom-activation-strategies).',
|
||||
},
|
||||
{
|
||||
name: 'Tags',
|
||||
description:
|
||||
'Create, update, and delete [tags and tag types](https://docs.getunleash.io/advanced/tags).',
|
||||
'Create, update, and delete [tags and tag types](https://docs.getunleash.io/reference/tags).',
|
||||
},
|
||||
{ name: 'Users', description: 'Manage users and passwords.' },
|
||||
{
|
||||
|
@ -512,10 +512,10 @@
|
||||
<ul>
|
||||
<li><a href="https://docs.getunleash.io" target="_blank" rel="noopener noreferrer">Documentation</a></li>
|
||||
<li><a href="https://github.com/unleash" target="_blank" rel="noopener noreferrer">Code examples</a></li>
|
||||
<li><a href="https://docs.getunleash.io/sdks" target="_blank" rel="noopener noreferrer">SDKs</a></li>
|
||||
<li><a href="https://docs.getunleash.io/reference/sdks" target="_blank" rel="noopener noreferrer">SDKs</a></li>
|
||||
</ul>
|
||||
|
||||
Best
|
||||
|
||||
Best
|
||||
<br />
|
||||
Your Unleash team
|
||||
</td>
|
||||
|
@ -23,7 +23,7 @@ Useful resources:
|
||||
|
||||
- https://docs.getunleash.io
|
||||
- https://github.com/unleash
|
||||
- https://docs.getunleash.io/sdks
|
||||
- https://docs.getunleash.io/reference/sdks
|
||||
|
||||
Best
|
||||
Your Unleash team
|
@ -551,7 +551,7 @@ exports[`should serve the OpenAPI spec 1`] = `
|
||||
},
|
||||
"constraintSchema": {
|
||||
"additionalProperties": false,
|
||||
"description": "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/advanced/strategy_constraints)",
|
||||
"description": "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/strategy-constraints)",
|
||||
"properties": {
|
||||
"caseInsensitive": {
|
||||
"default": false,
|
||||
@ -569,7 +569,7 @@ exports[`should serve the OpenAPI spec 1`] = `
|
||||
"type": "boolean",
|
||||
},
|
||||
"operator": {
|
||||
"description": "The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/advanced/strategy_constraints#strategy-constraint-operators).",
|
||||
"description": "The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/reference/strategy-constraints#strategy-constraint-operators).",
|
||||
"enum": [
|
||||
"NOT_IN",
|
||||
"IN",
|
||||
@ -1906,7 +1906,7 @@ exports[`should serve the OpenAPI spec 1`] = `
|
||||
},
|
||||
"playgroundConstraintSchema": {
|
||||
"additionalProperties": false,
|
||||
"description": "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/advanced/strategy_constraints)",
|
||||
"description": "A strategy constraint. For more information, refer to [the strategy constraint reference documentation](https://docs.getunleash.io/reference/strategy-constraints)",
|
||||
"properties": {
|
||||
"caseInsensitive": {
|
||||
"default": false,
|
||||
@ -1924,7 +1924,7 @@ exports[`should serve the OpenAPI spec 1`] = `
|
||||
"type": "boolean",
|
||||
},
|
||||
"operator": {
|
||||
"description": "The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/advanced/strategy_constraints#strategy-constraint-operators).",
|
||||
"description": "The operator to use when evaluating this constraint. For more information about the various operators, refer to [the strategy constraint operator documentation](https://docs.getunleash.io/reference/strategy-constraints#strategy-constraint-operators).",
|
||||
"enum": [
|
||||
"NOT_IN",
|
||||
"IN",
|
||||
@ -7726,11 +7726,11 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
"name": "Auth",
|
||||
},
|
||||
{
|
||||
"description": "Endpoints for [Unleash server-side clients](https://docs.getunleash.io/sdks).",
|
||||
"description": "Endpoints for [Unleash server-side clients](https://docs.getunleash.io/reference/sdks).",
|
||||
"name": "Client",
|
||||
},
|
||||
{
|
||||
"description": "Create, update, and delete [context fields](https://docs.getunleash.io/user_guide/unleash_context) that Unleash is aware of.",
|
||||
"description": "Create, update, and delete [context fields](https://docs.getunleash.io/reference/unleash-context) that Unleash is aware of.",
|
||||
"name": "Context",
|
||||
},
|
||||
{
|
||||
@ -7738,7 +7738,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
"name": "Edge",
|
||||
},
|
||||
{
|
||||
"description": "Create, update, delete, enable or disable [environments](https://docs.getunleash.io/user_guide/environments) for this Unleash instance.",
|
||||
"description": "Create, update, delete, enable or disable [environments](https://docs.getunleash.io/reference/environments) for this Unleash instance.",
|
||||
"name": "Environments",
|
||||
},
|
||||
{
|
||||
@ -7770,7 +7770,7 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
"name": "Playground",
|
||||
},
|
||||
{
|
||||
"description": "Create, update, and delete [Unleash projects](https://docs.getunleash.io/user_guide/projects).",
|
||||
"description": "Create, update, and delete [Unleash projects](https://docs.getunleash.io/reference/projects).",
|
||||
"name": "Projects",
|
||||
},
|
||||
{
|
||||
@ -7782,11 +7782,11 @@ If the provided project does not exist, the list of events will be empty.",
|
||||
"name": "Segments",
|
||||
},
|
||||
{
|
||||
"description": "Create, update, delete, manage [custom strategies](https://docs.getunleash.io/advanced/custom_activation_strategy).",
|
||||
"description": "Create, update, delete, manage [custom strategies](https://docs.getunleash.io/reference/custom-activation-strategies).",
|
||||
"name": "Strategies",
|
||||
},
|
||||
{
|
||||
"description": "Create, update, and delete [tags and tag types](https://docs.getunleash.io/advanced/tags).",
|
||||
"description": "Create, update, and delete [tags and tag types](https://docs.getunleash.io/reference/tags).",
|
||||
"name": "Tags",
|
||||
},
|
||||
{
|
||||
|
@ -20,7 +20,7 @@ test('Using custom auth type without defining custom middleware causes default D
|
||||
.expect(401)
|
||||
.expect((res) => {
|
||||
expect(res.body.error).toBe(
|
||||
'You have to configure a custom authentication middleware. Read https://docs.getunleash.io/docs/deploy/configuring_unleash for more details',
|
||||
'You have to configure a custom authentication middleware. Read https://docs.getunleash.io/docs/reference/deploy/configuring-unleash for more details',
|
||||
);
|
||||
});
|
||||
await destroy();
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: index
|
||||
title: About the docs
|
||||
slug: /
|
||||
sidebar_position: 1
|
||||
@ -28,9 +27,9 @@ Our documentation is split into four parts, using the [Diátaxis documentation f
|
||||
|
||||
New to Unleash? Not sure where to get started? The tutorials guide you through your first steps with Unleash:
|
||||
|
||||
- [Unleash introductory overview](unleash_overview.md)
|
||||
- [Important Unleash concepts](important-concepts.md)
|
||||
- [Quickstart guides](quickstart.md)
|
||||
- [Unleash introductory overview](./tutorials/unleash-overview.md)
|
||||
- [Important Unleash concepts](./tutorials/important-concepts.md)
|
||||
- [Quickstart guides](tutorials/quickstart.md)
|
||||
|
||||
### How-to guides
|
||||
|
||||
@ -49,7 +48,7 @@ The reference docs contain technical reference for Unleash and the API. Go here
|
||||
|
||||
The reference docs are organized into the following topics:
|
||||
|
||||
- [Addons](/addons)
|
||||
- [Addons](/reference/addons/addons.md)
|
||||
- [API documentation](/api)
|
||||
- [Unleash SDKs](/sdks)
|
||||
- [Deployment and management of Unleash](/deploy)
|
@ -94,7 +94,7 @@ function isEnabled(name, unleashContext = {}, defaultValue = false) {
|
||||
|
||||
Activation strategies are defined and configured in the unleash-service. It is up to the client to provide the actual implementation of each activation strategy.
|
||||
|
||||
Unleash also ships with a few built-in strategies, and expects client SDK's to implement these. Read more about these [activation strategies](user_guide/activation-strategies.md). For the built-in strategies to work as expected the client should also allow the user to define an [unleash-context](user_guide/unleash-context.md). The context should be possible to pass in as part of the `isEnabled` call.
|
||||
Unleash also ships with a few built-in strategies, and expects client SDK's to implement these. Read more about these [activation strategies](reference/activation-strategies.md). For the built-in strategies to work as expected the client should also allow the user to define an [unleash-context](reference/unleash-context.md). The context should be possible to pass in as part of the `isEnabled` call.
|
||||
|
||||
### Extension points {#extension-points}
|
||||
|
||||
@ -106,11 +106,11 @@ The client implementation should fetch toggles in the background as regular poll
|
||||
|
||||
## Client registration {#client-registration}
|
||||
|
||||
On start-up, the clients should register with the Unleash server. The registration request must include the required fields specified in the [API documentation](api/client/register-api.md).
|
||||
On start-up, the clients should register with the Unleash server. The registration request must include the required fields specified in the [API documentation](/reference/api/legacy/unleash/client/register.md).
|
||||
|
||||
## Metrics {#metrics}
|
||||
|
||||
Clients are expected to send metrics back to Unleash API at regular intervals. The metrics are a list of used toggles and how many times they evaluated to yes or no in at the time of requesting the metrics. Read more about how to send metrics in the [Metrics API](api/client/metrics-api.md) documentation.
|
||||
Clients are expected to send metrics back to Unleash API at regular intervals. The metrics are a list of used toggles and how many times they evaluated to yes or no in at the time of requesting the metrics. Read more about how to send metrics in the [Metrics API](/reference/api/legacy/unleash/client/metrics.md) documentation.
|
||||
|
||||
## Backup Feature Toggles {#backup-feature-toggles}
|
||||
|
||||
|
@ -10,7 +10,7 @@ Single Sign-on via the Google Authenticator provider is deprecated. We recommend
|
||||
|
||||
## Introduction {#introduction}
|
||||
|
||||
In this guide we will do a deep dive on the Single-Sign-On (SSO) using Google Authentication. Unleash supports other identity providers and protocols, have a look at [all available Single-Sign-On options](../advanced/sso.md)
|
||||
In this guide we will do a deep dive on the Single-Sign-On (SSO) using Google Authentication. Unleash supports other identity providers and protocols, have a look at [all available Single-Sign-On options](../reference/sso.md)
|
||||
|
||||
## Basic configuration
|
||||
|
||||
|
@ -10,7 +10,7 @@ The **Single-Sign-On capability** is only available for customers on the Enterpr
|
||||
|
||||
## Introduction {#introduction}
|
||||
|
||||
In this guide we will do a deep dive on the Single-Sign-On (SSO) using the OpenID Connect protocol and connect it with Okta as IdP. Unleash supports other identity providers and protocols, have a look at [all available Single-Sign-On options](../advanced/sso.md)
|
||||
In this guide we will do a deep dive on the Single-Sign-On (SSO) using the OpenID Connect protocol and connect it with Okta as IdP. Unleash supports other identity providers and protocols, have a look at [all available Single-Sign-On options](../reference/sso.md)
|
||||
|
||||
## Basic configuration
|
||||
|
||||
|
@ -10,7 +10,7 @@ The **Single-Sign-On capability** is only available for customers on the Enterpr
|
||||
|
||||
## Introduction {#introduction}
|
||||
|
||||
In this guide we will do a deep dive on the Single-Sign-On (SSO) integration with SAML 2.0 and connect it with Keycloak as IdP. Unleash supports other identity providers and protocols, have a look at [all available Single-Sign-On options](../advanced/sso.md)
|
||||
In this guide we will do a deep dive on the Single-Sign-On (SSO) integration with SAML 2.0 and connect it with Keycloak as IdP. Unleash supports other identity providers and protocols, have a look at [all available Single-Sign-On options](../reference/sso.md)
|
||||
|
||||
## Basic configuration
|
||||
|
||||
|
@ -10,7 +10,7 @@ The **Single-Sign-On capability** is only available for customers on the Enterpr
|
||||
|
||||
## Introduction {#introduction}
|
||||
|
||||
In this guide we will do a deep dive on the Single-Sign-On (SSO) integration with SAML 2.0 and connect it with Okta as IdP. Unleash support other identity providers and protocols, have a look at [all available Single-Sign-On options](../advanced/sso.md)
|
||||
In this guide we will do a deep dive on the Single-Sign-On (SSO) integration with SAML 2.0 and connect it with Okta as IdP. Unleash support other identity providers and protocols, have a look at [all available Single-Sign-On options](../reference/sso.md)
|
||||
|
||||
## Basic configuration
|
||||
|
||||
|
@ -8,7 +8,7 @@ Before Unleash 4.16, strategy constraints were only available to Unleash Pro and
|
||||
|
||||
:::
|
||||
|
||||
This guide shows you how to add [strategy constraints](../advanced/strategy-constraints.md) to your feature toggles via the admin UI. For information on how to interact with strategy constraints from an [Unleash client SDK](../sdks/index.md), visit the specific SDKs documentation or see [the relevant section in the strategy constraints documentation](../advanced/strategy-constraints.md#sdks 'strategy constraints documentation, section on interacting with constraints from client SDKs').
|
||||
This guide shows you how to add [strategy constraints](../reference/strategy-constraints.md) to your feature toggles via the admin UI. For information on how to interact with strategy constraints from an [Unleash client SDK](../reference/sdks/index.md), visit the specific SDKs documentation or see [the relevant section in the strategy constraints documentation](../reference/strategy-constraints.md#sdks 'strategy constraints documentation, section on interacting with constraints from client SDKs').
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@ -26,9 +26,9 @@ On the "edit strategy" screen, select the "add constraint" button to open the co
|
||||
|
||||
## Step 2: Add and configure the constraint {#step-2}
|
||||
|
||||
Refer to [the _constraint structure_ section of the strategy constraints reference](../advanced/strategy-constraints.md#constraint-structure) for a thorough explanation of the constraint fields.
|
||||
Refer to [the _constraint structure_ section of the strategy constraints reference](../reference/strategy-constraints.md#constraint-structure) for a thorough explanation of the constraint fields.
|
||||
|
||||
1. From the "Context Field" dropdown, **select the context field** you would like to constrain the strategy on and **choose the [constraint operator](../advanced/strategy-constraints.md#strategy-constraint-operators)** you want.
|
||||
1. From the "Context Field" dropdown, **select the context field** you would like to constrain the strategy on and **choose the [constraint operator](../reference/strategy-constraints.md#strategy-constraint-operators)** you want.
|
||||
2. **Define the values** to use for this constraint. The operator you selected decides whether you can define one or multiple values and what format they can have.
|
||||
3. **Save the constraint** first, and then **save the strategy**.
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: user-management
|
||||
title: How to add new users to your Unleash instance
|
||||
---
|
||||
|
||||
@ -14,7 +13,7 @@ You can add new users to Unleash in `Admin > Users`.
|
||||
2. To add a new user to your Unleash instance, use the "new user" button:
|
||||
![The Unleash users page with the 'add new user' button being pointed to.](/img/user_admin-add-user.jpg)
|
||||
|
||||
3. Fill out the required fields in the "create user" form. Refer to the [global roles overview](./rbac.md#standard-roles) for more information on roles.
|
||||
3. Fill out the required fields in the "create user" form. Refer to the [global roles overview](../reference/rbac.md#standard-roles) for more information on roles.
|
||||
|
||||
![A form titled "Add team member". It has the fields "full name", "email", and "role". The role field is a radio button set with roles called "admin", "editor", and "viewer".](/img/user_admin_add_user_modal.png)
|
||||
|
@ -8,7 +8,7 @@ import VideoContent from '@site/src/components/VideoContent.jsx'
|
||||
Placeholders in the code samples below are delimited by angle brackets (i.e. `<placeholder-name>`). You will need to replace them with the values that are correct in _your_ situation for the code samples to run properly.
|
||||
:::
|
||||
|
||||
Unleash allows you to gather [**impression data**](../advanced/impression-data.md) from your feature toggles, giving you complete visibility into who checked what toggles and when. What you do with this data is entirely up to you, but a common use case is to send it off to an aggregation and analytics service such as [Posthog](https://posthog.com/) or [Google Analytics](https://analytics.google.com/), either just for monitoring purposes or to facilitate [A/B testing](../topics/a-b-testing.md).
|
||||
Unleash allows you to gather [**impression data**](../reference/impression-data.md) from your feature toggles, giving you complete visibility into who checked what toggles and when. What you do with this data is entirely up to you, but a common use case is to send it off to an aggregation and analytics service such as [Posthog](https://posthog.com/) or [Google Analytics](https://analytics.google.com/), either just for monitoring purposes or to facilitate [A/B testing](../topics/a-b-testing.md).
|
||||
|
||||
This guide will take you through everything you need to do in Unleash to facilitate such a workflow. It will show you how to send data to Posthog as an example sink, but the exact same principles will apply to any other service of the same kind.
|
||||
|
||||
@ -23,7 +23,7 @@ We will assume that you have the necessary details for your third-party service:
|
||||
- **where to send the data to**. We'll refer to this in the code samples below as **`<sink-url>`**.
|
||||
- **what format the data needs to be in**. This will determine how you transform the event data before you send it.
|
||||
|
||||
In addition, you'll need to have a toggle to record impression data for and an [Unleash client SDK](../sdks/index.md) that supports impression data. This guide will use the [JavaScript proxy SDK](../sdks/proxy-javascript.md).
|
||||
In addition, you'll need to have a toggle to record impression data for and an [Unleash client SDK](../reference/sdks/index.md) that supports impression data. This guide will use the [JavaScript proxy SDK](../reference/sdks/javascript-browser.md).
|
||||
|
||||
When you have those things sorted, follow the below steps.
|
||||
|
||||
@ -37,7 +37,7 @@ When you create a new feature toggle via the UI, there's an option at the end of
|
||||
|
||||
![The create feature toggle form. There's a toggle at the end of the form that enables or disables impression data. It's labeled "impression data".](/img/enable-impression-data.png)
|
||||
|
||||
To create a feature toggle with impression data enabled, set the `impressionData` option to `true` in the request payload, as seen below. For more options, check the [reference docs on creating features](../api/admin/feature-toggles-api-v2.md#create-toggle).
|
||||
To create a feature toggle with impression data enabled, set the `impressionData` option to `true` in the request payload, as seen below. For more options, check the [reference docs on creating features](/reference/api/legacy/unleash/admin/features-v2.md#create-toggle).
|
||||
|
||||
<ApiRequest verb="post" payload={{name: "<feature-toggle-name>", impressionData: true}} url="api/admin/projects/<project-id>/features" title="Create a feature toggle with impression data enabled."/>
|
||||
|
||||
@ -47,7 +47,7 @@ To enable impression data for an existing toggle, go to the "Settings" tab of th
|
||||
|
||||
![The create feature toggle form. There's a toggle at the end of the form that enables or disables impression data. It's labeled "impression data".](/img/enable-impression-data-existing-toggle.png)
|
||||
|
||||
To enable impression data for an existing toggle, use the [API's toggle patching functionality](../api/admin/feature-toggles-api-v2.md#patch-toggle):
|
||||
To enable impression data for an existing toggle, use the [API's toggle patching functionality](/reference/api/legacy/unleash/admin/features-v2.md#patch-toggle):
|
||||
|
||||
<ApiRequest verb="patch" payload={[{op: "replace", path: "/impressionData", value: true}]} url="api/admin/projects/<project-id>/features/<feature-toggle-name>" title="Enable impression data on an existing toggle."/>
|
||||
|
||||
|
@ -8,7 +8,7 @@ Environment cloning is an upcoming feature, and is scheduled to become available
|
||||
|
||||
:::
|
||||
|
||||
[Environment cloning](../user_guide/environments.md#cloning-environments) enables Unleash admins to duplicate existing environments, including all feature toggles strategies and their state.
|
||||
[Environment cloning](../reference/environments.md#cloning-environments) enables Unleash admins to duplicate existing environments, including all feature toggles strategies and their state.
|
||||
|
||||
## Step 1: Navigate to the environments page {#step-1}
|
||||
|
||||
@ -36,4 +36,4 @@ You can optionally generate an API token for the new environment right away. Sel
|
||||
|
||||
![The token details with the "Copy Token" element highlighted.](/img/clone-environment-5.png)
|
||||
|
||||
You can always create API tokens for the new environment by following the [_Generating an API token_](../user_guide/token.mdx) guide.
|
||||
You can always create API tokens for the new environment by following the [_Generating an API token_](../how-to/how-to-create-api-tokens.mdx) guide.
|
||||
|
@ -11,7 +11,7 @@ Custom project roles were introduced in **Unleash 4.6** and are only available i
|
||||
:::
|
||||
|
||||
|
||||
This guide takes you through [how to create](#creating-custom-project-roles "how to create custom project roles") and [assign](#assigning-custom-project-roles "how to assign custom project roles") [custom project roles](../user_guide/rbac.md#custom-project-roles). Custom project roles allow you to fine-tune access rights and permissions within your projects.
|
||||
This guide takes you through [how to create](#creating-custom-project-roles "how to create custom project roles") and [assign](#assigning-custom-project-roles "how to assign custom project roles") [custom project roles](../reference/rbac.md#custom-project-roles). Custom project roles allow you to fine-tune access rights and permissions within your projects.
|
||||
|
||||
<VideoContent videoUrls={["https://www.youtube.com/embed/2BlckVMHxgE" , "https://www.youtube.com/embed/IqaD8iGxkwk"]}>
|
||||
|
||||
@ -29,7 +29,7 @@ It takes about three steps to create custom project roles:
|
||||
![The admin/roles screen, with the project roles tab highlighted. The page shows a table of project roles with their descriptions.](/img/create-cpr-step-2.png)
|
||||
3. Use the "New project role" button to open the role creation form.
|
||||
![The visual position of the 'new project role' button on the page.](/img/create-cpr-step-3.png)
|
||||
4. Give the role a name, an optional description, and the set of permissions you'd like it to have. For a full overview of all the options, consult the [custom project roles reference documentation](../user_guide/rbac.md#custom-project-roles).
|
||||
4. Give the role a name, an optional description, and the set of permissions you'd like it to have. For a full overview of all the options, consult the [custom project roles reference documentation](../reference/rbac.md#custom-project-roles).
|
||||
![The project role creation form filled in with details for a "developer" role. To the left is the equivalent cURL command you could run if you wanted to use the API instead of the form.](/img/create-cpr-step-4.png)
|
||||
|
||||
## Assigning custom project roles
|
||||
|
@ -8,7 +8,7 @@ User groups are available to Unleash Enterprise users since **Unleash 4.14**.
|
||||
|
||||
:::
|
||||
|
||||
This guide takes you through how to use user groups to manage permissions on your projects. User groups allow you to manage large groups of users more easily than assigning roles directly to those users. Refer to the section on [user groups](../user_guide/rbac.md#user-groups) in the RBAC documentation for more information.
|
||||
This guide takes you through how to use user groups to manage permissions on your projects. User groups allow you to manage large groups of users more easily than assigning roles directly to those users. Refer to the section on [user groups](../reference/rbac.md#user-groups) in the RBAC documentation for more information.
|
||||
|
||||
## Creating user groups
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: api-token
|
||||
title: How to create API Tokens
|
||||
---
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: create_feature_toggle
|
||||
title: How to create a feature toggle
|
||||
---
|
||||
|
||||
@ -28,7 +27,7 @@ To be able to create a feature toggle in an Unleash system you will need:
|
||||
|
||||
:::info roles
|
||||
|
||||
Refer to [the documentation on role-based access control](./rbac.md) for more information about the available roles and their permissions.
|
||||
Refer to [the documentation on role-based access control](../reference/rbac.md) for more information about the available roles and their permissions.
|
||||
|
||||
:::
|
||||
|
||||
@ -40,7 +39,7 @@ This section takes you through the required steps to create and activate a featu
|
||||
|
||||
:::tip API: create a toggle
|
||||
|
||||
Use the [Admin API endpoint for creating a feature toggle](../api/admin/feature-toggles-api-v2.md#create-toggle). The payload accepts all the same fields as the Admin UI form. The Admin UI also displays the corresponding cURL command when you use the form.
|
||||
Use the [Admin API endpoint for creating a feature toggle](/reference/api/legacy/unleash/admin/features-v2.md#create-toggle). The payload accepts all the same fields as the Admin UI form. The Admin UI also displays the corresponding cURL command when you use the form.
|
||||
|
||||
:::
|
||||
|
||||
@ -52,11 +51,11 @@ In the project that you want to create the toggle in, use the "new feature toggl
|
||||
|
||||
:::tip API: Add a strategy
|
||||
|
||||
Use the [API for adding a strategy to a feature toggle](../api/admin/feature-toggles-api-v2.md#add-strategy). You can find the configuration options for each strategy in the [activation strategy reference documentation](../user_guide/activation-strategies.md).
|
||||
Use the [API for adding a strategy to a feature toggle](/reference/api/legacy/unleash/admin/features-v2.md#add-strategy). You can find the configuration options for each strategy in the [activation strategy reference documentation](../reference/activation-strategies.md).
|
||||
|
||||
:::
|
||||
|
||||
Decide which environment you want to enable the toggle in. Select that environment and add an activation strategy. Different activation strategies will act differently as described in the [activation strategy documentation](../user_guide/activation-strategies.md). The configuration for each strategy differs accordingly. After selecting a strategy, complete the steps to configure it.
|
||||
Decide which environment you want to enable the toggle in. Select that environment and add an activation strategy. Different activation strategies will act differently as described in the [activation strategy documentation](../reference/activation-strategies.md). The configuration for each strategy differs accordingly. After selecting a strategy, complete the steps to configure it.
|
||||
|
||||
![](/img/create-toggle-add-strategy.png)
|
||||
|
||||
@ -64,7 +63,7 @@ Decide which environment you want to enable the toggle in. Select that environme
|
||||
|
||||
:::tip API: Enable a toggle
|
||||
|
||||
Use the [API for enabling an environment for a toggle](../api/admin/feature-toggles-api-v2.md#enable-env) and specify the environment you'd like to enable.
|
||||
Use the [API for enabling an environment for a toggle](/reference/api/legacy/unleash/admin/features-v2.md#enable-env) and specify the environment you'd like to enable.
|
||||
|
||||
:::
|
||||
|
||||
@ -78,7 +77,7 @@ These optional steps allow you to further configure your feature toggles to add
|
||||
|
||||
### Add constraints and segmentation
|
||||
|
||||
Constraints and segmentation allow you to set filters on your strategies, so that they will only be evaluated for users and applications that match the specified preconditions. Refer to the [strategy constraints](../advanced/strategy-constraints.md 'strategy constraints reference documentation') and [segments reference documentation](../reference/segments.mdx) for more information.
|
||||
Constraints and segmentation allow you to set filters on your strategies, so that they will only be evaluated for users and applications that match the specified preconditions. Refer to the [strategy constraints](../reference/strategy-constraints.md 'strategy constraints reference documentation') and [segments reference documentation](../reference/segments.mdx) for more information.
|
||||
|
||||
To add constraints and segmentation, use the "edit strategy" button for the desired strategy.
|
||||
|
||||
@ -94,7 +93,7 @@ Constraints aren't fixed and can be changed later to further narrow your audienc
|
||||
|
||||
:::tip API: Add constraints
|
||||
|
||||
You can either [add constraints when you add the strategy](../api/admin/feature-toggles-api-v2.md#add-strategy) or [PUT](../api/admin/feature-toggles-api-v2.md#update-strategy 'PUT an activation strategy') or [PATCH the strategy afterwards](../api/admin/feature-toggles-api-v2.md#put-strategy)
|
||||
You can either [add constraints when you add the strategy](/reference/api/legacy/unleash/admin/features-v2.md#add-strategy) or [PUT](/reference/api/legacy/unleash/admin/features-v2.md#update-strategy 'PUT an activation strategy') or [PATCH the strategy afterwards](/reference/api/legacy/unleash/admin/features-v2.md#put-strategy)
|
||||
|
||||
:::
|
||||
|
||||
@ -112,7 +111,7 @@ This can be done after you have created a strategy.
|
||||
|
||||
:::tip API: add segments
|
||||
|
||||
Use the [API for adding segments to a strategy](../api/admin/segments.mdx#replace-activation-strategy-segments) to add segments to your strategy.
|
||||
Use the [API for adding segments to a strategy](/reference/api/legacy/unleash/admin/segments.mdx#replace-activation-strategy-segments) to add segments to your strategy.
|
||||
|
||||
:::
|
||||
|
||||
@ -130,10 +129,10 @@ This can be done at any point after you've created your toggle.
|
||||
|
||||
:::tip API: add variants
|
||||
|
||||
Use the [update variants endpoint](../api/admin/feature-toggles-api-v2.md#update-variants). The payload should be your desired variant configuration.
|
||||
Use the [update variants endpoint](/reference/api/legacy/unleash/admin/features-v2.md#update-variants). The payload should be your desired variant configuration.
|
||||
|
||||
:::
|
||||
|
||||
[Variants](../advanced/feature-toggle-variants.md) give you the ability to further target your users and split them into groups of your choosing, such as for A/B testing. On the toggle overview page, select the variants tab. Use the "new variant" button to add the variants that you want.
|
||||
[Variants](../reference/feature-toggle-variants.md) give you the ability to further target your users and split them into groups of your choosing, such as for A/B testing. On the toggle overview page, select the variants tab. Use the "new variant" button to add the variants that you want.
|
||||
|
||||
![](/img/create-toggle-add-variants.png)
|
@ -8,7 +8,7 @@ Personal access tokens are planned to be released in **Unleash 4.17**.
|
||||
|
||||
:::
|
||||
|
||||
Personal access tokens are a tool to enable a user to use the Admin API as themselves with their own set of permissions, rather than using an admin token. See [_how to use the Admin API_](../advanced/api_access) for more information.
|
||||
Personal access tokens are a tool to enable a user to use the Admin API as themselves with their own set of permissions, rather than using an admin token. See [_how to use the Admin API_](how-to-use-the-admin-api.md) for more information.
|
||||
|
||||
## Step 1: Navigate to the personal access tokens page {#step-1}
|
||||
|
||||
@ -38,4 +38,4 @@ Once your new token is created, the popup will display the new token details. Yo
|
||||
|
||||
![The token created popup with the "Copy Token" element highlighted. ](/img/create-pat-5.png)
|
||||
|
||||
Your personal access token can now be used in place of an [admin token](../reference/api-tokens-and-client-keys#admin-tokens).
|
||||
Your personal access token can now be used in place of an [admin token](../reference/api-tokens-and-client-keys#admin-tokens).
|
||||
|
@ -9,7 +9,7 @@ Before Unleash 4.16, custom context fields were only available to Unleash Pro an
|
||||
|
||||
:::
|
||||
|
||||
This guide shows you how to create [custom context field for the Unleash Context](../user_guide/unleash-context.md#custom-context-fields). You can use custom context fields for [strategy constraints](../advanced/strategy-constraints.md) and for [custom stickiness calculations](../advanced/stickiness.md#custom-stickiness). If there are [standard Unleash Context fields](../user_guide/unleash-context.md#structure) missing from the context fields page, you can use the same steps to add them too.
|
||||
This guide shows you how to create [custom context field for the Unleash Context](../reference/unleash-context.md#custom-context-fields). You can use custom context fields for [strategy constraints](../reference/strategy-constraints.md) and for [custom stickiness calculations](../reference/stickiness.md#custom-stickiness). If there are [standard Unleash Context fields](../reference/unleash-context.md#structure) missing from the context fields page, you can use the same steps to add them too.
|
||||
|
||||
## Step 1: Navigate to the context field creation form {#step-1-navigate-to-context-fields}
|
||||
|
||||
@ -25,7 +25,7 @@ In the Unleash Admin UI, navigate to the _context fields_ page:
|
||||
|
||||
## Step 2: Define the new context field {#step-2-define-new-context-field}
|
||||
|
||||
Define the custom context field by filling out the form. You must at least the field a unique _name_. Everything else is optional. Refer to the [custom context field reference guide](../user_guide/unleash-context.md#custom-context-fields) for a full overview of the parameters and their functions and requirements.
|
||||
Define the custom context field by filling out the form. You must at least the field a unique _name_. Everything else is optional. Refer to the [custom context field reference guide](../reference/unleash-context.md#custom-context-fields) for a full overview of the parameters and their functions and requirements.
|
||||
|
||||
When you are satisfied with the context field's values, use the "create" button to submit the form and save the context field.
|
||||
|
||||
|
@ -76,7 +76,7 @@ docker run \
|
||||
|
||||
The configuration option for enabling OpenAPI and the swagger UI is `enableOAS`. Set this option to `true`.
|
||||
|
||||
The following examples have been shortened to show the only the relevant configuration options. For more detailed instructions on how to run Unleash or the proxy, refer to [how to run the Unleash proxy](how-to-run-the-unleash-proxy.mdx) or the [section on running Unleash via Node.js from the deployment section](../deploy/getting-started.md#option-three---from-nodejs) of the documentation.
|
||||
The following examples have been shortened to show the only the relevant configuration options. For more detailed instructions on how to run Unleash or the proxy, refer to [how to run the Unleash proxy](how-to-run-the-unleash-proxy.mdx) or the [section on running Unleash via Node.js from the deployment section](../reference/deploy/getting-started.md#option-three---from-nodejs) of the documentation.
|
||||
|
||||
<Tabs groupId="openapi-configuration">
|
||||
|
||||
|
@ -10,7 +10,7 @@ Placeholders in the code samples below are delimited by angle brackets (i.e. `<p
|
||||
|
||||
:::
|
||||
|
||||
The [Unleash Proxy](../sdks/unleash-proxy.md) provides a way for you to consume feature toggles in [front-end clients](../sdks/index.md#front-end-sdks), such as the [JavaScript Proxy client](../sdks/proxy-javascript.md) and [React Proxy client](../sdks/proxy-react.md).
|
||||
The [Unleash Proxy](../reference/unleash-proxy.md) provides a way for you to consume feature toggles in [front-end clients](../reference/sdks/index.md#front-end-sdks), such as the [JavaScript Proxy client](../reference/sdks/javascript-browser.md) and [React Proxy client](../reference/sdks/react.md).
|
||||
|
||||
Depending on your setup, the Proxy is most easily run in one of two ways, depending on your situation:
|
||||
|
||||
@ -43,7 +43,7 @@ docker pull unleashorg/unleash-proxy
|
||||
|
||||
### 2. Start the Proxy
|
||||
|
||||
When running the Proxy, you'll need to provide it with at least the configuration options listed below. Check the reference docs for the [full list of configuration options](../sdks/unleash-proxy.md#configuration-options).
|
||||
When running the Proxy, you'll need to provide it with at least the configuration options listed below. Check the reference docs for the [full list of configuration options](../reference/unleash-proxy.md#configuration-options).
|
||||
|
||||
```bash title="Run the Unleash Proxy via Docker"
|
||||
docker run \
|
||||
@ -82,7 +82,7 @@ npm install @unleash/proxy
|
||||
|
||||
### 3. Configure and start the proxy
|
||||
|
||||
Import the `createApp` function from `@unleash/proxy` and configure the proxy. You'll need to provide at least the configuration options highlighted below. Check the reference docs for the [full list of configuration options](../sdks/unleash-proxy.md#configuration-options).
|
||||
Import the `createApp` function from `@unleash/proxy` and configure the proxy. You'll need to provide at least the configuration options highlighted below. Check the reference docs for the [full list of configuration options](../reference/unleash-proxy.md#configuration-options).
|
||||
|
||||
Here is an example of what running the Proxy as a Node.js app might look like:
|
||||
|
||||
|
@ -27,7 +27,7 @@ This guide assumes that you've got the following:
|
||||
|
||||
## Schedule feature releases with strategy constraints {#strategy-constraints}
|
||||
|
||||
[Strategy contstraints](../advanced/strategy-constraints.md#date-and-time-operators) are the easiest way to schedule feature releases ([as long as your SDKs are up to date](../advanced/strategy-constraints.md#incompatibilities)). You can use this approach with _any_ strategy you want. The strategies will work just as they normally do, they just won't become active until the specified time. For example: with the standard strategy, the feature would become available to all your users at the specified time; with a gradual rollout, the rollout would start at the specified time.
|
||||
[Strategy contstraints](../reference/strategy-constraints.md#date-and-time-operators) are the easiest way to schedule feature releases ([as long as your SDKs are up to date](../reference/strategy-constraints.md#incompatibilities)). You can use this approach with _any_ strategy you want. The strategies will work just as they normally do, they just won't become active until the specified time. For example: with the standard strategy, the feature would become available to all your users at the specified time; with a gradual rollout, the rollout would start at the specified time.
|
||||
|
||||
### Step 1: Add an activation strategy with a date-based constraint
|
||||
|
||||
@ -41,9 +41,9 @@ To schedule a feature release via the UI:
|
||||
|
||||
#### Scheduling a release via the API
|
||||
|
||||
To add an activation strategy via the Admin API, use the feature's `strategies` endpoint to add a new strategy (see the [API documentation for adding strategies to feature toggles](../api/admin/feature-toggles-api-v2.md#add-strategy) for more details).
|
||||
To add an activation strategy via the Admin API, use the feature's `strategies` endpoint to add a new strategy (see the [API documentation for adding strategies to feature toggles](/reference/api/legacy/unleash/admin/features-v2.md#add-strategy) for more details).
|
||||
|
||||
The payload's `"name"` property should contain the name of the strategy to apply (see [activation strategies reference documentation](../user_guide/activation-strategies.md) for all built-in strategies' _modeling names_).
|
||||
The payload's `"name"` property should contain the name of the strategy to apply (see [activation strategies reference documentation](../reference/activation-strategies.md) for all built-in strategies' _modeling names_).
|
||||
|
||||
The `"constraint"` object should have the same format as described in the code sample below. The activation date must be in an [RFC 3339-compatible format](https://datatracker.ietf.org/doc/html/rfc3339#section-5.8), e.g. `"1990-12-31T23:59:60Z"`.
|
||||
|
||||
@ -58,7 +58,7 @@ The `"constraint"` object should have the same format as described in the code s
|
||||
]
|
||||
}} url="api/admin/projects/<project-id>/features/environments/<environment>/strategies" title="Add a feature activation strategy with a scheduled activation time."/>
|
||||
|
||||
The `"operator"` property in the code sample can be replaced with [any of the other date and time-based operators](../advanced/strategy-constraints.md#date-and-time-operators) according to your needs.
|
||||
The `"operator"` property in the code sample can be replaced with [any of the other date and time-based operators](../reference/strategy-constraints.md#date-and-time-operators) according to your needs.
|
||||
|
||||
## Schedule feature releases with custom activation strategies {#custom-activation-strategies}
|
||||
|
||||
@ -68,7 +68,7 @@ To schedule feature releases without using strategy constraints, you can use cus
|
||||
|
||||
### Step 1: Define and apply a custom activation strategy
|
||||
|
||||
**Define a strategy** that takes a parameter that tells it when to activate (visit [the custom activation strategy reference documentation](../advanced/custom-activation-strategy.md#definition) for full details on definitions):
|
||||
**Define a strategy** that takes a parameter that tells it when to activate (visit [the custom activation strategy reference documentation](../reference/custom-activation-strategies.md#definition) for full details on definitions):
|
||||
|
||||
1. Give the strategy a name. We'll use `enableAfter`.
|
||||
2. Give the strategy a required string parameter where the user can enter the time at which the feature should activate. Be sure to describe the format that the user must adhere to.
|
||||
|
@ -1,11 +1,10 @@
|
||||
---
|
||||
id: feature_updates_to_slack
|
||||
title: Feature Updates To slack
|
||||
---
|
||||
|
||||
:::caution
|
||||
|
||||
This guide is deprecated. If you're looking for ways to integrate with Slack, you should refer to [the Slack add-on guide](../addons/slack.md) instead.
|
||||
This guide is deprecated. If you're looking for ways to integrate with Slack, you should refer to [the Slack add-on guide](../reference/addons/slack.md) instead.
|
||||
|
||||
:::
|
||||
|
@ -8,7 +8,7 @@ User group syncing is planned to be released in Unleash 4.18 and will be availab
|
||||
|
||||
:::
|
||||
|
||||
This guide takes you through how to configure your [user groups](../user_guide/rbac#user-groups) to automatically populate users through Single Sign On (SSO). Refer to [setting up Keycloak for user group sync](../../how-to/how-to-setup-sso-keycloak-group-sync) for an end to end example. Note that the steps below require you to be logged in as an admin user.
|
||||
This guide takes you through how to configure your [user groups](../reference/rbac#user-groups) to automatically populate users through Single Sign On (SSO). Refer to [setting up Keycloak for user group sync](../../how-to/how-to-setup-sso-keycloak-group-sync) for an end to end example. Note that the steps below require you to be logged in as an admin user.
|
||||
|
||||
## Step 1: Navigate to SSO configuration {#step-1}
|
||||
|
||||
@ -18,7 +18,7 @@ Navigate to the "Single sign-on" configuration page.
|
||||
|
||||
## Step 2: Enable Group Syncing {#step-2}
|
||||
|
||||
Turn on "Enable Group Syncing" and enter a value a for "Group Field JSON Path". Refer to the [User group SSO integration documentation](../user_guide/rbac.md#user-group-sso-integration) for more information or to the [how-to guide for integrating with Keycloak](how-to-setup-sso-keycloak-group-sync.md) for a practical example.
|
||||
Turn on "Enable Group Syncing" and enter a value a for "Group Field JSON Path". Refer to the [User group SSO integration documentation](../reference/rbac.md#user-group-sso-integration) for more information or to the [how-to guide for integrating with Keycloak](how-to-setup-sso-keycloak-group-sync.md) for a practical example.
|
||||
|
||||
The value is the JSON path in the token response where your group properties are located, this is up to your SSO provider, a full example for Keycloak can be [found here](../../how-to/how-to-setup-sso-keycloak-group-sync). Once you're happy, save your configuration.
|
||||
|
||||
@ -40,4 +40,4 @@ Navigate to edit group.
|
||||
|
||||
Link as many SSO groups as you like to your group, these names should match the group name or ID sent by your SSO provider exactly. Save your group configuration, the next time a user belonging to one of these groups logs in, they'll be automatically added to this group.
|
||||
|
||||
![The edit group screen with SSO Group input and save highlighted.](/img/setup-sso-group-sync-5.png)
|
||||
![The edit group screen with SSO Group input and save highlighted.](/img/setup-sso-group-sync-5.png)
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: How to use custom activation strategies
|
||||
---
|
||||
|
||||
This guide takes you through how to use [custom activation strategies](../advanced/custom-activation-strategy.md) with Unleash. We'll go through how you define a custom strategy in the admin UI, how you add it to a toggle, and how you'd implement it in a [client SDK](../sdks/index.md).
|
||||
This guide takes you through how to use [custom activation strategies](../reference/custom-activation-strategies.md) with Unleash. We'll go through how you define a custom strategy in the admin UI, how you add it to a toggle, and how you'd implement it in a [client SDK](../reference/sdks/index.md).
|
||||
|
||||
In this example we want to define an activation strategy offers a scheduled release of a feature toggle. This means that we want the feature toggle to be activated after a given date and time.
|
||||
|
||||
@ -12,7 +12,7 @@ In this example we want to define an activation strategy offers a scheduled rele
|
||||
|
||||
![A visual guide for how to navigate to the strategies page in the Unleash admin UI. It shows the steps described in the preceding paragraph.](/img/custom-strategy-navigation.png)
|
||||
|
||||
2. **Define your strategy**. Use the "Add new strategy" button to open the strategy creation form. Fill in the form to define your strategy. Refer to [the custom strategy reference documentation](../advanced/custom-activation-strategy.md#definition) for a full list of options.
|
||||
2. **Define your strategy**. Use the "Add new strategy" button to open the strategy creation form. Fill in the form to define your strategy. Refer to [the custom strategy reference documentation](../reference/custom-activation-strategies.md#definition) for a full list of options.
|
||||
|
||||
![A strategy creation form. It has fields labeled "strategy name" — "TimeStamp" — and "description" — "activate toggle after a given timestamp". It also has fields for a parameter named "enableAfter". The parameter is of type "string" and the parameter description is "Expected format: YYYY-MM-DD HH:MM". The parameter is required.](/img/timestamp_create_strategy.png)
|
||||
|
||||
@ -27,11 +27,11 @@ In this example we want to define an activation strategy offers a scheduled rele
|
||||
The steps to implement a custom strategy for your client depend on the kind of client SDK you're using:
|
||||
|
||||
- if you're using a server-side client SDK, follow the steps in [option A](#step-3-a 'Step 3 option A: implement the strategy for a server-side client SDK').
|
||||
- if you're using a front-end client SDK ([Android](../sdks/android-proxy.md), [JavaScript](../sdks/proxy-javascript.md), [React](../sdks/proxy-react.md), [iOS](../sdks/proxy-ios.md)), follow the steps in [option B](#step-3-b 'Step 3 option B: implementing the strategy for a front-end client SDK')
|
||||
- if you're using a front-end client SDK ([Android](../reference/sdks/android-proxy.md), [JavaScript](../reference/sdks/javascript-browser.md), [React](../reference/sdks/react.md), [iOS](../reference/sdks/ios-proxy.md)), follow the steps in [option B](#step-3-b 'Step 3 option B: implementing the strategy for a front-end client SDK')
|
||||
|
||||
### Option A: Implement the strategy for a server-side client SDK {#step-3-a}
|
||||
|
||||
1. **Implement the custom strategy** in your [client SDK](../sdks/index.md). The exact way to do this will vary depending on the specific SDK you're using, so refer to the SDK's documentation. The example below shows an example of how you'd implement a custom strategy called "TimeStamp" for the [Node.js client SDK](../sdks/node.md).
|
||||
1. **Implement the custom strategy** in your [client SDK](../reference/sdks/index.md). The exact way to do this will vary depending on the specific SDK you're using, so refer to the SDK's documentation. The example below shows an example of how you'd implement a custom strategy called "TimeStamp" for the [Node.js client SDK](../reference/sdks/node.md).
|
||||
|
||||
```js
|
||||
const { Strategy } = require('unleash-client');
|
||||
@ -81,14 +81,14 @@ The steps to implement a custom strategy for your client depend on the kind of c
|
||||
|
||||
### Option B: Implement the strategy for a front-end client SDK {#step-3-b}
|
||||
|
||||
Front-end client SDKs don't evaluate strategies directly, so you need to implement the **custom strategy in the [Unleash Proxy](../sdks/unleash-proxy.md)**. Depending on how you run the Unleash Proxy, follow one of the below series of steps:
|
||||
Front-end client SDKs don't evaluate strategies directly, so you need to implement the **custom strategy in the [Unleash Proxy](../reference/unleash-proxy.md)**. Depending on how you run the Unleash Proxy, follow one of the below series of steps:
|
||||
|
||||
- If you're running the Unleash Proxy as a Docker container, refer to the [steps for using a containerized Proxy](#step-3-b-docker).
|
||||
- If you're using the Unleash Proxy via Node.js, refer to the [steps for using custom strategies via Node.js](#step-3-b-node).
|
||||
|
||||
#### With a containerized proxy {#step-3-b-docker}
|
||||
|
||||
Strategies are stored in separate JavaScript files and loaded into the container at startup. Refer to [the Unleash Proxy documentation](../sdks/unleash-proxy.md) for a full overview of all the options.
|
||||
Strategies are stored in separate JavaScript files and loaded into the container at startup. Refer to [the Unleash Proxy documentation](../reference/unleash-proxy.md) for a full overview of all the options.
|
||||
|
||||
1. **Create a strategies directory.** Create a directory that Docker has access to where you can store your strategies. The next steps assume you called it `strategies`
|
||||
2. **Initialize a Node.js project** and **install the Unleash Client**:
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: api_access
|
||||
title: How to use the Admin API
|
||||
---
|
||||
|
||||
@ -7,7 +6,7 @@ It is possible to integrate directly with the Admin API. In this guide we will e
|
||||
|
||||
## Step 1: Create API token {#step-1-create-api-token}
|
||||
|
||||
You'll need either an [admin token](../reference/api-tokens-and-client-keys.mdx#admin-tokens) or a [personal access token](../reference/api-tokens-and-client-keys.mdx#personal-access-tokens) for this to work. To create one, follow the steps in the [_how to create API tokens_](../user_guide/token.mdx) guide or the [_how to create personal access tokens_](how-to/how-to-create-personal-access-tokens) guide, respectively.
|
||||
You'll need either an [admin token](../reference/api-tokens-and-client-keys.mdx#admin-tokens) or a [personal access token](../reference/api-tokens-and-client-keys.mdx#personal-access-tokens) for this to work. To create one, follow the steps in the [_how to create API tokens_](../how-to/how-to-create-api-tokens.mdx) guide or the [_how to create personal access tokens_](./how-to-create-personal-access-tokens.mdx) guide, respectively.
|
||||
|
||||
Please note that it may take up to 60 seconds for the new key to propagate to all Unleash instances due to eager caching.
|
||||
|
||||
@ -21,7 +20,7 @@ If you need an API token to use in a client SDK you should create a "client toke
|
||||
|
||||
Now that you have an access token with admin privileges we can use that to perform changes in our Unleash instance.
|
||||
|
||||
In the example below we will use the [Unleash Admin API](../api/admin/features) to enable the “Demo” feature toggle using curl.
|
||||
In the example below we will use the [Unleash Admin API](/reference/api/legacy/unleash/admin/features.md) to enable the “Demo” feature toggle using curl.
|
||||
|
||||
```sh
|
||||
curl -X POST -H "Content-Type: application/json" \
|
||||
@ -35,4 +34,4 @@ curl -X POST -H "Content-Type: application/json" \
|
||||
|
||||
## API overview {#api-overview}
|
||||
|
||||
You can find the full documentation on everything the Unleash API supports in the [Unleash API documentation](../api/admin/features).
|
||||
You can find the full documentation on everything the Unleash API supports in the [Unleash API documentation](/reference/api/legacy/unleash/admin/features.md).
|
@ -1,13 +1,12 @@
|
||||
---
|
||||
id: activation_strategy
|
||||
title: Activation Strategies
|
||||
---
|
||||
|
||||
It is powerful to be able to turn a feature on and off instantaneously, without redeploying the application. The next level of control comes when you are able to enable a feature for specific users or enable it for a small subset of users. We achieve this level of control with the help of activation strategies. The most straightforward strategy is the standard strategy, which basically means that the feature should be enabled to everyone.
|
||||
|
||||
Unleash comes with a number of built-in strategies (described below) and also lets you add your own [custom activation strategies](../advanced/custom-activation-strategy.md) if you need more control. However, while activation strategies are _defined_ on the server, the server does not _implement_ the strategies. Instead, activation strategy implementation is done client-side. This means that it is _the client_ that decides whether a feature should be enabled or not.
|
||||
Unleash comes with a number of built-in strategies (described below) and also lets you add your own [custom activation strategies](../reference/custom-activation-strategies.md) if you need more control. However, while activation strategies are _defined_ on the server, the server does not _implement_ the strategies. Instead, activation strategy implementation is done client-side. This means that it is _the client_ that decides whether a feature should be enabled or not.
|
||||
|
||||
All [server-side client SDKs](../sdks/index.md#server-side-sdks) and the [Unleash Proxy](../sdks/unleash-proxy.md) implement the default strategies (and allow you to add your own [custom strategy implementations](../advanced/custom-activation-strategy.md#implementation)). The [front-end client SDKs](../sdks/index.md#front-end-sdks) do not do the evaluation themselves, instead relying on the [Unleash Proxy](../sdks/unleash-proxy.md) to take care of the implementation and evaluation.
|
||||
All [server-side client SDKs](../reference/sdks/index.md#server-side-sdks) and the [Unleash Proxy](../reference/unleash-proxy.md) implement the default strategies (and allow you to add your own [custom strategy implementations](../reference/custom-activation-strategies.md#implementation)). The [front-end client SDKs](../reference/sdks/index.md#front-end-sdks) do not do the evaluation themselves, instead relying on the [Unleash Proxy](../reference/unleash-proxy.md) to take care of the implementation and evaluation.
|
||||
|
||||
Some activation strategies require the client to provide the current [Unleash context](unleash-context.md) to the toggle evaluation function for the evaluation to be done correctly.
|
||||
|
||||
@ -60,7 +59,7 @@ This strategy has the following modelling name in the code:
|
||||
### Custom stickiness (beta) {#custom-stickiness}
|
||||
|
||||
:::note
|
||||
This feature is currently in beta and is not yet supported by all our SDKs. Check out the [SDK compatibility table](../sdks/index.md#server-side-sdk-compatibility-table) to see what SDKs support it at the moment.
|
||||
This feature is currently in beta and is not yet supported by all our SDKs. Check out the [SDK compatibility table](../reference/sdks/index.md#server-side-sdk-compatibility-table) to see what SDKs support it at the moment.
|
||||
|
||||
:::
|
||||
|
@ -39,7 +39,7 @@ Unleash Webhook addon takes the following parameters.
|
||||
|
||||
**Content-Type** Used to set the content-type header used when unleash performs an HTTP POST to the defined endpoint.
|
||||
|
||||
**Body template** Used to override the body template used by Unleash when performing the HTTP POST. You may format you message using a [Mustache template](https://mustache.github.io). You will have the [Unleash event format](/api/admin/events) available in the rendering context.
|
||||
**Body template** Used to override the body template used by Unleash when performing the HTTP POST. You may format you message using a [Mustache template](https://mustache.github.io). You will have the [Unleash event format](/reference/api/legacy/unleash/admin/events) available in the rendering context.
|
||||
|
||||
Example:
|
||||
|
||||
@ -52,7 +52,7 @@ Example:
|
||||
}
|
||||
```
|
||||
|
||||
If you don't specify anything Unleash will use the [Unleash event format](/api/admin/events).
|
||||
If you don't specify anything Unleash will use the [Unleash event format](/reference/api/legacy/unleash/admin/events).
|
||||
|
||||
#### Custom SSL certificates {#certificates}
|
||||
|
@ -2,7 +2,7 @@
|
||||
title: API tokens and client keys
|
||||
---
|
||||
|
||||
For Unleash to be of any use, it requires at least a server and a [consuming client](../sdks/index.md). More advanced use cases may call for multiple clients, automated feature toggle updates, the [Unleash proxy](../sdks/unleash-proxy.md) and [Unleash proxy clients](../sdks/index.md#front-end-sdks), and more. To facilitate communication between all these moving parts, Unleash uses a system of API tokens and client keys, all with a specific purpose in mind.
|
||||
For Unleash to be of any use, it requires at least a server and a [consuming client](../reference/sdks/index.md). More advanced use cases may call for multiple clients, automated feature toggle updates, the [Unleash proxy](../reference/unleash-proxy.md) and [Unleash proxy clients](../reference/sdks/index.md#front-end-sdks), and more. To facilitate communication between all these moving parts, Unleash uses a system of API tokens and client keys, all with a specific purpose in mind.
|
||||
|
||||
This document details the three kinds of tokens and keys that you will need to fully connect any Unleash system:
|
||||
|
||||
@ -14,7 +14,7 @@ This document details the three kinds of tokens and keys that you will need to f
|
||||
|
||||
:::tip
|
||||
|
||||
This section describes what API tokens are. For information on how to create them, refer to the [how-to guide for creating API tokens](../user_guide/token.mdx).
|
||||
This section describes what API tokens are. For information on how to create them, refer to the [how-to guide for creating API tokens](../how-to/how-to-create-api-tokens.mdx).
|
||||
|
||||
:::
|
||||
|
||||
@ -42,7 +42,7 @@ Personal access tokens follow their own special format, and only contain an opti
|
||||
|
||||
### Admin tokens
|
||||
|
||||
**Admin tokens** grant _full read and write access_ to all resources in the Unleash server API. Admin tokens have access to all projects, all environments, and all global resources (find out more about [resources in the RBAC document](../user_guide/rbac.md#core-principles)).
|
||||
**Admin tokens** grant _full read and write access_ to all resources in the Unleash server API. Admin tokens have access to all projects, all environments, and all global resources (find out more about [resources in the RBAC document](../reference/rbac.md#core-principles)).
|
||||
|
||||
Use admin tokens to:
|
||||
|
||||
@ -51,7 +51,7 @@ Use admin tokens to:
|
||||
|
||||
Do **not** use admin tokens for:
|
||||
|
||||
- [Client SDKs](../sdks/index.md): You will _not_ be able to read toggle data from multiple environments. Use [client tokens](#client-tokens) instead.
|
||||
- [Client SDKs](../reference/sdks/index.md): You will _not_ be able to read toggle data from multiple environments. Use [client tokens](#client-tokens) instead.
|
||||
|
||||
Support for scoped admin tokens with more fine-grained permissions is currently in the planning stage.
|
||||
|
||||
@ -76,12 +76,12 @@ It is possible to set a token's expiration date to **never**. However, a token t
|
||||
|
||||
Do **not** use personal access tokens for:
|
||||
|
||||
- [Client SDKs](../sdks/index.md): You will _not_ be able to read toggle data from multiple environments. Use [client tokens](#client-tokens) instead.
|
||||
- [Client SDKs](../reference/sdks/index.md): You will _not_ be able to read toggle data from multiple environments. Use [client tokens](#client-tokens) instead.
|
||||
- Write custom Unleash UIs: Personal access tokens may expire and their permissions may change. It's better to use [admin tokens](#admin-tokens) tokens instead.
|
||||
|
||||
### Client tokens
|
||||
|
||||
**Client tokens** are intended for use in [server-side client SDKs](../sdks/index.md#server-side-sdks) (including the Unleash Proxy) and grant the user permissions to:
|
||||
**Client tokens** are intended for use in [server-side client SDKs](../reference/sdks/index.md#server-side-sdks) (including the Unleash Proxy) and grant the user permissions to:
|
||||
|
||||
- Read feature toggle information
|
||||
- Register applications with the Unleash server
|
||||
@ -93,18 +93,18 @@ Each client token is only **valid for a single environment**.
|
||||
|
||||
Use client tokens:
|
||||
|
||||
- In [server-side client SDKs](../sdks/index.md#server-side-sdks)
|
||||
- To connect [the Unleash Proxy](../sdks/unleash-proxy.md) to the Unleash API
|
||||
- In [server-side client SDKs](../reference/sdks/index.md#server-side-sdks)
|
||||
- To connect [the Unleash Proxy](../reference/unleash-proxy.md) to the Unleash API
|
||||
|
||||
Do **not** use client tokens in:
|
||||
|
||||
- [Front-end SDKs](../sdks/index.md#front-end-sdks). You will _not_ be able to connect to the Unleash server due to CORS restrictions. To connect front-end SDKs, choose one of the following options:
|
||||
- [Front-end SDKs](../reference/sdks/index.md#front-end-sdks). You will _not_ be able to connect to the Unleash server due to CORS restrictions. To connect front-end SDKs, choose one of the following options:
|
||||
- Enable the [Unleash front-end API](./front-end-api.md) and create a [front-end token](#front-end-tokens).
|
||||
- Configure an [Unleash Proxy](../sdks/unleash-proxy.md) and use [Proxy client keys](#proxy-client-keys).
|
||||
- Configure an [Unleash Proxy](../reference/unleash-proxy.md) and use [Proxy client keys](#proxy-client-keys).
|
||||
|
||||
### Front-end tokens
|
||||
|
||||
**Front-end tokens** are used with [front-end SDKs](../sdks/index.md#front-end-sdks) when used with the [Unleash front-end API](./front-end-api.md). They grant the user permission to:
|
||||
**Front-end tokens** are used with [front-end SDKs](../reference/sdks/index.md#front-end-sdks) when used with the [Unleash front-end API](./front-end-api.md). They grant the user permission to:
|
||||
|
||||
- Read the enabled toggled for a given context
|
||||
- Register applications with the Unleash server
|
||||
@ -116,15 +116,15 @@ Each front-end token is only **valid for a single environment**.
|
||||
|
||||
Use front-end tokens in:
|
||||
|
||||
- [Front-end SDKs (also known as _proxy clients_)](../sdks/index.md#front-end-sdks).
|
||||
- [Front-end SDKs (also known as _proxy clients_)](../reference/sdks/index.md#front-end-sdks).
|
||||
|
||||
Do **not** use front-end tokens in:
|
||||
|
||||
- [Server-side SDKs](../sdks/index.md#server-side-sdks). The format is different, so they won't work correctly.
|
||||
- [Server-side SDKs](../reference/sdks/index.md#server-side-sdks). The format is different, so they won't work correctly.
|
||||
|
||||
### Format
|
||||
|
||||
API tokens come in one of two formats. When we introduced [environments](../user_guide/environments.md) in Unleash 4.3, we updated the format of the tokens to provide more human-readable information to the user. Both formats are still valid (you don't need to update a working token of the old format) and are described below.
|
||||
API tokens come in one of two formats. When we introduced [environments](./environments.md) in Unleash 4.3, we updated the format of the tokens to provide more human-readable information to the user. Both formats are still valid (you don't need to update a working token of the old format) and are described below.
|
||||
|
||||
#### Version 1
|
||||
|
||||
@ -177,13 +177,13 @@ Some example client tokens are:
|
||||
|
||||
## Proxy client keys {#proxy-client-keys}
|
||||
|
||||
Use proxy client keys to connect [Proxy client SDKs (front-end SDKs)](../sdks/index.md#front-end-sdks) to the [Unleash Proxy](../sdks/unleash-proxy.md). As opposed to the [API tokens](#api-tokens), Proxy client keys are _not_ considered secret and are safe to use on any clients (refer to the [the proxy documentation for more about privacy](../sdks/unleash-proxy.md#we-care-about-privacy)). They do _not_ let you connect to the Unleash server API.
|
||||
Use proxy client keys to connect [Proxy client SDKs (front-end SDKs)](../reference/sdks/index.md#front-end-sdks) to the [Unleash Proxy](../reference/unleash-proxy.md). As opposed to the [API tokens](#api-tokens), Proxy client keys are _not_ considered secret and are safe to use on any clients (refer to the [the proxy documentation for more about privacy](../reference/unleash-proxy.md#we-care-about-privacy)). They do _not_ let you connect to the Unleash server API.
|
||||
|
||||
Proxy client keys are arbitrary strings that you _must_ provide the Unleash proxy with on startup. They can be whatever you want and you **create them yourself**.
|
||||
|
||||
:::info Creating proxy client keys
|
||||
|
||||
To designate a string as a proxy client key, add it to the `clientKeys` list when starting the proxy, as mentioned in the [_configuration_ section of the Unleash proxy documentation](../sdks/unleash-proxy.md#configuration). Connecting clients should then specify the same string as their client key.
|
||||
To designate a string as a proxy client key, add it to the `clientKeys` list when starting the proxy, as mentioned in the [_configuration_ section of the Unleash proxy documentation](../reference/unleash-proxy.md#configuration). Connecting clients should then specify the same string as their client key.
|
||||
|
||||
:::
|
||||
|
||||
@ -191,7 +191,7 @@ Unleash does not generate proxy client keys for you. Because of this, they have
|
||||
|
||||
Use Proxy client keys to:
|
||||
|
||||
- Connect [Proxy client SDKs](../sdks/index.md#front-end-sdks) to the [Unleash Proxy](../sdks/unleash-proxy.md)
|
||||
- Connect [Proxy client SDKs](../reference/sdks/index.md#front-end-sdks) to the [Unleash Proxy](../reference/unleash-proxy.md)
|
||||
- Connect your own custom Proxy clients (or pure HTTP requests) to the Unleash Proxy
|
||||
|
||||
Do **not** use Proxy client keys to:
|
||||
|
@ -1,9 +1,8 @@
|
||||
---
|
||||
id: addons
|
||||
title: /api/admin/addons
|
||||
---
|
||||
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
|
||||
### List addons and providers {#list-addons-and-providers}
|
||||
|
@ -1,9 +1,8 @@
|
||||
---
|
||||
id: features-archive
|
||||
title: /api/admin/archive
|
||||
---
|
||||
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
|
||||
### Fetch archived toggles {#fetch-archived-toggles}
|
||||
|
||||
@ -35,10 +34,10 @@ Used to fetch list of archived feature toggles
|
||||
|
||||
`POST http://unleash.host.com/api/admin/archive/revive/:featureName`
|
||||
|
||||
Response: **200 OK** - When feature toggle was successfully revived.
|
||||
Response: **200 OK** - When feature toggle was successfully revived.
|
||||
|
||||
### Delete an archived feature toggle
|
||||
|
||||
`DELETE http://unleash.host.com/api/admin/archive/:featureName`
|
||||
|
||||
Will fully remove the feature toggle and associated configuration. Impossible to restore after this action.
|
||||
Will fully remove the feature toggle and associated configuration. Impossible to restore after this action.
|
@ -1,9 +1,8 @@
|
||||
---
|
||||
id: context
|
||||
title: /api/admin/context
|
||||
---
|
||||
|
||||
> The context feature is only available as part of Unleash Enterprise. In order to access the API programmatically you need to make sure you [obtain a API token](/user_guide/api-token) with admin permissions.
|
||||
> The context feature is only available as part of Unleash Enterprise. In order to access the API programmatically you need to make sure you [obtain a API token](/how-to/how-to-create-api-tokens) with admin permissions.
|
||||
|
||||
### List context fields defined in Unleash {#list-context-fields-defined-in-unleash}
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: events
|
||||
title: /api/admin/events
|
||||
---
|
||||
|
||||
@ -7,7 +6,7 @@ import ApiRequest from '@site/src/components/ApiRequest'
|
||||
|
||||
:::note
|
||||
|
||||
In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
|
||||
:::
|
||||
|
@ -3,7 +3,7 @@ id: feature-types
|
||||
title: /api/admin/feature-types
|
||||
---
|
||||
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
|
||||
# Feature Types API
|
||||
|
@ -1,11 +1,10 @@
|
||||
---
|
||||
id: feature-toggles-v2
|
||||
title: /api/admin/projects/:projectId
|
||||
---
|
||||
import ApiRequest from '@site/src/components/ApiRequest'
|
||||
|
||||
:::info
|
||||
In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an **admin** token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an **admin** token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
:::
|
||||
|
||||
|
||||
@ -172,8 +171,8 @@ This endpoint accepts the following toggle options:
|
||||
|------------------|----------|--------------------------------------------------------------------------------------------------------------|-------------------------|
|
||||
| `name` | Yes | The name of the feature toggle. | `"my-feature-toggle"` |
|
||||
| `description` | No | The feature toggle's description. Defaults to an empty string. | `"Turn my feature on!"` |
|
||||
| `impressionData` | No | Whether to enable [impression data](../../advanced/impression-data.md) for this toggle. Defaults to `false.` | `true` |
|
||||
| `type` | No | The [type of toggle](../../advanced/feature-toggle-types.md) you want to create. Defaults to `"release"` | `"release"` |
|
||||
| `impressionData` | No | Whether to enable [impression data](/reference/impression-data.md) for this toggle. Defaults to `false.` | `true` |
|
||||
| `type` | No | The [type of toggle](/reference/feature-toggle-types.md) you want to create. Defaults to `"release"` | `"release"` |
|
||||
|
||||
|
||||
**Example Query**
|
@ -1,22 +1,21 @@
|
||||
---
|
||||
id: features
|
||||
title: /api/admin/features
|
||||
---
|
||||
|
||||
:::caution Deprecation notice
|
||||
Most of this API was deprecated as part of the v4.3 release and will be removed in v5.0. You should use [the project-based API (/api/admin/projects/:projectId)](./feature-toggles-api-v2.md) instead. The deprecated endpoints are marked as such in the document below.
|
||||
Most of this API was deprecated as part of the v4.3 release and will be removed in v5.0. You should use [the project-based API (/api/admin/projects/:projectId)](/reference/api/legacy/unleash/admin/features-v2.md) instead. The deprecated endpoints are marked as such in the document below.
|
||||
:::
|
||||
|
||||
|
||||
:::info
|
||||
In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an **admin** token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an **admin** token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
:::
|
||||
|
||||
|
||||
## Fetching Feature Toggles {#fetching-feature-toggles}
|
||||
|
||||
:::caution Deprecation notice
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to fetch all toggles](./feature-toggles-api-v2.md#fetching-toggles) instead.
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to fetch all toggles](/reference/api/legacy/unleash/admin/features-v2.md#fetching-toggles) instead.
|
||||
:::
|
||||
|
||||
`GET: http://unleash.host.com/api/admin/features`
|
||||
@ -108,7 +107,7 @@ Response format is the same as `api/admin/features`
|
||||
## Fetch specific feature toggle {#fetch-specific-feature-toggle}
|
||||
|
||||
:::caution Deprecation notice
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to fetch specific toggles](./feature-toggles-api-v2.md#get-toggle) instead.
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to fetch specific toggles](/reference/api/legacy/unleash/admin/features-v2.md#get-toggle) instead.
|
||||
:::
|
||||
|
||||
`GET: http://unleash.host.com/api/admin/features/:featureName`
|
||||
@ -136,7 +135,7 @@ Used to fetch details about a specific featureToggle. This is mostly provded to
|
||||
## Create a new Feature Toggle {#create-a-new-feature-toggle}
|
||||
|
||||
:::caution Deprecation notice
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to create feature toggles](./feature-toggles-api-v2.md#create-toggle) instead.
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to create feature toggles](/reference/api/legacy/unleash/admin/features-v2.md#create-toggle) instead.
|
||||
:::
|
||||
|
||||
|
||||
@ -172,7 +171,7 @@ Returns 200-response if the feature toggle was created successfully.
|
||||
## Update a Feature Toggle {#update-a-feature-toggle}
|
||||
|
||||
:::caution Deprecation notice
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to update a feature toggle](./feature-toggles-api-v2.md#update-toggle) instead.
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to update a feature toggle](/reference/api/legacy/unleash/admin/features-v2.md#update-toggle) instead.
|
||||
:::
|
||||
|
||||
|
||||
@ -245,7 +244,7 @@ Removes the specified tag from the `(type, value)` tuple from the Feature Toggle
|
||||
## Archive a Feature Toggle {#archive-a-feature-toggle}
|
||||
|
||||
:::caution Deprecation notice
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to archive toggles](./feature-toggles-api-v2.md#archive-toggle) instead.
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to archive toggles](/reference/api/legacy/unleash/admin/features-v2.md#archive-toggle) instead.
|
||||
:::
|
||||
|
||||
|
||||
@ -256,7 +255,7 @@ Used to archive a feature toggle. A feature toggle can never be totally be delet
|
||||
## Enable a Feature Toggle {#enable-a-feature-toggle}
|
||||
|
||||
:::caution Deprecation notice
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to enable feature toggles](./feature-toggles-api-v2.md#enable-env) instead.
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to enable feature toggles](/reference/api/legacy/unleash/admin/features-v2.md#enable-env) instead.
|
||||
:::
|
||||
|
||||
|
||||
@ -290,7 +289,7 @@ None
|
||||
## Disable a Feature Toggle {#disable-a-feature-toggle}
|
||||
|
||||
:::caution Deprecation notice
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to disable feature toggles](./feature-toggles-api-v2.md#disable-env) instead.
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to disable feature toggles](/reference/api/legacy/unleash/admin/features-v2.md#disable-env) instead.
|
||||
:::
|
||||
|
||||
`POST: http://unleash.host.com/api/admin/features/:featureName/toggle/off`
|
||||
@ -324,7 +323,7 @@ None
|
||||
## Mark a Feature Toggle as "stale" {#mark-a-feature-toggle-as-stale}
|
||||
|
||||
:::caution Deprecation notice
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to patch a feature toggle and mark it as stale](./feature-toggles-api-v2.md#patch-toggle) instead.
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to patch a feature toggle and mark it as stale](/reference/api/legacy/unleash/admin/features-v2.md#patch-toggle) instead.
|
||||
:::
|
||||
|
||||
|
||||
@ -359,7 +358,7 @@ None
|
||||
## Mark a Feature Toggle as "active" {#mark-a-feature-toggle-as-active}
|
||||
|
||||
:::caution Deprecation notice
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to patch a feature toggle and mark it as not stale](./feature-toggles-api-v2.md#patch-toggle) instead.
|
||||
This endpoint is deprecated. Please use the [project-based endpoint to patch a feature toggle and mark it as not stale](/reference/api/legacy/unleash/admin/features-v2.md#patch-toggle) instead.
|
||||
:::
|
||||
|
||||
`POST: http://unleash.host.com/api/admin/features/:featureName/stale/off`
|
@ -3,7 +3,7 @@ id: metrics
|
||||
title: /api/admin/metrics
|
||||
---
|
||||
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
|
||||
# This document describes the metrics endpoint for admin ui
|
||||
|
@ -1,9 +1,8 @@
|
||||
---
|
||||
id: projects
|
||||
title: /api/admin/projects
|
||||
---
|
||||
|
||||
> The context feature is only available as part of Unleash Enterprise. In order to access the API programmatically you need to make sure you [obtain an API token](/user_guide/api-token) with admin permissions.
|
||||
> The context feature is only available as part of Unleash Enterprise. In order to access the API programmatically you need to make sure you [obtain an API token](/how-to/how-to-create-api-tokens) with admin permissions.
|
||||
|
||||
### List projects in Unleash {#list-projects-in-unleash}
|
||||
|
@ -12,11 +12,11 @@ Segments are available to Unleash Pro and Unleash Enterprise users since **Unlea
|
||||
|
||||
:::note
|
||||
|
||||
To use the admin API, you'll need to [create and use an admin API token](../../user_guide/token.mdx).
|
||||
To use the admin API, you'll need to [create and use an admin API token](/how-to/how-to-create-api-tokens.mdx).
|
||||
|
||||
:::
|
||||
|
||||
The segments API lets you create, read, update, and delete [segments](../../reference/segments.mdx).
|
||||
The segments API lets you create, read, update, and delete [segments](/reference/segments.mdx).
|
||||
|
||||
## Get all segments
|
||||
|
||||
@ -330,18 +330,18 @@ This section describes the data objects returned by the endpoints in the segment
|
||||
|
||||
:::note `values` and `value`
|
||||
|
||||
Some constraint operators only support single values. If a constraint uses one of these operators, the payload will contain a `value` property with the correct value. However, for backwards compatibility reasons, the payload will *also* contain a `values` property. If the operator accepts multiple values, the `value` property will not be present. Visit the [strategy constraints documentation](../../advanced/strategy-constraints.md) for more information on what operators support what number of values.
|
||||
Some constraint operators only support single values. If a constraint uses one of these operators, the payload will contain a `value` property with the correct value. However, for backwards compatibility reasons, the payload will *also* contain a `values` property. If the operator accepts multiple values, the `value` property will not be present. Visit the [strategy constraints documentation](/reference/strategy-constraints.md) for more information on what operators support what number of values.
|
||||
|
||||
:::
|
||||
|
||||
| Property | Type | Required | Description | Example value |
|
||||
|-------------------|-----------------------------------------------------------------------------------------------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------|
|
||||
| `contextName` | string | Yes | The name of the context field targeted by the constraint. | `"myContextField"` |
|
||||
| `operator` | string, the name of one of the [constraint operators](../../advanced/strategy-constraints.md) | Yes | The operator to apply to the context field. | `"DATE_BEFORE"` |
|
||||
| `operator` | string, the name of one of the [constraint operators](/reference/strategy-constraints.md) | Yes | The operator to apply to the context field. | `"DATE_BEFORE"` |
|
||||
| `values` | a list of strings | Yes | The list of values to apply the constraint operator to. | `["value a", "value b"]` |
|
||||
| `value` | string | No | The value to apply the constraint operator to. | `"15"` |
|
||||
| `inverted` | boolean | No | Whether the result of [the constraint will be negated or not](../../advanced/strategy-constraints.md#constraint-negation). | `false` |
|
||||
| `caseInsensitive` | boolean string | No | Whether the constraint operator is case sensitive or not. Only [applies to some string-based operators](../../advanced/strategy-constraints.md#string-operators). | `false` |
|
||||
| `inverted` | boolean | No | Whether the result of [the constraint will be negated or not](/reference/strategy-constraints.md#constraint-negation). | `false` |
|
||||
| `caseInsensitive` | boolean string | No | Whether the constraint operator is case sensitive or not. Only [applies to some string-based operators](/reference/strategy-constraints.md#string-operators). | `false` |
|
||||
|
||||
|
||||
### Activation strategy {#activation-strategy-type-description}
|
@ -3,7 +3,7 @@ id: state
|
||||
title: /api/admin/state
|
||||
---
|
||||
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
|
||||
### Export Feature Toggles & Strategies {#export-feature-toggles--strategies}
|
||||
|
@ -1,9 +1,8 @@
|
||||
---
|
||||
id: strategies
|
||||
title: /api/admin/strategies
|
||||
---
|
||||
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
|
||||
### Fetch Strategies {#fetch-strategies}
|
||||
|
@ -3,7 +3,7 @@ id: tags
|
||||
title: /api/admin/tags
|
||||
---
|
||||
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
|
||||
### Create a new tag {#create-a-new-tag}
|
||||
|
@ -1,9 +1,8 @@
|
||||
---
|
||||
id: user-admin
|
||||
title: /api/admin/user-admin
|
||||
---
|
||||
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
> In order to access the admin API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create an ADMIN token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
|
||||
### List all users {#list-all-users}
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: basic-auth
|
||||
title: Basic Auth
|
||||
---
|
||||
|
@ -1,9 +1,8 @@
|
||||
---
|
||||
id: features
|
||||
title: /api/client/features
|
||||
---
|
||||
|
||||
> In order to access the client API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create a CLIENT token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
> In order to access the client API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create a CLIENT token](/how-to/how-to-create-api-tokens.mdx) and add an Authorization header using the token.
|
||||
|
||||
### Fetching Feature Toggles {#fetching-feature-toggles}
|
||||
|
||||
@ -121,7 +120,7 @@ Before Unleash 4.16, strategy constraints were only available to Unleash Pro and
|
||||
|
||||
:::
|
||||
|
||||
Strategy definitions may also contain a `constraints` property. Strategy constraints is a feature in Unleash which work on context fields, which is defined as part of the [Unleash Context](../../user_guide/unleash-context.md). The purpose is to define a set of rules where all needs to be satisfied in order for the activation strategy to evaluate to true. A [high level description](https://www.unleash-hosted.com/articles/strategy-constraints) of it is available online.
|
||||
Strategy definitions may also contain a `constraints` property. Strategy constraints is a feature in Unleash which work on context fields, which is defined as part of the [Unleash Context](/reference/unleash-context.md). The purpose is to define a set of rules where all needs to be satisfied in order for the activation strategy to evaluate to true. A [high level description](https://www.unleash-hosted.com/articles/strategy-constraints) of it is available online.
|
||||
|
||||
**Example response:**
|
||||
|
||||
@ -164,7 +163,7 @@ In the example `environment` needs to be `production` AND `userId` must be eithe
|
||||
|
||||
### Variants {#variants}
|
||||
|
||||
All feature toggles can also take an array of variants. You can read more about [feature toggle variants](/advanced/toggle_variants).
|
||||
All feature toggles can also take an array of variants. You can read more about [feature toggle variants](/reference/feature-toggle-variants).
|
||||
|
||||
```json
|
||||
{
|
@ -3,7 +3,7 @@ id: metrics
|
||||
title: /api/client/metrics
|
||||
---
|
||||
|
||||
> In order to access the client API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create a CLIENT token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
> In order to access the client API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create a CLIENT token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
|
||||
### Send metrics {#send-metrics}
|
||||
|
@ -3,7 +3,7 @@ id: register
|
||||
title: /api/client/register
|
||||
---
|
||||
|
||||
> In order to access the client API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create a CLIENT token](/user_guide/api-token) and add an Authorization header using the token.
|
||||
> In order to access the client API endpoints you need to identify yourself. Unless you're using the `none` authentication method, you'll need to [create a CLIENT token](/how-to/how-to-create-api-tokens) and add an Authorization header using the token.
|
||||
|
||||
### Client registration {#client-registration}
|
||||
|
@ -1,37 +1,36 @@
|
||||
---
|
||||
id: index
|
||||
title: API Documentation
|
||||
slug: /api
|
||||
---
|
||||
|
||||
## Client API {#client-api}
|
||||
|
||||
This describes the API provided to unleash-clients.
|
||||
|
||||
Since v4.0.0 all operations require an [API token](/user_guide/api-token) with `Client` level access.
|
||||
Since v4.0.0 all operations require an [API token](/how-to/how-to-create-api-tokens.mdx) with `Client` level access.
|
||||
|
||||
With versions earlier than v4.0.0 and `insecure` authentication no authentication is required.
|
||||
|
||||
- [Feature Toggles API](/api/client/features)
|
||||
- [Register API](/api/client/register)
|
||||
- [Metrics API](/api/client/metrics)
|
||||
- [Feature Toggles API](./client/features.md)
|
||||
- [Register API](./client/register.md)
|
||||
- [Metrics API](./client/metrics.md)
|
||||
|
||||
## Admin API (internal) {#admin-api-internal}
|
||||
|
||||
The internal API used by the Admin UI (unleash-frontend). Since v4.0.0 all operations require an [API token](/user_guide/api-token) with `Admin` level access:
|
||||
The internal API used by the Admin UI (unleash-frontend). Since v4.0.0 all operations require an [API token](/how-to/how-to-create-api-tokens) with `Admin` level access:
|
||||
|
||||
With versions earlier than v4.0.0 and `insecure` authentication Basic Auth (with curl `-u myemail@test.com:`) is enough.
|
||||
|
||||
- [Events API](/api/admin/events-api.md)
|
||||
- [Feature Toggles API](/api/admin/feature-toggles-api.md)
|
||||
- [Metrics API](/api/admin/metrics-api.md)
|
||||
- [Project API](/api/admin/project.md)
|
||||
- [Strategies API](/api/admin/strategies-api.md)
|
||||
- [Tags API](/api/admin/tags-api.md)
|
||||
- [Events API](./admin/events.md)
|
||||
- [Feature Toggles API](./admin/features.md)
|
||||
- [Metrics API](./admin/metrics.md)
|
||||
- [Project API](./admin/projects.md)
|
||||
- [Strategies API](./admin/strategies.md)
|
||||
- [Tags API](./admin/tags.md)
|
||||
|
||||
## System API's {#system-apis}
|
||||
|
||||
- [Internal Backstage API](/api/internal/internal)
|
||||
- [Internal Backstage Prometheus API](./internal/prometheus.md)
|
||||
|
||||
### Content-Type {#contenttype}
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: health
|
||||
title: /health
|
||||
---
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: internal
|
||||
title: /internal-backstage/prometheus
|
||||
---
|
||||
|
||||
@ -9,7 +8,7 @@ title: /internal-backstage/prometheus
|
||||
|
||||
Unleash uses Prometheus internally to collect metrics. By default, the metrics are available at `/internal-backstage/prometheus`. You can disable this endpoint by setting the `serverMetrics` option to `false`.
|
||||
|
||||
Note that it's not recommended to expose Prometheus metrics to the public as of the [Prometheus pentest-report](https://prometheus.io/assets/downloads/2018-06-11--cure53_security_audit.pdf) issue PRM-01-002. Thus, if you want to keep metrics enabled, you should block all external access to `/internal-backstage/*` on the network layer to keep your instance secure.
|
||||
Note that it's not recommended to expose Prometheus metrics to the public as of the [Prometheus pentest-report](https://prometheus.io/assets/downloads/2018-06-11--cure53_security_audit.pdf) issue PRM-01-002. Thus, if you want to keep metrics enabled, you should block all external access to `/internal-backstage/*` on the network layer to keep your instance secure.
|
||||
|
||||
[Read more about Prometheus](https://prometheus.io/)
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: archived_toggles
|
||||
title: Archived toggles
|
||||
---
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: custom_activation_strategy
|
||||
title: Custom Activation Strategies
|
||||
---
|
||||
|
||||
@ -9,7 +8,7 @@ This document is a reference for custom activation strategies. If you're looking
|
||||
|
||||
:::
|
||||
|
||||
**Custom activation strategies** let you define your own activation strategies to use with Unleash. When the [built-in activation strategies](../user_guide/activation-strategies.md) aren't enough, custom activation strategies are there to provide you with the flexibility you need.
|
||||
**Custom activation strategies** let you define your own activation strategies to use with Unleash. When the [built-in activation strategies](../reference/activation-strategies.md) aren't enough, custom activation strategies are there to provide you with the flexibility you need.
|
||||
|
||||
Custom activation strategies work exactly like the built-in activation strategies when working in the admin UI.
|
||||
|
||||
@ -63,6 +62,6 @@ If you have not implemented the strategy in your client SDK, the check will alwa
|
||||
|
||||
While custom strategies are _defined_ on the Unleash server, they must be _implemented_ on the client. All official Unleash client SDKs provide a way for you to implement custom strategies. You should refer to the individual SDK's documentation for specifics, but for an example, you can have a look at the [_Node.js client implementation_ section in the _how to use custom strategies_ guide](../how-to/how-to-use-custom-strategies.md#step-3-a).
|
||||
|
||||
The exact method for implementing custom strategies will vary between SDKs, but the server SDKs follow the same patterns. For front-end client SDKs ([Android](../sdks/android-proxy.md), [JavaScript](../sdks/proxy-javascript.md), [React](../sdks/proxy-react.md), [iOS](../sdks/proxy-ios.md)), the custom activation strategy must be implemented in the [Unleash Proxy](../sdks/unleash-proxy.md).
|
||||
The exact method for implementing custom strategies will vary between SDKs, but the server SDKs follow the same patterns. For front-end client SDKs ([Android](../reference/sdks/android-proxy.md), [JavaScript](../reference/sdks/javascript-browser.md), [React](../reference/sdks/react.md), [iOS](../reference/sdks/ios-proxy.md)), the custom activation strategy must be implemented in the [Unleash Proxy](../reference/unleash-proxy.md).
|
||||
|
||||
When implementing a strategy in your client, you will get access to the strategy's parameters and the Unleash Context. Again, refer to your specific SDK's documentation for more details.
|
@ -1,11 +1,10 @@
|
||||
---
|
||||
id: configuring_unleash_v3
|
||||
title: Configuring Unleash
|
||||
title: Configuring Unleash v3
|
||||
---
|
||||
|
||||
> This is the guide on how to configure **Unleash v3 self-hosted**. If you are using Unleash v4 you should checkout [configuring Unleash](./configuring_unleash)
|
||||
> This is the guide on how to configure **Unleash v3 self-hosted**. If you are using Unleash v4 you should checkout [configuring Unleash](./configuring-unleash.md)
|
||||
|
||||
In order to customize "anything" in Unleash you need to use [Unleash from Node.js](./getting_started#option-two---from-nodejs):
|
||||
In order to customize "anything" in Unleash you need to use [Unleash from Node.js](./getting-started.md#option-two---from-nodejs):
|
||||
|
||||
```js
|
||||
const unleash = require('unleash-server');
|
||||
@ -60,7 +59,7 @@ unleash.start(unleashOptions);
|
||||
- `custom` - use this when you implement your own custom authentication logic.
|
||||
- **ui** (object) - Set of UI specific overrides. You may set the following keys: `headerBackground`, `environment`, `slogan`.
|
||||
- **getLogger** (function) - Used to register a [custom log provider](#how-do-i-configure-the-log-output).
|
||||
- **eventHook** (`function(event, data)`) - If provided, this function will be invoked whenever a feature is mutated. The possible values for `event` are `'feature-created'`, `'feature-updated'`, `'feature-archived'`, `'feature-revived'`. The `data` argument contains information about the mutation. Its fields are `type` (string) - the event type (same as `event`); `createdBy` (string) - the user who performed the mutation; `data` - the contents of the change. The contents in `data` differs based on the event type; For `'feature-archived'` and `'feature-revived'`, the only field will be `name` - the name of the feature. For `'feature-created'` and `'feature-updated'` the data follows [this schema defined in the source code](https://github.com/Unleash/unleash/blob/a06d2c04bb0d83d9c8c5bf2a90e9dace50f0b10a/lib/routes/admin-api/feature-schema.js#L38-L59). See an [api here](/api/admin/events).
|
||||
- **eventHook** (`function(event, data)`) - If provided, this function will be invoked whenever a feature is mutated. The possible values for `event` are `'feature-created'`, `'feature-updated'`, `'feature-archived'`, `'feature-revived'`. The `data` argument contains information about the mutation. Its fields are `type` (string) - the event type (same as `event`); `createdBy` (string) - the user who performed the mutation; `data` - the contents of the change. The contents in `data` differs based on the event type; For `'feature-archived'` and `'feature-revived'`, the only field will be `name` - the name of the feature. For `'feature-created'` and `'feature-updated'` the data follows [this schema defined in the source code](https://github.com/Unleash/unleash/blob/a06d2c04bb0d83d9c8c5bf2a90e9dace50f0b10a/lib/routes/admin-api/feature-schema.js#L38-L59). See an [api here](/reference/api/legacy/unleash/admin/events).
|
||||
- **baseUriPath** (string) - use to register a base path for all routes on the application. For example `/my/unleash/base` (note the starting /). Defaults to `/`. Can also be configured through the environment variable `BASE_URI_PATH`.
|
||||
- **unleashUrl** (string) - Used to specify the official URL this instance of Unleash can be accessed at for an end user. Can also be configured through the environment variable `UNLEASH_URL`.
|
||||
- **secureHeaders** (boolean) - use this to enable security headers (HSTS, CSP, etc) when serving Unleash from HTTPS. Can also be configured through the environment variable `SECURE_HEADERS`.
|
@ -1,11 +1,10 @@
|
||||
---
|
||||
id: configuring_unleash
|
||||
title: Configuring Unleash
|
||||
---
|
||||
|
||||
import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem';
|
||||
|
||||
> This is the guide on how to configure **Unleash v4 self-hosted**. If you are still using Unleash v3 you should checkout [configuring Unleash v3](./configuring_unleash_v3)
|
||||
> This is the guide on how to configure **Unleash v4 self-hosted**. If you are still using Unleash v3 you should checkout [configuring Unleash v3](./configuring-unleash-v3.md)
|
||||
|
||||
## Must configure
|
||||
|
||||
@ -27,11 +26,11 @@ In order for Unleash server to work, you need a running database and its connect
|
||||
|
||||
Used to send reset-password mails and welcome mails when onboarding new users. <br /> **NOTE** - If this is not configured, you will not be able to allow your users to reset their own passwords.
|
||||
|
||||
For [more details, see here](./email.md)
|
||||
For [more details, see here](./email-service.md)
|
||||
|
||||
## Further customization
|
||||
|
||||
In order to customize "anything" in Unleash you need to use [Unleash from Node.js](./getting_started#option-two---from-nodejs) or start the [docker image](./getting_started#option-one---use-docker) with environment variables.
|
||||
In order to customize "anything" in Unleash you need to use [Unleash from Node.js](./getting-started.md#option-two---from-nodejs) or start the [docker image](./getting-started.md#option-one---use-docker) with environment variables.
|
||||
|
||||
```js
|
||||
const unleash = require('unleash-server');
|
||||
@ -88,7 +87,7 @@ unleash.start(unleashOptions);
|
||||
|
||||
- **databaseUrl** - (_deprecated_) the postgres database url to connect to. Only used if _db_ object is not specified, and overrides the _db_ object and any environment variables that change parts of it (like `DATABASE_SSL`). Should include username/password. This value may also be set via the `DATABASE_URL` environment variable. Alternatively, if you would like to read the database url from a file, you may set the `DATABASE_URL_FILE` environment variable with the full file path. The contents of the file must be the database url exactly.
|
||||
- **db** - The database configuration object. See [the database configuration section](#database-configuration) for a full overview of the available properties.
|
||||
- **disableLegacyFeaturesApi** (boolean) - whether to disable the [legacy features API](../api/admin/feature-toggles-api.md). Defaults to `false` (`DISABLE_LEGACY_FEATURES_API`). Introduced in Unleash 4.6.
|
||||
- **disableLegacyFeaturesApi** (boolean) - whether to disable the [legacy features API](/reference/api/legacy/unleash/admin/features.md). Defaults to `false` (`DISABLE_LEGACY_FEATURES_API`). Introduced in Unleash 4.6.
|
||||
- **email** - the email object configuring an SMTP server for sending welcome mails and password reset mails
|
||||
- `host` - The server URL to your SMTP server
|
||||
- `port` - Which port the SMTP server is running on. Defaults to 465 (Secure SMTP)
|
||||
@ -96,7 +95,7 @@ unleash.start(unleashOptions);
|
||||
- `sender` - Which email should be set as sender of mails being sent from Unleash?
|
||||
- `smtpuser` - Username for your SMTP server
|
||||
- `smtppass` - Password for your SMTP server
|
||||
- **eventHook** (`function(event, data)`) - (_deprecated in Unleash 4.3_ in favor of the [Webhook addon](../addons/webhook.md)) If provided, this function will be invoked whenever a feature is mutated. The possible values for `event` are `'feature-created'`, `'feature-archived'` and `'feature-revived'`. The `data` argument contains information about the mutation. Its fields are `type` (string) - the event type (same as `event`); `createdBy` (string) - the user who performed the mutation; `data` - the contents of the change. The contents in `data` differs based on the event type; For `'feature-archived'` and `'feature-revived'`, the only field will be `name` - the name of the feature. For `'feature-created'` the data follows a schema defined in the code [here](https://github.com/Unleash/unleash/blob/7b7f0b84e8cddd5880dcf29c231672113224b9a7/src/lib/schema/feature-schema.ts#L77). See an [api here](/api/admin/events).
|
||||
- **eventHook** (`function(event, data)`) - (_deprecated in Unleash 4.3_ in favor of the [Webhook addon](../addons/webhook.md)) If provided, this function will be invoked whenever a feature is mutated. The possible values for `event` are `'feature-created'`, `'feature-archived'` and `'feature-revived'`. The `data` argument contains information about the mutation. Its fields are `type` (string) - the event type (same as `event`); `createdBy` (string) - the user who performed the mutation; `data` - the contents of the change. The contents in `data` differs based on the event type; For `'feature-archived'` and `'feature-revived'`, the only field will be `name` - the name of the feature. For `'feature-created'` the data follows a schema defined in the code [here](https://github.com/Unleash/unleash/blob/7b7f0b84e8cddd5880dcf29c231672113224b9a7/src/lib/schema/feature-schema.ts#L77). See an [api here](/reference/api/legacy/unleash/admin/events).
|
||||
- **getLogger** (function) - Used to register a [custom log provider](#how-do-i-configure-the-log-output).
|
||||
- **logLevel** (`debug` | `info` | `warn` | `error` | `fatal`) - The lowest level to log at, also configurable using environment variable `LOG_LEVEL`.
|
||||
- **preHook** (function) - this is a hook if you need to provide any middlewares to express before `unleash` adds any. Express app instance is injected as first argument.
|
||||
@ -129,7 +128,7 @@ unleash.start(unleashOptions);
|
||||
- **clientFeatureCaching** - configuring memoization of the /api/client/features endpoint
|
||||
- `enabled` - set to true by default - Overridable with (`CLIENT_FEATURE_CACHING_ENABLED`)
|
||||
- `maxAge` - the time to cache features, set to 600 milliseconds by default - Overridable with (`CLIENT_FEATURE_CACHING_MAXAGE`) ) (accepts milliseconds)
|
||||
- **frontendApi** - Configuration options for the [Unleash front-end API](../reference/front-end-api.md).
|
||||
- **frontendApi** - Configuration options for the [Unleash front-end API](../front-end-api.md).
|
||||
- `refreshIntervalInMs` - how often (in milliseconds) front-end clients should refresh their data from the cache. Overridable with the `FRONTEND_API_REFRESH_INTERVAL_MS` environment variable.
|
||||
|
||||
You can also set the environment variable `ENABLED_ENVIRONMENTS` to a comma delimited string of environment names to override environments.
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: database_backup
|
||||
title: Database Backup
|
||||
---
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: database-setup
|
||||
title: Database Setup
|
||||
---
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: email
|
||||
title: Email service
|
||||
---
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: getting_started
|
||||
title: Getting Started
|
||||
---
|
||||
|
||||
@ -111,7 +110,7 @@ docker run -p 4242:4242 \
|
||||
|
||||
## Create an api token for your client {#create-an-api-token-for-your-client}
|
||||
|
||||
- [API Token creation](../user_guide/api-token)
|
||||
- [API Token creation](../../how-to/how-to-create-api-tokens.mdx)
|
||||
|
||||
## Test your server and create a sample API call {#test-your-server-and-create-a-sample-api-call}
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: google_auth
|
||||
title: Google Auth Hook
|
||||
---
|
||||
|
@ -1,6 +1,5 @@
|
||||
---
|
||||
id: google_auth_v3
|
||||
title: Google Auth Hook
|
||||
title: Google Auth v3
|
||||
---
|
||||
|
||||
> You can also find the complete [source code for this guide](https://github.com/Unleash/unleash-examples/tree/main/v3/securing-google-auth) in the unleash-examples project.
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: import_export
|
||||
title: Import & Export
|
||||
---
|
||||
import ApiRequest from '@site/src/components/ApiRequest'
|
||||
@ -10,7 +9,7 @@ The import and export API first appeared in Unleash 3.3.0.
|
||||
|
||||
:::
|
||||
|
||||
Unleash supports import and export of feature toggles and strategies at startup and during runtime. The main purpose of the import/export feature is to bootstrap new Unleash instances with feature toggles and their configuration. If you are looking for a granular way to keep seperate Unleash instances in sync we strongly recommend that you take a look at the Unleahs Admin API's.
|
||||
Unleash supports import and export of feature toggles and strategies at startup and during runtime. The main purpose of the import/export feature is to bootstrap new Unleash instances with feature toggles and their configuration. If you are looking for a granular way to keep seperate Unleash instances in sync we strongly recommend that you take a look at the Unleahs Admin API's.
|
||||
|
||||
The import mechanism guarantees that:
|
||||
- all imported features will be non-archived
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: migration_guide
|
||||
title: Migration Guide
|
||||
---
|
||||
|
||||
@ -15,11 +14,11 @@ You can also read the highlights of **[what's new in v4](/user_guide/v4-whats-ne
|
||||
|
||||
If you are upgrading from Unleash Open-Source v3 client SDKs did not need to use an API token in order to connect to Unleash-server. Starting from v4 we have back-ported the API token handling for Enterprise in to the Open-Source version. This means that all client SDKs now need to use a client token in order to connect to Unleash.
|
||||
|
||||
Read more in the [API token documentation](../user_guide/api-token).
|
||||
Read more in the [API token documentation](../../how-to/how-to-create-api-tokens.mdx).
|
||||
|
||||
### 2. Configuring Unleash {#2-configuring-unleash}
|
||||
|
||||
We have done a lot of changes to the options you can pass in to Unleash. If you are manually configuring Unleash you should have a look on the updated [configuring Unleash documentation](./configuring_unleash)
|
||||
We have done a lot of changes to the options you can pass in to Unleash. If you are manually configuring Unleash you should have a look on the updated [configuring Unleash documentation](./configuring-unleash.md)
|
||||
|
||||
### 3. Role-based Access Control (RBAC) {#3-role-based-access-control-rbac}
|
||||
|
||||
@ -43,7 +42,7 @@ req.session.user = user;
|
||||
```
|
||||
|
||||
- [Read more about Securing Unleash v4](./securing-unleash.md)
|
||||
- [Read more about RBAC](../user_guide/rbac)
|
||||
- [Read more about RBAC](../../reference/rbac.md)
|
||||
|
||||
### 4. Legacy v2 routes removed {#4-legacy-v2-routes-removed}
|
||||
|
||||
@ -55,7 +54,7 @@ In v2 you could query feature toggles on `/api/features`. This was deprecated in
|
||||
|
||||
Unleash no longer ships with a binary that allows you to start Unleash directly from the command line. From v4 you need to either use Unleash via docker or programmatically.
|
||||
|
||||
Read more in our [getting started documentation](./getting_started)
|
||||
Read more in our [getting started documentation](./getting-started.md)
|
||||
|
||||
## Upgrading from v2.x to v3.x {#upgrading-from-v2x-to-v3x}
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: securing-unleash-v3
|
||||
title: Securing Unleash v3
|
||||
---
|
||||
|
@ -1,5 +1,4 @@
|
||||
---
|
||||
id: securing_unleash
|
||||
title: Securing Unleash
|
||||
---
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user