1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-11-10 01:19:53 +01:00

Update get started and core concepts

This commit is contained in:
melindafekete 2025-10-22 10:46:51 +02:00
parent b9d81e5f59
commit 84631f51e5
No known key found for this signature in database
25 changed files with 69 additions and 439 deletions

View File

@ -186,7 +186,7 @@ If you're looking for one of the following features, please take a look at our [
<img src="./website/static/img/unleash-architecture-edge.png" title="Unleash System Overview" /> <img src="./website/static/img/unleash-architecture-edge.png" title="Unleash System Overview" />
Read more in the [_system overview_ section of the Unleash documentation](https://docs.getunleash.io/understanding-unleash/unleash-overview#system-overview). Read more in the [_system overview_ section of the Unleash documentation](https://docs.getunleash.io/get-started/unleash-overview#system-overview).
<br/> <br/>

View File

@ -2,7 +2,7 @@
# - the Unleash server instance + the necessary backing Postgres database # - the Unleash server instance + the necessary backing Postgres database
# #
# To learn more about all the parts of Unleash, visit # To learn more about all the parts of Unleash, visit
# https://docs.getunleash.io/understanding-unleash/unleash-overview # https://docs.getunleash.io/get-started/unleash-overview
# #
# NOTE: please do not use this configuration for production setups. # NOTE: please do not use this configuration for production setups.
# Unleash does not take responsibility for any data leaks or other # Unleash does not take responsibility for any data leaks or other

View File

@ -2,7 +2,7 @@
# - the Unleash server instance + the necessary backing Postgres database # - the Unleash server instance + the necessary backing Postgres database
# #
# To learn more about all the parts of Unleash, visit # To learn more about all the parts of Unleash, visit
# https://docs.getunleash.io/understanding-unleash/unleash-overview # https://docs.getunleash.io/get-started/unleash-overview
# #
# NOTE: please do not use this configuration for production setups. # NOTE: please do not use this configuration for production setups.
# Unleash does not take responsibility for any data leaks or other # Unleash does not take responsibility for any data leaks or other

View File

@ -22,7 +22,7 @@ export const applicationSchema = {
}, },
strategies: { strategies: {
description: description:
'Which [strategies](https://docs.getunleash.io/topics/the-anatomy-of-unleash#activation-strategies) the application has loaded. Useful when trying to figure out if your [custom strategy](https://docs.getunleash.io/reference/custom-activation-strategies) has been loaded in the SDK', 'Which [strategies](https://docs.getunleash.io/reference/core-concepts-overview) the application has loaded. Useful when trying to figure out if your [custom strategy](https://docs.getunleash.io/reference/custom-activation-strategies) has been loaded in the SDK',
type: 'array', type: 'array',
items: { items: {
type: 'string', type: 'string',

View File

@ -7,7 +7,7 @@ export const createApplicationSchema = {
properties: { properties: {
strategies: { strategies: {
description: description:
'Which [strategies](https://docs.getunleash.io/topics/the-anatomy-of-unleash#activation-strategies) the application has loaded. Useful when trying to figure out if your [custom strategy](https://docs.getunleash.io/reference/custom-activation-strategies) has been loaded in the SDK', 'Which [strategies](https://docs.getunleash.io/reference/core-concepts) the application has loaded. Useful when trying to figure out if your [custom strategy](https://docs.getunleash.io/reference/custom-activation-strategies) has been loaded in the SDK',
type: 'array', type: 'array',
items: { items: {
type: 'string', type: 'string',

View File

@ -16,7 +16,7 @@ Unleash provides a set of APIs to give you full programmatic control over your f
|---------------|----|-----|---| |---------------|----|-----|---|
| [Client API](/reference/api/unleash/client) | `<your-unleash-url>/api/client` | Backend SDKs | Fetch feature flag configurations. | | [Client API](/reference/api/unleash/client) | `<your-unleash-url>/api/client` | Backend SDKs | Fetch feature flag configurations. |
| [Frontend API](/reference/api/unleash/frontend-api) | `<your-unleash-url>/api/frontend` | Frontend SDKs | Fetch enabled feature flags for a specific [Unleash Context](/reference/unleash-context). | | [Frontend API](/reference/api/unleash/frontend-api) | `<your-unleash-url>/api/frontend` | Frontend SDKs | Fetch enabled feature flags for a specific [Unleash Context](/reference/unleash-context). |
| Admin API | `<your-unleash-url>/api/admin` | [Admin UI](/understanding-unleash/unleash-overview#the-unleash-admin-ui), internal tooling, and third-party [integrations](/reference/integrations) | Access and manage all resources within Unleash, such as context, environments, events, metrics, and users. | | Admin API | `<your-unleash-url>/api/admin` | [Admin UI](/get-started/unleash-overview#the-unleash-admin-ui), internal tooling, and third-party [integrations](/reference/integrations) | Access and manage all resources within Unleash, such as context, environments, events, metrics, and users. |
## API authentication and tokens ## API authentication and tokens

View File

@ -12,7 +12,7 @@ Feature flags are a great way to run A/B or multivariate tests with minimal code
## How to perform A/B testing with feature flags ## How to perform A/B testing with feature flags
To follow along with this tutorial, you need access to an Unleash instance to create and manage feature flags. Head over to our [Quick Start documentation](/quickstart) for options, including running locally or using an [Unleash SaaS instance](https://www.getunleash.io/pricing?). To follow along with this tutorial, you need access to an Unleash instance to create and manage feature flags. Head over to our [Quick Start documentation](/get-started/quickstart) for options, including running locally or using an [Unleash SaaS instance](https://www.getunleash.io/pricing?).
With Unleash set up, you can use your application to talk to Unleash through one of our [SDKs](/reference/sdks). With Unleash set up, you can use your application to talk to Unleash through one of our [SDKs](/reference/sdks).

View File

@ -20,7 +20,7 @@ The key benefits of gradual rollouts are that you can experiment rapidly on a co
## How to perform a gradual rollout with Unleash ## How to perform a gradual rollout with Unleash
To follow along with this tutorial, you will need an Unleash instance. If youd prefer to self-host Unleash, read our [Quickstart guide](/quickstart). Alternatively, if youd like your project to be hosted by Unleash, go to [getunleash.io](https://www.getunleash.io/pricing). To follow along with this tutorial, you will need an Unleash instance. If youd prefer to self-host Unleash, read our [Quickstart guide](/get-started/quickstart). Alternatively, if youd like your project to be hosted by Unleash, go to [getunleash.io](https://www.getunleash.io/pricing).
With Unleash set up, you can use your application to talk to Unleash through one of our SDKs. With Unleash set up, you can use your application to talk to Unleash through one of our SDKs.

View File

@ -287,7 +287,7 @@ Design patterns like the [Strategy pattern](https://www.digitalocean.com/communi
![Strategy-design-pattern](/img/strategy-pattern.jpg) ![Strategy-design-pattern](/img/strategy-pattern.jpg)
The strategy pattern is well-suited for certain [Permission](/what-is-a-feature-flag#permission-flags) flags that grant premium users access to an advanced feature, or for long-term [Kill switches](/what-is-a-feature-flag#kill-switches) that toggle a core system component. For these complex, multi-faceted features with distinct and interchangeable behaviors, the pattern can be a powerful tool for maintaining a clean, scalable, and testable codebase. The strategy pattern is well-suited for certain [Permission](/get-started/what-is-a-feature-flag#permission-flags) flags that grant premium users access to an advanced feature, or for long-term [Kill switches](/get-started/what-is-a-feature-flag#kill-switches) that toggle a core system component. For these complex, multi-faceted features with distinct and interchangeable behaviors, the pattern can be a powerful tool for maintaining a clean, scalable, and testable codebase.
<Tabs groupId="strategy-pattern"> <Tabs groupId="strategy-pattern">
<TabItem value="strategy-ts" label="TypeScript"> <TabItem value="strategy-ts" label="TypeScript">
@ -412,7 +412,7 @@ public class PaymentController {
</TabItem> </TabItem>
</Tabs> </Tabs>
However, the majority of feature flags control small, temporary changes. For most [Release](/what-is-a-feature-flag#release-flags), [Experiment](/what-is-a-feature-flag#experiment-flags), and [Operational](/what-is-a-feature-flag#operational-flags) flags, the strategy pattern introduces unnecessary overhead. It makes the eventual cleanup process far more complex than removing a simple if/else block. Furthermore, because the pattern scales poorly when multiple flags interact, a direct conditional statement is almost always the cleaner and more maintainable choice for these temporary flags. However, the majority of feature flags control small, temporary changes. For most [Release](/get-started/what-is-a-feature-flag#release-flags), [Experiment](/get-started/what-is-a-feature-flag#experiment-flags), and [Operational](/get-started/what-is-a-feature-flag#operational-flags) flags, the strategy pattern introduces unnecessary overhead. It makes the eventual cleanup process far more complex than removing a simple if/else block. Furthermore, because the pattern scales poorly when multiple flags interact, a direct conditional statement is almost always the cleaner and more maintainable choice for these temporary flags.
## Managing flags in microservices ## Managing flags in microservices

View File

@ -35,7 +35,7 @@ Unleash is fundamentally designed for speed and resilience. Understanding the co
SDKs enhance resilience by caching the last known valid configuration. For optimal performance, this is often kept in-memory, but SDKs can also be configured to use persistent backup storage (like a local file, Redis, or S3). If the Unleash API server or Unleash Edge becomes temporarily unavailable, the SDK continues operating using these cached flags along with predefined default values. SDKs enhance resilience by caching the last known valid configuration. For optimal performance, this is often kept in-memory, but SDKs can also be configured to use persistent backup storage (like a local file, Redis, or S3). If the Unleash API server or Unleash Edge becomes temporarily unavailable, the SDK continues operating using these cached flags along with predefined default values.
This persistence ensures your application remains functional not only through network interruptions but also allows it to recover state even after restarting during an upstream outage. This persistence ensures your application remains functional not only through network interruptions but also allows it to recover state even after restarting during an upstream outage.
For a deeper dive, explore the [Unleash architecture overview](/understanding-unleash/unleash-overview). For a deeper dive, explore the [Unleash architecture overview](/get-started/unleash-overview).
## Choosing the right deployment option ## Choosing the right deployment option
How you set up Unleash to scale depends significantly on the [hosting option](/understanding-unleash/hosting-options) you choose. Unleash offers [flexible deployment models](https://www.getunleash.io/pricing) to match your operational preferences and requirements. Let's recap the three main options. How you set up Unleash to scale depends significantly on the [hosting option](/understanding-unleash/hosting-options) you choose. Unleash offers [flexible deployment models](https://www.getunleash.io/pricing) to match your operational preferences and requirements. Let's recap the three main options.
@ -44,7 +44,7 @@ How you set up Unleash to scale depends significantly on the [hosting option](/u
<TabItem value="unleash-cloud" label="Unleash Cloud"> <TabItem value="unleash-cloud" label="Unleash Cloud">
- **How it works**: Unleash manages the entire infrastructure stack (Unleash API server, database, [Admin UI](/understanding-unleash/unleash-overview#the-unleash-admin-ui), [Unleash Enterprise Edge](https://www.getunleash.io/unleash-enterprise-edge)) on a robust, multi-region AWS setup designed for high availability and performance. - **How it works**: Unleash manages the entire infrastructure stack (Unleash API server, database, [Admin UI](/get-started/unleash-overview#the-unleash-admin-ui), [Unleash Enterprise Edge](https://www.getunleash.io/unleash-enterprise-edge)) on a robust, multi-region AWS setup designed for high availability and performance.
- **Ideal for**: Teams wanting to focus on feature delivery, minimize operational overhead, and leverage Unleash's expertise in scaling and managing the platform. Offers the fastest time-to-value. - **Ideal for**: Teams wanting to focus on feature delivery, minimize operational overhead, and leverage Unleash's expertise in scaling and managing the platform. Offers the fastest time-to-value.
- **Scaling and infrastructure**: Automatic scaling, Multi-Availability Zone (AZ) deployments, managed databases with automatic failover, and built-in disaster recovery. Handles traffic bursts seamlessly. Leverages a globally distributed Unleash Edge network for low latency. - **Scaling and infrastructure**: Automatic scaling, Multi-Availability Zone (AZ) deployments, managed databases with automatic failover, and built-in disaster recovery. Handles traffic bursts seamlessly. Leverages a globally distributed Unleash Edge network for low latency.
- **Key tradeoff**: Less direct control over the underlying infrastructure compared to self-hosting, in exchange for significantly reduced operational overhead. - **Key tradeoff**: Less direct control over the underlying infrastructure compared to self-hosting, in exchange for significantly reduced operational overhead.
@ -53,7 +53,7 @@ How you set up Unleash to scale depends significantly on the [hosting option](/u
<TabItem value="unleash-self-hosted" label="Unleash self-hosted"> <TabItem value="unleash-self-hosted" label="Unleash self-hosted">
- **How it works**: You deploy, manage, and scale all Unleash components (Unleash API server, database, [Admin UI](/understanding-unleash/unleash-overview#the-unleash-admin-ui), [Unleash Edge](/reference/unleash-edge)) within your own infrastructure (cloud or on-premises). - **How it works**: You deploy, manage, and scale all Unleash components (Unleash API server, database, [Admin UI](/get-started/unleash-overview#the-unleash-admin-ui), [Unleash Edge](/reference/unleash-edge)) within your own infrastructure (cloud or on-premises).
- **Ideal for**: Organizations with strict regulatory environments requiring full data and infrastructure control, air-gapped networks, or those with strong preferences and capabilities for managing their own software infrastructure. - **Ideal for**: Organizations with strict regulatory environments requiring full data and infrastructure control, air-gapped networks, or those with strong preferences and capabilities for managing their own software infrastructure.
- **Scaling and infrastructure**: You are responsible for architecting for high availability (for example, Multi-AZ API deployment, database clusters), scaling [compute resources and database capacity planning](/using-unleash/deploy/configuring-unleash#resource-recommendations), backups, disaster recovery strategies, monitoring, handling upgrades of Unleash and Unleash Edge and other and security updates. - **Scaling and infrastructure**: You are responsible for architecting for high availability (for example, Multi-AZ API deployment, database clusters), scaling [compute resources and database capacity planning](/using-unleash/deploy/configuring-unleash#resource-recommendations), backups, disaster recovery strategies, monitoring, handling upgrades of Unleash and Unleash Edge and other and security updates.
- **Key tradeoff**: Maximum control over data and infrastructure, at the cost of significant SRE/DevOps expertise, resources, and ongoing operational effort. - **Key tradeoff**: Maximum control over data and infrastructure, at the cost of significant SRE/DevOps expertise, resources, and ongoing operational effort.
@ -62,7 +62,7 @@ How you set up Unleash to scale depends significantly on the [hosting option](/u
<TabItem value="hybrid" label="Hybrid"> <TabItem value="hybrid" label="Hybrid">
- **How it works**: You use the managed Unleash Cloud for the core platform (API server, database, [Admin UI](/understanding-unleash/unleash-overview#the-unleash-admin-ui)) but deploy and manage [Unleash Edge](/reference/unleash-edge) instances yourself within your own network perimeter. SDKs connect to your self-hosted Edge. - **How it works**: You use the managed Unleash Cloud for the core platform (API server, database, [Admin UI](/get-started/unleash-overview#the-unleash-admin-ui)) but deploy and manage [Unleash Edge](/reference/unleash-edge) instances yourself within your own network perimeter. SDKs connect to your self-hosted Edge.
- **Ideal for**: Teams needing the operational ease of a managed core platform but requiring absolute control over where end-user context is evaluated (for example, for [data privacy](/understanding-unleash/data-collection), residency [regulations](/using-unleash/compliance/compliance-overview)) by keeping Edge within their network boundaries. - **Ideal for**: Teams needing the operational ease of a managed core platform but requiring absolute control over where end-user context is evaluated (for example, for [data privacy](/understanding-unleash/data-collection), residency [regulations](/using-unleash/compliance/compliance-overview)) by keeping Edge within their network boundaries.
- **Scaling and infrastructure**: Unleash manages the core API/DB scaling and availability. You manage the Edge instance lifecycle, including its deployment, scaling, monitoring, and high-availability setup within your environment. - **Scaling and infrastructure**: Unleash manages the core API/DB scaling and availability. You manage the Edge instance lifecycle, including its deployment, scaling, monitoring, and high-availability setup within your environment.
- **Key tradeoff**: Provides granular control over Edge data processing and network placement while reducing the operational overhead of managing the core Unleash API and database. Still requires expertise and resources to operate Edge reliably at scale. - **Key tradeoff**: Provides granular control over Edge data processing and network placement while reducing the operational overhead of managing the core Unleash API and database. Still requires expertise and resources to operate Edge reliably at scale.
@ -88,7 +88,7 @@ The database layer must be performant and highly available. Use managed database
### Unleash Frontend / Admin UI ### Unleash Frontend / Admin UI
A bundled [single-page application interface](/understanding-unleash/unleash-overview#the-unleash-admin-ui) for interacting with the Unleash API server. Use a global content delivery network (CDN) to serve the UI and static assets for fast loading times worldwide. A bundled [single-page application interface](/get-started/unleash-overview#the-unleash-admin-ui) for interacting with the Unleash API server. Use a global content delivery network (CDN) to serve the UI and static assets for fast loading times worldwide.
### How we scale Unleash Cloud ### How we scale Unleash Cloud

View File

@ -195,15 +195,15 @@ Protecting data is critical within any software tool. Its a security best pra
This is a potential attack surface area that you wouldnt want to be the root of data breaches or unauthorized access in your system. Thats why Unleash was built in a way where integrating feature flags into your services wont be a weak link in your organizations ability to ship software safely. This is a potential attack surface area that you wouldnt want to be the root of data breaches or unauthorized access in your system. Thats why Unleash was built in a way where integrating feature flags into your services wont be a weak link in your organizations ability to ship software safely.
With Unleash, you can architect your feature flagging solution in a way that all user data stays within your applications. When using backend SDKs, user data remains within your application and is never shared with the Unleash server regardless of your setup. For frontend SDKs, you can retain all user data within your applications by either [self-hosting Unleash](/understanding-unleash/hosting-options#), or [self-hosting Unleash Edge](/understanding-unleash/hosting-options#unleash-edge-options). Read more on the [Unleash architecture here](/understanding-unleash/unleash-overview). With Unleash, you can architect your feature flagging solution in a way that all user data stays within your applications. When using backend SDKs, user data remains within your application and is never shared with the Unleash server regardless of your setup. For frontend SDKs, you can retain all user data within your applications by either [self-hosting Unleash](/understanding-unleash/hosting-options#), or [self-hosting Unleash Edge](/understanding-unleash/hosting-options#unleash-edge-options). Read more on the [Unleash architecture here](/get-started/unleash-overview).
### Use Unleash Edge for enterprise-grade data privacy ### Use Unleash Edge for enterprise-grade data privacy
To take scalability, high availability, and resiliency to the next level for large enterprises, we built [Unleash Edge](/reference/unleash-edge)—a lightweight proxy layer that sits between your Unleash API and SDKs. Beyond the performance benefits, Unleash Edge delivers critical enhancements to both security and privacy. To take scalability, high availability, and resiliency to the next level for large enterprises, we built [Unleash Edge](/reference/unleash-edge)—a lightweight proxy layer that sits between your Unleash API and SDKs. Beyond the performance benefits, Unleash Edge delivers critical enhancements to both security and privacy.
Deployed within your own infrastructure, Edge ensures that PII and sensitive context data never leave your network, [regardless of which SDKs you use](/understanding-unleash/unleash-overview#unleash-sdks). Each Edge instance can be scoped to specific projects or environments, enforcing least privilege access and tight network segmentation. Deployed within your own infrastructure, Edge ensures that PII and sensitive context data never leave your network, [regardless of which SDKs you use](/get-started/unleash-overview#unleash-sdks). Each Edge instance can be scoped to specific projects or environments, enforcing least privilege access and tight network segmentation.
With Edge, you can keep your core Unleash service hidden from the internet while evaluating feature flags at the edge for better performance and scalability. Unleash Enterprise Edge cannot access the [Unleash Admin API](/understanding-unleash/unleash-overview#admin-api), minimizing the impact of compromised clients or credentials. In our cloud-hosted offering, you can also define an [IP allow list](#set-up-ip-allow-lists-for-enhanced-security) for the Unleash instance and Hosted Edge to further reduce the attack surface. With Edge, you can keep your core Unleash service hidden from the internet while evaluating feature flags at the edge for better performance and scalability. Unleash Enterprise Edge cannot access the [Unleash Admin API](/get-started/unleash-overview#admin-api), minimizing the impact of compromised clients or credentials. In our cloud-hosted offering, you can also define an [IP allow list](#set-up-ip-allow-lists-for-enhanced-security) for the Unleash instance and Hosted Edge to further reduce the attack surface.
For regulated environments that require continuous availability, you can configure persistent storage—such as Redis or local backup files—to keep feature flag evaluations running, even if the main Unleash server is temporarily unreachable. Learn more about Edge architecture and setup in our [Edge Concepts](/reference/unleash-edge/concepts). For regulated environments that require continuous availability, you can configure persistent storage—such as Redis or local backup files—to keep feature flag evaluations running, even if the main Unleash server is temporarily unreachable. Learn more about Edge architecture and setup in our [Edge Concepts](/reference/unleash-edge/concepts).

View File

@ -13,7 +13,7 @@ Unleash provides a powerful mechanism for safely managing and controlling these
## How to implement trunk-based development with feature flags ## How to implement trunk-based development with feature flags
To follow along with this tutorial, you need access to an Unleash instance to create and manage feature flags. Head over to our [Quick Start documentation](/quickstart) for options, including running locally or using an [Unleash SaaS instance](https://www.getunleash.io/pricing?). To follow along with this tutorial, you need access to an Unleash instance to create and manage feature flags. Head over to our [Quick Start documentation](/get-started/quickstart) for options, including running locally or using an [Unleash SaaS instance](https://www.getunleash.io/pricing?).
With Unleash set up, you can use your application to talk to Unleash through one of our [SDKs](/reference/sdks). With Unleash set up, you can use your application to talk to Unleash through one of our [SDKs](/reference/sdks).

View File

@ -1,6 +1,5 @@
--- ---
title: Quickstart title: Quickstart
pagination_next: topics/what-is-a-feature-flag
--- ---
import Tabs from '@theme/Tabs'; import Tabs from '@theme/Tabs';
@ -128,6 +127,6 @@ For examples that show how to connect to Unleash in other programming languages,
You have successfully connected Unleash to your application. To continue exploring, see the following resources: You have successfully connected Unleash to your application. To continue exploring, see the following resources:
- **Core concepts**: Learn about the [Unleash architecture](/understanding-unleash/unleash-overview), available [hosting options](/understanding-unleash/hosting-options), and other [reference documentation](/reference/projects). - **Core concepts**: Learn about the [Unleash architecture](/get-started/unleash-overview), available [hosting options](/understanding-unleash/hosting-options), and other [reference documentation](/reference/projects).
- **Developer guides**: Explore feature flag [best practices](/topics/feature-flags/feature-flag-best-practices) and [language-specific tutorials](/feature-flag-tutorials/react). - **Developer guides**: Explore feature flag [best practices](/topics/feature-flags/feature-flag-best-practices) and [language-specific tutorials](/feature-flag-tutorials/react).
- **Join the community**: Have questions or feedback? Join the [Unleash community on Slack](https://slack.unleash.run) to connect with other developers and the Unleash team. - **Join the community**: Have questions or feedback? Join the [Unleash community on Slack](https://slack.unleash.run) to connect with other developers and the Unleash team.

View File

@ -1,6 +1,5 @@
--- ---
title: Unleash architecture overview title: Unleash architecture overview
pagination_next: understanding-unleash/the-anatomy-of-unleash
--- ---
import SearchPriority from '@site/src/components/SearchPriority'; import SearchPriority from '@site/src/components/SearchPriority';
@ -12,7 +11,7 @@ Unleash is designed for privacy, speed, and resilience, enabling feature flag ev
- **Privacy and security**: No user data is shared with the Unleash server, ensuring [privacy and security](/understanding-unleash/data-collection). - **Privacy and security**: No user data is shared with the Unleash server, ensuring [privacy and security](/understanding-unleash/data-collection).
- **High reliability**: SDKs cache feature flag data in memory, providing high reliability. - **High reliability**: SDKs cache feature flag data in memory, providing high reliability.
## System Overview ## System overview
The Unleash system consists of several key components. The Unleash system consists of several key components.

View File

@ -1,6 +1,5 @@
--- ---
title: What is a feature flag and why are feature flags used? title: What is a feature flag and why are feature flags used?
slug: /what-is-a-feature-flag
description: Feature flags let you control software features in real time, enabling safer deployments, better testing, and faster innovation. description: Feature flags let you control software features in real time, enabling safer deployments, better testing, and faster innovation.
toc_max_heading_level: 2 toc_max_heading_level: 2
--- ---

View File

@ -60,7 +60,7 @@ The following is a list of feature flag types, their purpose, and expected lifet
| Kill switch | Gracefully degrade system functionality. | Permanent | | Kill switch | Gracefully degrade system functionality. | Permanent |
| Permission | Control feature access based on user roles or entitlements. | Permanent | | Permission | Control feature access based on user roles or entitlements. | Permanent |
To learn more, visit [Types of feature flags](../what-is-a-feature-flag#types-of-feature-flags). To learn more, visit [Types of feature flags](/get-started/what-is-a-feature-flag#types-of-feature-flags).
## Feature flag state ## Feature flag state

View File

@ -8,7 +8,7 @@ import SearchPriority from '@site/src/components/SearchPriority';
Unleash offers a number of client libraries (SDKs) designed to help you integrate Unleash into your applications. The SDKs provide an interface for fetching and evaluating feature flags. Unleash offers a number of client libraries (SDKs) designed to help you integrate Unleash into your applications. The SDKs provide an interface for fetching and evaluating feature flags.
With [Unleash's architecture](../understanding-unleash/unleash-overview#system-overview), feature flags can be evaluated within the SDKs or [Unleash Edge](./unleash-edge), making evaluations incredibly fast. SDKs cache feature flag data in memory, providing high reliability. With [Unleash's architecture](/get-started/unleash-overview#system-overview), feature flags can be evaluated within the SDKs or [Unleash Edge](./unleash-edge), making evaluations incredibly fast. SDKs cache feature flag data in memory, providing high reliability.
Unleash provides official SDKs for a number of programming languages. Our community has also contributed SDKs for [additional languages](#community-sdks). Unleash provides official SDKs for a number of programming languages. Our community has also contributed SDKs for [additional languages](#community-sdks).
@ -16,7 +16,7 @@ Unleash provides official SDKs for a number of programming languages. Our commun
### Backend SDKs ### Backend SDKs
Backend SDKs run in backend services. They communicate with Unleash or [Unleash Edge](./unleash-edge) using the [Client API](../understanding-unleash/unleash-overview#client-api) and require a [client token](./api-tokens-and-client-keys#backend-tokens). Backend SDKs run in backend services. They communicate with Unleash or [Unleash Edge](./unleash-edge) using the [Client API](/get-started/unleash-overview#client-api) and require a [client token](./api-tokens-and-client-keys#backend-tokens).
Backend SDKs perform the flag evaluation locally, meaning all user data is retained within the SDK. Backend SDKs perform the flag evaluation locally, meaning all user data is retained within the SDK.
Unleash offers the following backend SDKs: Unleash offers the following backend SDKs:

View File

@ -10,7 +10,7 @@ import SearchPriority from '@site/src/components/SearchPriority';
<SearchPriority level="high" /> <SearchPriority level="high" />
Feature flags, [sometimes called feature toggles or feature switches](../../what-is-a-feature-flag), are a powerful software development technique that allows engineering teams to decouple the release of new functionality from software deployments. Feature flags, [sometimes called feature toggles or feature switches](/get-started/what-is-a-feature-flag), are a powerful software development technique that allows engineering teams to decouple the release of new functionality from software deployments.
With feature flags, developers can turn [specific features or code segments on or off at runtime](https://www.getunleash.io/feature-flag-use-cases-software-kill-switches) without needing a code deployment or rollback. Organizations that adopt feature flags see improvements in key [DevOps metrics](https://www.getunleash.io/blog/dora-metrics-in-2023-5-ways-to-measure-devops-performance) like lead time to changes, mean time to recovery, deployment frequency, and change failure rate. With feature flags, developers can turn [specific features or code segments on or off at runtime](https://www.getunleash.io/feature-flag-use-cases-software-kill-switches) without needing a code deployment or rollback. Organizations that adopt feature flags see improvements in key [DevOps metrics](https://www.getunleash.io/blog/dora-metrics-in-2023-5-ways-to-measure-devops-performance) like lead time to changes, mean time to recovery, deployment frequency, and change failure rate.
@ -36,7 +36,7 @@ Let's dive deeper into each principle.
A scalable feature management system evaluates flags at runtime. Flags are dynamic, not static. If you need to restart your application to turn on a flag, that's configuration, not a feature flag. A scalable feature management system evaluates flags at runtime. Flags are dynamic, not static. If you need to restart your application to turn on a flag, that's configuration, not a feature flag.
A large-scale feature flag system that enables [runtime control](https://www.getunleash.io/blog/so-what-exactly-is-runtime-control) should have, at minimum, the following components: a [service to manage feature flags](https://www.getunleash.io/blog/feature-management), a database or data store, an [API layer](../../understanding-unleash/unleash-overview), a [feature flag SDK](../../reference/sdks), and a continuous update mechanism. A large-scale feature flag system that enables [runtime control](https://www.getunleash.io/blog/so-what-exactly-is-runtime-control) should have, at minimum, the following components: a [service to manage feature flags](https://www.getunleash.io/blog/feature-management), a database or data store, an [API layer](/get-started/unleash-overview), a [feature flag SDK](../../reference/sdks), and a continuous update mechanism.
Let's break down these components. Let's break down these components.
@ -44,9 +44,9 @@ Let's break down these components.
- **Feature Flag Control Service**: A [service that acts as the control plane for your feature flags](https://www.getunleash.io/feature-flag-service), managing all flag configurations. The scope of this service should reflect the boundaries of your organization. - **Feature Flag Control Service**: A [service that acts as the control plane for your feature flags](https://www.getunleash.io/feature-flag-service), managing all flag configurations. The scope of this service should reflect the boundaries of your organization.
- **Database or data store**: A robust, scalable, and highly available database or data store that stores feature flag configurations reliably. Common options include SQL databases, NoSQL databases, or key-value stores. - **Database or data store**: A robust, scalable, and highly available database or data store that stores feature flag configurations reliably. Common options include SQL databases, NoSQL databases, or key-value stores.
- **API layer**: An API layer that exposes endpoints for your application to interact with the _Feature Flag Control Service_. [This API should allow your application to request feature flag configurations](../../understanding-unleash/unleash-overview). - **API layer**: An API layer that exposes endpoints for your application to interact with the _Feature Flag Control Service_. [This API should allow your application to request feature flag configurations](/get-started/unleash-overview).
- **Feature flag SDK**: [An easy-to-use interface for fetching flag configurations and evaluating feature flags at runtime](../../reference/sdks). When considering feature flags in your application, the call to the SDK should query the local cache, and the SDK should ask the central service for updates in the background. - **Feature flag SDK**: [An easy-to-use interface for fetching flag configurations and evaluating feature flags at runtime](../../reference/sdks). When considering feature flags in your application, the call to the SDK should query the local cache, and the SDK should ask the central service for updates in the background.
- **Continuous update mechanism**: An update mechanism that enables [dynamic updates to feature flag configurations](../../understanding-unleash/unleash-overview) without requiring application restarts or redeployments. The SDK should handle subscriptions or polling to the _Feature Flag Control Service_ for updates. - **Continuous update mechanism**: An update mechanism that enables [dynamic updates to feature flag configurations](/get-started/unleash-overview) without requiring application restarts or redeployments. The SDK should handle subscriptions or polling to the _Feature Flag Control Service_ for updates.
![The SDK holds an in-memory feature flag configuration cache which is continuously synced with the Feature Flag Control Service. You can then use the SDK to check the state of feature flags in your application.](/img/feature-flag-scalable-architecture.png) ![The SDK holds an in-memory feature flag configuration cache which is continuously synced with the Feature Flag Control Service. You can then use the SDK to check the state of feature flags in your application.](/img/feature-flag-scalable-architecture.png)

View File

@ -9,7 +9,7 @@ import SearchPriority from '@site/src/components/SearchPriority';
Unleash provides flexible hosting options for Unleash and [Unleash Edge](../generated/unleash-edge.md), allowing you to meet specific requirements for scaling, privacy, and infrastructure control. This document covers the main hosting models for the Unleash API server and Unleash Edge. Choosing a hosting model is a key architectural decision. Unleash provides flexible hosting options for Unleash and [Unleash Edge](../generated/unleash-edge.md), allowing you to meet specific requirements for scaling, privacy, and infrastructure control. This document covers the main hosting models for the Unleash API server and Unleash Edge. Choosing a hosting model is a key architectural decision.
Before considering hosting options, we recommend that you explore the [Unleash architecture and its key components](./unleash-overview). Before considering hosting options, we recommend that you explore the [Unleash architecture and its key components](/get-started/unleash-overview).
:::note Availability :::note Availability
@ -121,7 +121,7 @@ The following table compares the key differences between using the Unleash Enter
### Using Unleash without Edge ### Using Unleash without Edge
Using Unleash Edge is optional. You can also access the Unleash API directly using the [Frontend or Client API](./unleash-overview#unleash-apis). This setup comes with the following considerations: Using Unleash Edge is optional. You can also access the Unleash API directly using the [Frontend or Client API](/get-started/unleash-overview#unleash-apis). This setup comes with the following considerations:
- **Fair Use Policy:** Sending requests to the Unleash API is subject to limits outlined in the [Fair Use Policy](https://www.getunleash.io/fair-use-policy). While short traffic spikes are accommodated, sustained high traffic might require using Unleash Edge. - **Fair Use Policy:** Sending requests to the Unleash API is subject to limits outlined in the [Fair Use Policy](https://www.getunleash.io/fair-use-policy). While short traffic spikes are accommodated, sustained high traffic might require using Unleash Edge.
- **Latency:** Although the Unleash architecture is designed for incredibly fast flag evaluations thanks to caching in the SDKs, the central Unleash API server might not be geographically close to all your end users, potentially increasing flag evaluation latency. - **Latency:** Although the Unleash architecture is designed for incredibly fast flag evaluations thanks to caching in the SDKs, the central Unleash API server might not be geographically close to all your end users, potentially increasing flag evaluation latency.
- **Data privacy:** When using the Frontend API to talk to Unleash, any end-user data included in the [Unleash Context](../reference/unleash-context.md) is sent directly to the Unleash server. Evaluate if this meets your privacy requirements. Using Edge avoids sending this context data directly to the central Unleash API server. - **Data privacy:** When using the Frontend API to talk to Unleash, any end-user data included in the [Unleash Context](../reference/unleash-context.md) is sent directly to the Unleash server. Evaluate if this meets your privacy requirements. Using Edge avoids sending this context data directly to the central Unleash API server.

View File

@ -164,7 +164,7 @@ The first time Unleash starts, it creates this default `admin` user. To use diff
## Test your server connection ## Test your server connection
You can quickly test if your server is running and accepting API requests using `curl`. For example, you can attempt creating a feature flag via the [Admin API](/understanding-unleash/unleash-overview#admin-api). Replace `<API_TOKEN>` with a valid [API token](/reference/api-tokens-and-client-keys) and adjust the URL `http://localhost:4242` if needed. You can quickly test if your server is running and accepting API requests using `curl`. For example, you can attempt creating a feature flag via the [Admin API](/get-started/unleash-overview#admin-api). Replace `<API_TOKEN>` with a valid [API token](/reference/api-tokens-and-client-keys) and adjust the URL `http://localhost:4242` if needed.
```shell ```shell
curl --location --request POST 'http://localhost:4242/api/admin/features' \ curl --location --request POST 'http://localhost:4242/api/admin/features' \

View File

@ -363,7 +363,7 @@ class="header-github-link"
}, },
{ {
label: 'Unleash architecture', label: 'Unleash architecture',
to: '/understanding-unleash/unleash-overview', to: '/get-started/unleash-overview',
}, },
{ {
label: 'Pricing', label: 'Pricing',
@ -469,394 +469,7 @@ class="header-github-link"
'@docusaurus/plugin-client-redirects', '@docusaurus/plugin-client-redirects',
{ {
fromExtensions: ['html', 'htm'], fromExtensions: ['html', 'htm'],
redirects: [ redirects: [].map(addDocsRoutePrefix), // redirects are performed by Vercel
{
from: '/advanced/audit_log',
to: '/reference/events',
},
{
from: '/reference/event-log',
to: '/reference/events',
},
{
from: '/reference/event-types',
to: '/reference/events',
},
{
from: '/advanced/archived_toggles',
to: '/reference/feature-toggles',
},
{
from: [
'/advanced/custom-activation-strategy',
'/advanced/custom_activation_strategy',
],
to: '/reference/custom-activation-strategies',
},
{
from: '/advanced/feature_toggle_types',
to: '/reference/feature-toggles',
},
{
from: [
'/toggle_variants',
'/advanced/feature_toggle_variants',
'/advanced/toggle_variants',
],
to: '/reference/feature-toggle-variants',
},
{
from: [
'/advanced/impression-data',
'/advanced/impression_data',
],
to: '/reference/impression-data',
},
{
from: '/advanced/stickiness',
to: '/reference/stickiness',
},
{
from: '/advanced/enterprise-authentication',
to: '/reference/sso',
},
{
from: ['/addons', '/reference/addons'],
to: '/reference/integrations',
},
{
from: [
'/addons/datadog',
'/reference/addons/datadog',
],
to: '/reference/integrations/datadog',
},
{
from: ['/addons/slack', '/reference/addons/slack'],
to: '/reference/integrations/slack',
},
{
from: [
'/addons/slack-app',
'/reference/addons/slack-app',
],
to: '/reference/integrations/slack-app',
},
{
from: ['/addons/teams', '/reference/addons/teams'],
to: '/reference/integrations/teams',
},
{
from: [
'/addons/webhook',
'/reference/addons/webhook',
],
to: '/reference/integrations/webhook',
},
{
from: [
'/integrations/integrations',
'/integrations',
],
to: '/reference/integrations',
},
{
from: '/integrations/jira_server_plugin_installation',
to: '/reference/integrations/jira-server-plugin-installation',
},
{
from: '/integrations/jira_server_plugin_usage',
to: '/reference/integrations/jira-server-plugin-usage',
},
{
from: [
'/sdks',
'/user_guide/client-sdk',
'/client-sdk',
'/user_guide/connect_sdk',
'/sdks/community',
],
to: '/reference/sdks',
},
{
from: '/sdks/go_sdk',
to: '/reference/sdks/go',
},
{
from: '/sdks/java_sdk',
to: '/reference/sdks/java',
},
{
from: '/sdks/node_sdk',
to: '/reference/sdks/node',
},
{
from: '/sdks/php_sdk',
to: '/reference/sdks/php',
},
{
from: '/sdks/python_sdk',
to: '/reference/sdks/python',
},
{
from: '/sdks/dot_net_sdk',
to: '/reference/sdks/dotnet',
},
{
from: '/sdks/ruby_sdk',
to: '/reference/sdks/ruby',
},
{
from: [
'/sdks/android_proxy_sdk',
'/reference/sdks/android-proxy',
],
to: '/reference/sdks/android',
},
{
from: [
'/sdks/proxy-ios',
'/reference/sdks/ios-proxy',
],
to: '/reference/sdks/ios',
},
{
from: [
'/sdks/proxy-javascript',
'/sdks/javascript-browser',
],
to: '/reference/sdks/javascript-browser',
},
{
from: ['/sdks/proxy-react', '/sdks/react'],
to: '/reference/sdks/react',
},
{
from: '/sdks/proxy-vue',
to: '/reference/sdks/vue',
},
{
from: '/sdks/proxy-svelte',
to: '/reference/sdks/svelte',
},
{
from: [
'/user_guide/native_apps',
'/user_guide/proxy-api',
'/sdks/unleash-proxy',
],
to: '/reference/unleash-proxy',
},
{
to: '/reference/activation-strategies',
from: [
'/user_guide/control_rollout',
'/user_guide/activation_strategy',
],
},
{
from: '/user_guide/environments',
to: '/reference/environments',
},
{
from: '/user_guide/projects',
to: '/reference/projects',
},
{
from: ['/user_guide/rbac', '/advanced/groups'],
to: '/reference/rbac',
},
{
from: '/user_guide/technical_debt',
to: '/reference/technical-debt',
},
{
from: '/user_guide/unleash_context',
to: '/reference/unleash-context',
},
{
from: '/user_guide/v4-whats-new',
to: '/reference/whats-new-v4',
},
{
from: [
'/user_guide/quickstart',
'/docs/getting_started',
'/tutorials/quickstart',
'/tutorials/getting-started',
],
to: '/quickstart',
},
{
from: '/api/basic-auth',
to: '/reference/api/legacy/unleash/basic-auth',
},
{
from: '/api',
to: '/reference/api/legacy/unleash',
},
{
from: '/api/admin/addons',
to: '/reference/api/legacy/unleash/admin/addons',
},
{
from: '/api/admin/context',
to: '/reference/api/legacy/unleash/admin/context',
},
{
from: '/api/admin/events',
to: '/reference/api/legacy/unleash/admin/events',
},
{
from: '/api/admin/feature-toggles-v2',
to: '/reference/api/legacy/unleash/admin/features-v2',
},
{
from: '/api/admin/feature-types',
to: '/reference/api/legacy/unleash/admin/feature-types',
},
{
from: '/api/admin/features',
to: '/reference/api/legacy/unleash/admin/features',
},
{
from: '/api/admin/features-archive',
to: '/reference/api/legacy/unleash/admin/archive',
},
{
from: '/api/admin/metrics',
to: '/reference/api/legacy/unleash/admin/metrics',
},
{
from: '/api/admin/projects',
to: '/reference/api/legacy/unleash/admin/projects',
},
{
from: '/api/admin/segments',
to: '/reference/api/legacy/unleash/admin/segments',
},
{
from: '/api/admin/state',
to: '/reference/api/legacy/unleash/admin/state',
},
{
from: '/api/admin/strategies',
to: '/reference/api/legacy/unleash/admin/strategies',
},
{
from: '/api/admin/tags',
to: '/reference/api/legacy/unleash/admin/tags',
},
{
from: '/api/admin/user-admin',
to: '/reference/api/legacy/unleash/admin/user-admin',
},
{
from: '/api/client/features',
to: '/reference/api/legacy/unleash/client/features',
},
{
from: '/api/client/metrics',
to: '/reference/api/legacy/unleash/client/metrics',
},
{
from: '/api/client/register',
to: '/reference/api/legacy/unleash/client/register',
},
{
from: '/api/internal/internal',
to: '/reference/api/legacy/unleash/internal/prometheus',
},
{
from: '/api/internal/health',
to: '/reference/api/legacy/unleash/internal/health',
},
{
from: '/help',
to: '/',
},
{
from: ['/tutorials/academy', '/unleash-academy'],
to: '/unleash-academy/introduction',
},
{
from: '/tutorials/academy-foundational',
to: '/unleash-academy/foundational',
},
{
from: '/tutorials/academy-advanced-for-devs',
to: '/unleash-academy/advanced-for-devs',
},
{
from: '/tutorials/academy-managing-unleash-for-devops',
to: '/unleash-academy/managing-unleash-for-devops',
},
{
from: [
'/tutorials/unleash-overview',
'/user_guide/unleash_overview',
],
to: '/understanding-unleash/unleash-overview',
},
{
from: [
'/tutorials/managing-constraints',
'/topics/managing-constraints',
],
to: '/understanding-unleash/managing-constraints',
},
{
from: [
'/tutorials/the-anatomy-of-unleash',
'/topics/the-anatomy-of-unleash',
],
to: '/understanding-unleash/the-anatomy-of-unleash',
},
{
from: [
'/tutorials/data-collection',
'/topics/data-collection',
],
to: '/understanding-unleash/data-collection',
},
{
from: [
'/reference/deploy/environment-import-export',
'/deploy/environment-import-export',
],
to: '/how-to/how-to-environment-import-export',
},
{
from: [
'/topics/feature-flags/runtime-control',
'/topics/feature-flags/never-expose-pii',
'/topics/feature-flags/evaluate-flags-close-to-user',
'/topics/feature-flags/scale-horizontally',
'/topics/feature-flags/limit-payloads',
'/topics/feature-flags/availability-over-consistency',
'/topics/feature-flags/short-lived-feature-flags',
'/topics/feature-flags/unique-names',
'/topics/feature-flags/democratize-feature-flag-access',
'/topics/feature-flags/prioritize-ux',
'/topics/feature-flags/enable-traceability',
],
to: '/topics/feature-flags/feature-flag-best-practices',
},
{
from: [
'/topics/feature-flag-migration/feature-flag-migration-scope',
'/topics/feature-flag-migration/business-case-feature-flag-migration',
'/topics/feature-flag-migration/planning-feature-flag-migration',
'/topics/feature-flag-migration/how-to-execute-feature-flag-migration',
'/topics/feature-flag-migration/onbording-users-to-feature-flag-service',
],
to: '/topics/feature-flag-migration/feature-flag-migration-best-practices',
},
{
from: '/topics/a-b-testing',
to: '/feature-flag-tutorials/use-cases/a-b-testing',
},
].map(addDocsRoutePrefix), // add /docs prefixes
createRedirects: (toPath) => { createRedirects: (toPath) => {
if ( if (
toPath.indexOf('/docs/') === -1 && toPath.indexOf('/docs/') === -1 &&

View File

@ -42,23 +42,23 @@ const sidebars: SidebarsConfig = {
type: 'category', type: 'category',
link: { link: {
type: 'doc', type: 'doc',
id: 'quickstart', id: 'get-started/quickstart',
}, },
items: [ items: [
{ {
type: 'doc', type: 'doc',
label: 'Quickstart', label: 'Quickstart',
id: 'quickstart', id: 'get-started/quickstart',
}, },
{ {
type: 'doc', type: 'doc',
label: 'Introduction to feature flags', label: 'Introduction to feature flags',
id: 'topics/what-is-a-feature-flag', id: 'get-started/what-is-a-feature-flag',
}, },
{ {
type: 'doc', type: 'doc',
label: 'Unleash architecture overview', label: 'Unleash architecture overview',
id: 'understanding-unleash/unleash-overview', id: 'get-started/unleash-overview',
}, },
], ],
}, },
@ -67,7 +67,7 @@ const sidebars: SidebarsConfig = {
type: 'category', type: 'category',
link: { link: {
type: 'doc', type: 'doc',
id: 'understanding-unleash/the-anatomy-of-unleash', id: 'reference/core-concepts',
}, },
items: [ items: [
{ {

View File

@ -11,7 +11,7 @@ const cardsData = [
title: 'Quickstart', title: 'Quickstart',
description: 'Get up and running with Unleash in less than 5 minutes.', description: 'Get up and running with Unleash in less than 5 minutes.',
icon: <QuickstartIcon />, icon: <QuickstartIcon />,
href: '/quickstart', href: '/get-started/quickstart',
}, },
{ {
title: 'Tutorials and Guides', title: 'Tutorials and Guides',

View File

@ -138,7 +138,7 @@
}, },
{ {
"source": "/how-to/", "source": "/how-to/",
"destination": "/what-is-a-feature-flag", "destination": "/get-started/what-is-a-feature-flag",
"permanent": true "permanent": true
}, },
{ {
@ -518,22 +518,22 @@
}, },
{ {
"source": "/user_guide/quickstart", "source": "/user_guide/quickstart",
"destination": "/quickstart", "destination": "/get-started/quickstart",
"permanent": true "permanent": true
}, },
{ {
"source": "/docs/getting_started", "source": "/docs/getting_started",
"destination": "/quickstart", "destination": "/get-started/quickstart",
"permanent": true "permanent": true
}, },
{ {
"source": "/tutorials/quickstart", "source": "/tutorials/quickstart",
"destination": "/quickstart", "destination": "/get-started/quickstart",
"permanent": true "permanent": true
}, },
{ {
"source": "/tutorials/getting-started", "source": "/tutorials/getting-started",
"destination": "/quickstart", "destination": "/get-started/quickstart",
"permanent": true "permanent": true
}, },
{ {
@ -723,12 +723,12 @@
}, },
{ {
"source": "/tutorials/unleash-overview", "source": "/tutorials/unleash-overview",
"destination": "/understanding-unleash/unleash-overview", "destination": "/get-started/unleash-overview",
"permanent": true "permanent": true
}, },
{ {
"source": "/user_guide/unleash_overview", "source": "/user_guide/unleash_overview",
"destination": "/understanding-unleash/unleash-overview", "destination": "/get-started/unleash-overview",
"permanent": true "permanent": true
}, },
{ {
@ -753,17 +753,17 @@
}, },
{ {
"source": "/tutorials/the-anatomy-of-unleash", "source": "/tutorials/the-anatomy-of-unleash",
"destination": "/understanding-unleash/the-anatomy-of-unleash", "destination": "/reference/core-concepts",
"permanent": true "permanent": true
}, },
{ {
"source": "/topics/the-anatomy-of-unleash", "source": "/topics/the-anatomy-of-unleash",
"destination": "/understanding-unleash/the-anatomy-of-unleash", "destination": "/reference/core-concepts",
"permanent": true "permanent": true
}, },
{ {
"source": "/understanding-unleash", "source": "/understanding-unleash",
"destination": "/understanding-unleash/unleash-overview", "destination": "/get-started/unleash-overview",
"permanent": true "permanent": true
}, },
{ {
@ -1080,6 +1080,26 @@
"source": "/deploy/environment-import-export", "source": "/deploy/environment-import-export",
"destination": "/how-to/how-to-environment-import-export", "destination": "/how-to/how-to-environment-import-export",
"permanent": true "permanent": true
},
{
"source": "/quickstart",
"destination": "/get-started/quickstart",
"permanent": true
},
{
"source": "/what-is-a-feature-flag",
"destination": "/get-started/what-is-a-feature-flag",
"permanent": true
},
{
"source": "/understanding-unleash/unleash-overview",
"destination": "/get-started/unleash-overview",
"permanent": true
},
{
"source": "/understanding-unleash/the-anatomy-of-unleash",
"destination": "/reference/core-concepts",
"permanent": true
} }
] ]
} }