1
0
mirror of https://github.com/Unleash/unleash.git synced 2026-01-05 20:06:22 +01:00
unleash.unleash/website/sidebars.ts
2025-12-11 11:12:13 +01:00

792 lines
30 KiB
TypeScript

/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
import type { SidebarsConfig } from '@docusaurus/plugin-content-docs';
import docsSidebar from './docs/api/sidebar.ts';
const sidebars: SidebarsConfig = {
academy: [
{
label: 'Unleash Academy',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'unleash-academy/introduction',
},
items: [
'unleash-academy/foundational',
'unleash-academy/advanced-for-devs',
'unleash-academy/managing-unleash-for-devops',
],
},
{
type: 'ref',
id: 'welcome',
label: 'Docs',
className: 'show-when-collapsed',
},
],
documentation: [
{
label: 'Get started',
type: 'category',
link: {
type: 'doc',
id: 'get-started/quickstart',
},
items: [
{
type: 'doc',
label: 'Quickstart',
id: 'get-started/quickstart',
},
{
type: 'doc',
label: 'Introduction to feature flags',
id: 'get-started/what-is-a-feature-flag',
},
{
type: 'doc',
label: 'Unleash architecture overview',
id: 'get-started/unleash-overview',
},
],
},
{
label: 'Core concepts',
type: 'category',
link: {
type: 'doc',
id: 'concepts/concepts-overview',
},
items: [
{
label: 'Projects and environments',
collapsed: true,
type: 'category',
link: { type: 'doc', id: 'concepts/projects' },
items: [
'concepts/projects',
'concepts/project-collaboration-mode',
'concepts/environments',
],
},
{
label: 'Feature flags and activation strategies',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'concepts/feature-flags',
},
items: [
'concepts/feature-flags',
'concepts/activation-strategies',
'concepts/strategy-variants',
'concepts/segments',
'concepts/unleash-context',
'concepts/stickiness',
],
},
{
label: 'Release management',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'concepts/release-templates',
},
items: [
'concepts/release-templates',
'concepts/impact-metrics',
],
},
{
label: 'Identity and access',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'concepts/api-tokens-and-client-keys',
},
items: [
'concepts/api-tokens-and-client-keys',
'concepts/front-end-api',
'concepts/rbac',
'concepts/sso',
'concepts/scim',
'concepts/change-requests',
'concepts/public-signup',
],
},
{
label: 'Instance health and configuration',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'concepts/technical-debt',
},
items: [
'concepts/technical-debt',
'concepts/insights',
'concepts/resource-limits',
],
},
{
label: 'Testing and monitoring',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'concepts/impression-data',
},
items: [
'concepts/impression-data',
'concepts/events',
'concepts/playground',
'concepts/network-view',
'concepts/enterprise-edge-observability',
],
},
{
label: 'Automation and integrations',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'concepts/applications',
},
items: [
'concepts/applications',
'concepts/service-accounts',
'concepts/signals',
'concepts/actions',
],
},
{
label: 'Admin UI',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'concepts/login-history',
},
items: [
'concepts/login-history',
'concepts/banners',
'concepts/command-menu',
'concepts/search-operators',
'concepts/maintenance-mode',
],
},
{
type: 'doc',
label: 'Import and export',
id: 'concepts/import-export',
},
],
},
{
label: 'Tutorials and guides',
type: 'category',
link: {
type: 'doc',
id: 'guides/guides-overview',
},
items: [
{
label: 'Feature management best practices',
collapsed: true,
type: 'category',
link: {
type: 'doc',
id: 'guides/feature-flag-best-practices',
},
items: [
{
type: 'doc',
label: 'Building and scaling feature flag systems',
id: 'guides/feature-flag-best-practices',
},
{
type: 'doc',
label: 'Using feature flags at scale',
id: 'guides/best-practices-using-feature-flags-at-scale',
},
{
type: 'doc',
label: 'Migrating from homegrown feature management solutions',
id: 'guides/feature-flag-migration-best-practices',
},
{
type: 'doc',
label: 'Managing large constraints',
id: 'guides/managing-constraints',
},
],
},
{
label: 'Development and release workflows',
type: 'category',
collapsed: true,
link: {
type: 'doc',
id: 'guides/how-to-create-feature-flags',
},
items: [
{
type: 'doc',
id: 'guides/how-to-create-feature-flags',
},
{
type: 'doc',
label: 'Schedule a feature release',
id: 'guides/how-to-schedule-feature-releases',
},
{
type: 'doc',
label: 'Trunk-based development',
id: 'guides/trunk-based-development',
},
{
type: 'doc',
label: 'Gradual rollout',
id: 'guides/gradual-rollout',
},
{
type: 'doc',
label: 'Unleash Edge quickstart',
id: 'guides/unleash-edge-quickstart',
},
],
},
{
label: 'Enterprise-grade security and scale',
type: 'category',
collapsed: true,
link: {
type: 'doc',
id: 'guides/user-management-access-controls',
},
items: [
{
type: 'doc',
label: 'User management, access controls, and auditing',
id: 'guides/user-management-access-controls',
},
{
type: 'doc',
label: 'Security and compliance',
id: 'guides/security-compliance',
},
{
type: 'doc',
label: 'Scaling Unleash',
id: 'guides/scaling-unleash',
},
{
type: 'doc',
label: 'Managing feature flags in code',
id: 'guides/manage-feature-flags-in-code',
},
{
type: 'doc',
label: 'Organizing feature flags using projects and environments',
id: 'guides/organize-feature-flags',
},
],
},
{
label: 'Experimentation and analytics',
type: 'category',
collapsed: true,
link: {
type: 'doc',
id: 'guides/a-b-testing',
},
items: [
{
type: 'doc',
label: 'A/B testing',
id: 'guides/a-b-testing',
},
{
type: 'doc',
label: 'Feature flags for AI',
id: 'guides/manage-ai-models-with-feature-flags',
},
{
type: 'doc',
label: 'Use impression data for analytics',
id: 'guides/how-to-capture-impression-data',
},
],
},
{
type: 'category',
label: 'Language and framework examples',
collapsed: true,
link: {
type: 'doc',
id: 'guides/language-specific-tutorials/react/implementing-feature-flags',
},
items: [
{
type: 'category',
label: 'React',
link: {
type: 'doc',
id: 'guides/language-specific-tutorials/react/implementing-feature-flags',
},
items: [
{
type: 'doc',
label: 'Examples',
id: 'guides/language-specific-tutorials/react/examples',
},
],
},
{
type: 'category',
label: 'Java',
link: {
type: 'doc',
id: 'guides/language-specific-tutorials/java/implementing-feature-flags',
},
items: [
{
type: 'doc',
label: 'Spring Boot',
id: 'guides/language-specific-tutorials/java/spring-boot-implementing-feature-flags',
},
{
type: 'doc',
label: 'Spring Boot Examples',
id: 'guides/language-specific-tutorials/java/spring-boot-examples',
},
],
},
{
type: 'category',
label: 'Python',
link: {
type: 'doc',
id: 'guides/language-specific-tutorials/python/implementing-feature-flags',
},
items: [
{
type: 'doc',
label: 'Python Examples',
id: 'guides/language-specific-tutorials/python/examples',
},
{
type: 'doc',
label: 'Django Tutorial',
id: 'guides/language-specific-tutorials/django/implementing-feature-flags-django',
},
{
type: 'doc',
label: 'Django Examples',
id: 'guides/language-specific-tutorials/django/django-examples',
},
],
},
{
type: 'doc',
label: 'Next.js',
id: 'guides/language-specific-tutorials/nextjs/implementing-feature-flags-nextjs',
},
{
type: 'category',
label: 'Go',
link: {
type: 'doc',
id: 'guides/language-specific-tutorials/golang/implementing-feature-flags-golang',
},
items: [
{
type: 'doc',
label: 'Go Examples',
id: 'guides/language-specific-tutorials/golang/golang-examples',
},
],
},
{
type: 'doc',
label: 'JavaScript',
id: 'guides/language-specific-tutorials/javascript/implementing-feature-flags-js',
},
{
type: 'category',
label: '.NET',
link: {
type: 'doc',
id: 'guides/language-specific-tutorials/dotnet/implementing-feature-flags-dotnet',
},
items: [
{
type: 'doc',
label: 'Examples',
id: 'guides/language-specific-tutorials/dotnet/dotnet-examples',
},
],
},
{
type: 'category',
label: 'iOS',
link: {
type: 'doc',
id: 'guides/language-specific-tutorials/ios/implementing-feature-flags-ios',
},
items: [
{
type: 'doc',
label: 'Examples',
id: 'guides/language-specific-tutorials/ios/examples',
},
],
},
{
type: 'doc',
label: 'Serverless',
id: 'guides/language-specific-tutorials/serverless/implementing-feature-flags-in-aws-lambda',
},
{
type: 'category',
label: 'Rust',
link: {
type: 'doc',
id: 'guides/language-specific-tutorials/rust/implementing-feature-flags-rust',
},
items: [
{
type: 'doc',
label: 'Examples',
id: 'guides/language-specific-tutorials/rust/rust-examples',
},
],
},
{
type: 'doc',
label: 'Flutter',
id: 'guides/language-specific-tutorials/flutter/a-b-testing',
},
{
type: 'doc',
label: 'SvelteKit',
id: 'guides/language-specific-tutorials/sveltekit/implementing-feature-flags-sveltekit',
},
{
type: 'category',
label: 'Ruby',
link: {
type: 'doc',
id: 'guides/language-specific-tutorials/ruby/implementing-feature-flags-ruby',
},
items: [
{
type: 'doc',
label: 'Ruby Examples',
id: 'guides/language-specific-tutorials/ruby/ruby-examples',
},
{
type: 'doc',
label: 'Rails Tutorial',
id: 'guides/language-specific-tutorials/rails/implementing-feature-flags-rails',
},
{
type: 'doc',
label: 'Rails Examples',
id: 'guides/language-specific-tutorials/rails/rails-examples',
},
],
},
],
},
],
},
{
label: 'SDKs',
type: 'category',
link: { type: 'doc', id: 'sdks/index' },
items: [
{
type: 'category',
label: 'Backend SDKs',
items: [
{
type: 'autogenerated',
dirName: 'generated/sdks/backend',
},
],
},
{
type: 'category',
label: 'Frontend SDKs',
items: [
{
type: 'autogenerated',
dirName: 'generated/sdks/frontend',
},
],
},
{
type: 'link',
label: 'Community SDKs',
href: '/sdks#community-sdks',
},
],
},
{
label: 'API reference',
type: 'category',
link: {
type: 'doc',
id: 'api/api-overview',
},
items: [docsSidebar],
},
{
type: 'category',
label: 'Unleash Enterprise Edge',
collapsed: true,
link: {
type: 'doc',
id: 'unleash-edge/unleash-edge-overview',
},
items: [
{
type: 'doc',
label: 'Enterprise Edge overview',
id: 'unleash-edge/unleash-edge-overview',
},
{
type: 'category',
label: 'Self-host Enterprise Edge',
link: {
type: 'doc',
id: 'unleash-edge/deploy',
},
items: [
'unleash-edge/deploy',
'unleash-edge/configure',
'unleash-edge/migrate-from-proxy',
],
},
],
},
{
label: 'Integrate and deploy',
type: 'category',
link: {
type: 'doc',
id: 'deploy/hosting-options',
},
items: [
{
type: 'doc',
label: 'Unleash hosting options',
id: 'deploy/hosting-options',
},
{
type: 'category',
link: {
type: 'doc',
id: 'deploy/getting-started',
},
label: 'Self-hosting Unleash',
items: [
'deploy/getting-started',
'deploy/configuring-unleash',
'deploy/upgrading-unleash',
'deploy/license-keys',
'deploy/https',
{
type: 'doc',
label: 'Synchronize Unleash instances',
id: 'guides/how-to-synchronize-unleash-instances',
},
],
},
{
label: 'Single sign-on',
type: 'category',
link: {
type: 'doc',
id: 'single-sign-on/how-to-add-sso-open-id-connect',
},
items: [
'single-sign-on/how-to-add-sso-open-id-connect',
'single-sign-on/how-to-add-sso-saml',
'single-sign-on/how-to-add-sso-saml-keycloak',
'single-sign-on/how-to-add-sso-azure-saml',
'single-sign-on/how-to-setup-sso-keycloak-group-sync',
'single-sign-on/how-to-set-up-group-sso-sync',
],
},
{
label: 'Automatic provisioning',
type: 'category',
link: {
type: 'doc',
id: 'provisioning/how-to-setup-provisioning-with-okta',
},
items: [
'provisioning/how-to-setup-provisioning-with-okta',
'provisioning/how-to-setup-provisioning-with-entra',
],
},
{
label: 'Integrations',
type: 'category',
link: {
type: 'doc',
id: 'integrate/index',
},
items: [
'integrate/datadog',
{
type: 'category',
label: 'Jira server',
items: [
'integrate/jira-server-plugin-installation',
'integrate/jira-server-plugin-usage',
],
},
{
type: 'category',
label: 'Jira cloud',
items: [
'integrate/jira-cloud-plugin-installation',
'integrate/jira-cloud-plugin-usage',
],
},
'integrate/slack-app',
'integrate/teams',
'integrate/webhook',
{
type: 'doc',
label: 'Terraform',
id: 'concepts/terraform',
},
{
type: 'doc',
label: 'MCP',
id: 'generated/integrate/mcp',
},
],
},
],
},
{
label: 'Data privacy and compliance',
type: 'category',
link: {
type: 'doc',
id: 'privacy-and-compliance/data-privacy',
},
items: [
{
type: 'doc',
label: 'Data collection and privacy',
id: 'privacy-and-compliance/data-privacy',
},
{
type: 'category',
label: 'Compliance',
link: {
type: 'doc',
id: 'privacy-and-compliance/compliance-overview',
},
items: [
{
type: 'doc',
label: 'FedRAMP',
id: 'privacy-and-compliance/fedramp',
},
{
type: 'doc',
label: 'SOC2 type II',
id: 'privacy-and-compliance/soc2',
},
{
type: 'doc',
label: 'ISO27001',
id: 'privacy-and-compliance/iso27001',
},
],
},
],
},
{
label: 'Support and community',
type: 'category',
link: {
type: 'doc',
id: 'support/troubleshooting',
},
items: [
{
type: 'doc',
id: 'support/troubleshooting',
label: 'Troubleshooting',
},
{
type: 'doc',
id: 'support/availability',
label: 'Feature availability and versioning',
},
{
type: 'doc',
id: 'support/oss-comparison',
label: 'Compare Unleash OSS and Unleash Enterprise',
},
{
label: 'Contribute to Unleash',
type: 'category',
collapsed: true,
link: {
type: 'doc',
id: 'contributing/developer-guide',
},
items: [
'contributing/developer-guide',
'contributing/client-specification',
'contributing/frontend/overview',
'contributing/backend/overview',
{
type: 'category',
label: 'Architectural decision records',
items: [
{
type: 'autogenerated',
dirName: 'contributing/ADRs',
},
],
},
],
},
],
},
{
type: 'ref',
id: 'unleash-academy/introduction',
label: 'Unleash Academy',
className: 'show-when-collapsed',
},
],
};
export default sidebars;