Skip to content

Commit

Permalink
docs: move all docs into sidebar
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasheartman committed Jan 25, 2022
1 parent 2893404 commit 4848104
Show file tree
Hide file tree
Showing 3 changed files with 114 additions and 102 deletions.
29 changes: 0 additions & 29 deletions website/docs/user_guide/index.md
Expand Up @@ -42,32 +42,3 @@ The reference docs contain technical reference for Unleash and the API. Go here
💬 If you've got questions or just wanna chat to the team and other Unleash users, come [join our Slack community](https://join.slack.com/t/unleash-community/shared_invite/enQtNjUxMjU2MDc0MTAxLTJjYmViYjkwYmE0ODVlNmY1YjcwZGRmZWU5MTU1YTQ1Nzg5ZWQ2YzBlY2U1MjlmZDg5ZDRmZTMzNmQ5YmEyOGE)

🐦 You can also follow us [on Twitter](https://twitter.com/getunleash "Unleash on Twitter"), [LinkedIn](https://www.linkedin.com/company/getunleash/ "Unleash on LinkedIn"), or [Instagram](https://www.instagram.com/getunleash/ "Unleash on Instagram") for more updates and extra content.

Our goal with our documentation is to guide you through the most essential concepts of Unleash.

One of the most important aspects of the architecture to understand is that feature toggles _are evaluated in a client SDKs_ which runs as part of your application. This makes toggle evaluations super-fast (_we're talk nano-seconds_), scalable and resilient against network disturbances. In order to achieve this Unleash compromises a small update-delay when you change your toggle configurations until it is fully propagated to your application (in terms of seconds and is configurable).

If you want more details you can read about [our unique architecture](https://www.getunleash.io/blog/our-unique-architecture).

### Unleash Server {#unleash-server}

Before you can connect your application to Unleash you need a Unleash server. You have a few options available:

1. **Unleash Open-source**
- [Docker](deploy/getting_started)
- [Helm Chart](https://github.com/unleash/helm-charts/)
- [Click-to-deploy on Heroku](https://www.heroku.com/deploy/?template=https://github.com/Unleash/unleash)
2. **Unleash Enterprise**
- [Hosted Plans](https://www.getunleash.io/plans)
- [Self-hosted](https://www.getunleash.io/blog/self-host-your-feature-toggle-system)

### System Overview {#system-overview}

![system_overview](/img/Unleash_architecture.svg 'System Overview')

- **Unleash API** - The service holding all feature toggles and their configurations. Configurations declare which activation strategies to use and which parameters they should get. [API documentation](/api)
- **Unleash Admin UI** - The dashboard used to manage feature toggles, define new strategies, look at metrics, etc. [Create your first feature toggle](user_guide/create-feature-toggle.md)
- **Unleash SDK** - Used by clients to check if a feature is enabled or disabled. The SDK also collects metrics and sends them to the Unleash API. [See all our SDKs](sdks/index.md)
- **Unleash Proxy** - Sits between frontend/native applications and the Unleash API. Ensures high performance and that you don't expose the full feature toggle configuration to end-users. [Read more about Unleash Proxy](sdks/unleash-proxy.md)

To be super fast (_we're talking nano-seconds_), the [client SDK](sdks/index.md) caches all feature toggles and their current configuration in memory. The activation strategies are also implemented in the SDK. This makes it really fast to check if a toggle is on or off because it is just a simple function operating on local state, without the need to poll data from the database.
30 changes: 30 additions & 0 deletions website/docs/user_guide/unleash_overview.md
@@ -0,0 +1,30 @@
---
title: Unleash introductory overview
---

One of the most important aspects of the architecture to understand is that feature toggles _are evaluated in a client SDKs_ which runs as part of your application. This makes toggle evaluations super-fast (_we're talk nano-seconds_), scalable and resilient against network disturbances. In order to achieve this Unleash compromises a small update-delay when you change your toggle configurations until it is fully propagated to your application (in terms of seconds and is configurable).

If you want more details you can read about [our unique architecture](https://www.getunleash.io/blog/our-unique-architecture).

### Unleash Server {#unleash-server}

Before you can connect your application to Unleash you need a Unleash server. You have a few options available:

1. **Unleash Open-source**
- [Docker](deploy/getting_started)
- [Helm Chart](https://github.com/unleash/helm-charts/)
- [Click-to-deploy on Heroku](https://www.heroku.com/deploy/?template=https://github.com/Unleash/unleash)
2. **Unleash Enterprise**
- [Hosted Plans](https://www.getunleash.io/plans)
- [Self-hosted](https://www.getunleash.io/blog/self-host-your-feature-toggle-system)

### System Overview {#system-overview}

![system_overview](/img/Unleash_architecture.svg 'System Overview')

- **Unleash API** - The service holding all feature toggles and their configurations. Configurations declare which activation strategies to use and which parameters they should get. [API documentation](/api)
- **Unleash Admin UI** - The dashboard used to manage feature toggles, define new strategies, look at metrics, etc. [Create your first feature toggle](user_guide/create-feature-toggle.md)
- **Unleash SDK** - Used by clients to check if a feature is enabled or disabled. The SDK also collects metrics and sends them to the Unleash API. [See all our SDKs](sdks/index.md)
- **Unleash Proxy** - Sits between frontend/native applications and the Unleash API. Ensures high performance and that you don't expose the full feature toggle configuration to end-users. [Read more about Unleash Proxy](sdks/unleash-proxy.md)

To be super fast (_we're talking nano-seconds_), the [client SDK](sdks/index.md) caches all feature toggles and their current configuration in memory. The activation strategies are also implemented in the SDK. This makes it really fast to check if a toggle is on or off because it is just a simple function operating on local state, without the need to poll data from the database.
157 changes: 84 additions & 73 deletions website/sidebars.js
Expand Up @@ -12,6 +12,33 @@
module.exports = {
documentation: [
'user_guide/index',
{
'First steps 👶': [
'user_guide/unleash_overview',
'user_guide/important-concepts',
'user_guide/quickstart',
'user_guide/v4-whats-new',
],
},
{
label: 'How-to guides 🪜',
type: 'category',
collapsible: true,
items: [
'how-to/how-to-add-strategy-constraints',
'how-to/how-to-define-custom-context-fields',
'how-to/how-to-use-custom-strategies',

'advanced/sso-open-id-connect',
'advanced/sso-saml',
'advanced/sso-saml-keycloak',
'advanced/sso-google',
'advanced/api_access',
'user_guide/api-token',
'user_guide/user-management',
'user_guide/create_feature_toggle',
],
},
{
label: 'Reference documentation 📜',
type: 'category',
Expand All @@ -29,25 +56,39 @@ module.exports = {
label: 'Addons',
},
{
'Admin API': [
'api/admin/features',
'api/admin/projects',
'api/admin/feature-toggles-v2',
'api/admin/features-archive',
'api/admin/strategies',
'api/admin/metrics',
'api/admin/events',
'api/admin/state',
'api/admin/feature-types',
'api/admin/addons',
'api/admin/context',
'api/admin/user-admin',
],
'Client API': [
'api/client/features',
'api/client/register',
'api/client/metrics',
type: 'category',
link: { type: 'doc', id: 'api/index' },
label: 'APIs',
items: [
{
'Admin API': [
'api/admin/addons',
'api/admin/context',
'api/admin/events',
'api/admin/feature-toggles-v2',
'api/admin/feature-types',
'api/admin/features',
'api/admin/features-archive',
'api/admin/metrics',
'api/admin/projects',
'api/admin/state',
'api/admin/strategies',
'api/admin/user-admin',
],
'Client API': [
'api/client/features',
'api/client/metrics',
'api/client/register',
],
'System API': [
'api/internal/internal',
'api/internal/health',
],
},
'api/open_api',
],
},
{
'Client SDKs': [
'sdks/index',
'sdks/java_sdk',
Expand Down Expand Up @@ -86,66 +127,36 @@ module.exports = {
'advanced/tags',
'advanced/enterprise-authentication',
],
'Deploy and manage Unleash': [
'deploy/getting_started',
'deploy/configuring_unleash',
'deploy/securing_unleash',
'deploy/email',
'deploy/google_auth',
'deploy/database-setup',
'deploy/database_backup',
'deploy/migration_guide',
'deploy/import_export',
],
},
{
type: 'category',
label: 'Integrations',
link: { type: 'doc', id: 'integrations/integrations' },
items: [
{
'Jira Server': [
'integrations/jira_server_plugin_installation',
'integrations/jira_server_plugin_usage',
],
},
,
],
},
],
},
{
label: 'How-to guides 🦶',
type: 'category',
collapsible: true,
items: [
'how-to/how-to-add-strategy-constraints',
'how-to/how-to-define-custom-context-fields',
'how-to/how-to-use-custom-strategies',

'advanced/sso-open-id-connect',
'advanced/sso-saml',
'advanced/sso-saml-keycloak',
'advanced/sso-google',
'advanced/api_access',
'user_guide/api-token',
'user_guide/user-management',
'user_guide/create_feature_toggle',
],
},
{
Tutorials: [],
'Getting started 🏁': [
'user_guide/quickstart',
'user_guide/important-concepts',
'user_guide/v4-whats-new',
],
Advanced: [],
'Topic guides 🤓': ['topics/a-b-testing'],
'How-to guides': [],
},
],
api: {
Introduction: [
'api/index',
'api/internal/internal',
'api/internal/health',
'api/open_api',
],
},
'Deploy and manage': {
'Deploy & configure': [
'deploy/getting_started',
'deploy/configuring_unleash',
'deploy/securing_unleash',
'deploy/email',
'deploy/google_auth',
'deploy/database-setup',
'deploy/database_backup',
'deploy/migration_guide',
'deploy/import_export',
],
},
Integrations: {
Integrations: ['integrations/integrations'],
'Jira server': [
'integrations/jira_server_plugin_installation',
'integrations/jira_server_plugin_usage',
],
},
};

0 comments on commit 4848104

Please sign in to comment.