diff --git a/docs/guides/intelligent-control-planes/analyze-pod-logs.md b/docs/guides/intelligent-control-planes/analyze-pod-logs.md index 3356166e7..5ac4ed12f 100644 --- a/docs/guides/intelligent-control-planes/analyze-pod-logs.md +++ b/docs/guides/intelligent-control-planes/analyze-pod-logs.md @@ -10,10 +10,16 @@ Upbound SaaS coming soon. ::: + -[Upbound Crossplane][upbound-crossplane] is capable of running [Intelligent Control Planes][intelligent-controllers], which define AI-augmented functions to perform tasks. This guide walks through a use case for using AI to analyze and remediate issues for app deployments, such as out-of-memory and pods stuck in a _crashloopbackoff_. +[Upbound Crossplane][upbound-crossplane] is capable of running [Intelligent +Control Planes][intelligent-controllers], which define AI-augmented functions to +perform tasks. This guide walks through a use case for using AI to analyze and +remediate issues for app deployments, such as out-of-memory and pods stuck in a +_crashloopbackoff_. + ## Prerequisites Before you begin make sure you have: @@ -58,7 +64,9 @@ kubectl apply -f examples/admin.yaml ## Apply example deployments and watch for issues + Apply the examples to demonstrate flows for catching and remediating out-of-memory and _crashloopbackoff_ issues: + ```shell kubectl apply -f examples/oomkilled.yaml -f crashloopbackoff.yaml @@ -68,7 +76,9 @@ These workloads intentionally cause the deployed pods to exhibit respective erro ## Observe analyses and remediations -The operation function pipeline creates _Analysis_ and _Remediation_ resources based on observed behaviors. Fetch an analysis object to observe suggestions for remediation made by the LLM: +The operation function pipeline creates _Analysis_ and _Remediation_ resources +based on observed behaviors. Fetch an analysis object to observe suggestions for +remediation made by the LLM: ```shell kubectl get Analysis -n crossplane-system @@ -89,7 +99,7 @@ Read the concept documentation for [Intelligent Control Planes][intelligent-cont [upbound-crossplane]: /manuals/uxp/overview [watch-operations]: /manuals/uxp/concepts/operations/watch-operation -[intelligent-controllers]: /manuals/uxp/features/intelligent-control-planes/ +[intelligent-controllers]: /manuals/uxp/concepts/intelligent-control-planes/ [guide-repo]: https://github.com/upbound/configuration-deployment-analysis [project]: /manuals/cli/concepts/projects [intelligent-composition]: /manuals/uxp/concepts/composition/intelligent-compositions diff --git a/docs/guides/intelligent-control-planes/scale-database.md b/docs/guides/intelligent-control-planes/scale-database.md index 9d0a9868c..8dadf3897 100644 --- a/docs/guides/intelligent-control-planes/scale-database.md +++ b/docs/guides/intelligent-control-planes/scale-database.md @@ -101,7 +101,7 @@ up project stop Read the concept documentation for [Intelligent Control Planes][intelligent-controlplanes] to learn more about using AI-powered functions in your function pipelines. [upbound-crossplane]: /manuals/uxp/overview -[intelligent-controlplanes]: /manuals/uxp/features/intelligent-control-planes/ +[intelligent-controlplanes]: /manuals/uxp/concepts/intelligent-control-planes/ [guide-repo]: https://github.com/upbound/configuration-aws-database-ai [project]: /manuals/cli/concepts/projects [intelligent-composition]: /manuals/uxp/concepts/composition/intelligent-compositions diff --git a/docs/manuals/cli/concepts/_category_.json b/docs/manuals/cli/concepts/_category_.json index 03f35da3d..1f4217e9a 100644 --- a/docs/manuals/cli/concepts/_category_.json +++ b/docs/manuals/cli/concepts/_category_.json @@ -1,6 +1,6 @@ { "label": "Concepts", - "position": 4, + "position": 2, "collapsible": true, "collapsed": true } diff --git a/docs/manuals/cli/howtos/_category_.json b/docs/manuals/cli/howtos/_category_.json index caaa192f4..b44aa01b7 100644 --- a/docs/manuals/cli/howtos/_category_.json +++ b/docs/manuals/cli/howtos/_category_.json @@ -1,6 +1,6 @@ { "label": "How-tos", - "position": 3, + "position": 2, "collapsible": true, "collapsed": true } diff --git a/docs/manuals/spaces/concepts/control-planes.md b/docs/manuals/spaces/concepts/control-planes.md index d4bfa9773..1ce979802 100644 --- a/docs/manuals/spaces/concepts/control-planes.md +++ b/docs/manuals/spaces/concepts/control-planes.md @@ -215,7 +215,7 @@ Upbound gives users the ability to configure the collection of telemetry (logs, [upbound-marketplace-1]: https://marketplace.upbound.io [gitops-with-control-planes]: /manuals/spaces/howtos/cloud-spaces/gitops [connect-control-planes-to-external-services]: /manuals/platform/howtos/oidc -[spaces-documentation]: /manuals/spaces/features/secrets-management -[spaces-documentation-1]: /manuals/spaces/features/backup-and-restore +[spaces-documentation]: /manuals/spaces/howtos/secrets-management +[spaces-documentation-1]: /manuals/spaces/howtos/backup-and-restore [otel]: https://otel.com -[spaces-documentation-2]: /manuals/spaces/features/observability +[spaces-documentation-2]: /manuals/spaces/howtos/observability diff --git a/docs/manuals/spaces/concepts/groups.md b/docs/manuals/spaces/concepts/groups.md index d8b6fab22..e750fa006 100644 --- a/docs/manuals/spaces/concepts/groups.md +++ b/docs/manuals/spaces/concepts/groups.md @@ -109,7 +109,7 @@ Most Kubernetes clusters come with some set of predefined namespaces. Because a 3. Labeling a Kubernetes namespace with the label `spaces.upbound.io/group=true` -[secrets]: /manuals/spaces/features/secrets-management +[secrets]: /manuals/spaces/howtos/secrets-management [backups]: /manuals/spaces/howtos/self-hosted/workload-id/backup-restore-config/ [space]: /manuals/spaces/overview [upbound-context]: /manuals/cli/concepts/contexts diff --git a/docs/manuals/spaces/features/_category_.json b/docs/manuals/spaces/features/_category_.json deleted file mode 100644 index 462f432fd..000000000 --- a/docs/manuals/spaces/features/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "Features and capabilities", - "position": 2, - "collapsed": true -} - - diff --git a/docs/manuals/spaces/features/api-connector.md b/docs/manuals/spaces/howtos/api-connector.md similarity index 99% rename from docs/manuals/spaces/features/api-connector.md rename to docs/manuals/spaces/howtos/api-connector.md index 47f146d40..67e1daf09 100644 --- a/docs/manuals/spaces/features/api-connector.md +++ b/docs/manuals/spaces/howtos/api-connector.md @@ -279,8 +279,8 @@ spec: name: # Or --name value ``` - - + + The `ClusterAPIBinding` name must match the **Resource.Group** (name of the CustomResourceDefinition) of the CRD you want to bind. diff --git a/docs/manuals/spaces/features/backup-and-restore.md b/docs/manuals/spaces/howtos/backup-and-restore.md similarity index 100% rename from docs/manuals/spaces/features/backup-and-restore.md rename to docs/manuals/spaces/howtos/backup-and-restore.md diff --git a/docs/manuals/spaces/features/control-plane-topologies.md b/docs/manuals/spaces/howtos/control-plane-topologies.md similarity index 100% rename from docs/manuals/spaces/features/control-plane-topologies.md rename to docs/manuals/spaces/howtos/control-plane-topologies.md diff --git a/docs/manuals/spaces/features/ctp-connector.md b/docs/manuals/spaces/howtos/ctp-connector.md similarity index 100% rename from docs/manuals/spaces/features/ctp-connector.md rename to docs/manuals/spaces/howtos/ctp-connector.md diff --git a/docs/manuals/spaces/features/managed-service.md b/docs/manuals/spaces/howtos/managed-service.md similarity index 100% rename from docs/manuals/spaces/features/managed-service.md rename to docs/manuals/spaces/howtos/managed-service.md diff --git a/docs/manuals/spaces/howtos/mcp-connector-guide.md b/docs/manuals/spaces/howtos/mcp-connector-guide.md index 215bcea56..67a3c6722 100644 --- a/docs/manuals/spaces/howtos/mcp-connector-guide.md +++ b/docs/manuals/spaces/howtos/mcp-connector-guide.md @@ -158,6 +158,6 @@ In this tutorial, you: - You saw how resource requests are actually fulfilled by the control plane. -[control-plane-connector]: /manuals/spaces/features/ctp-connector +[control-plane-connector]: /manuals/spaces/howtos/ctp-connector [platform-reference-configuration]: https://marketplace.upbound.io/configurations/upbound/platform-ref-aws -[api-connector]: /manuals/spaces/features/api-connector +[api-connector]: /manuals/spaces/howtos/api-connector diff --git a/docs/manuals/spaces/features/observability.md b/docs/manuals/spaces/howtos/observability.md similarity index 100% rename from docs/manuals/spaces/features/observability.md rename to docs/manuals/spaces/howtos/observability.md diff --git a/docs/manuals/spaces/features/query-api.md b/docs/manuals/spaces/howtos/query-api.md similarity index 100% rename from docs/manuals/spaces/features/query-api.md rename to docs/manuals/spaces/howtos/query-api.md diff --git a/docs/manuals/spaces/features/secrets-management.md b/docs/manuals/spaces/howtos/secrets-management.md similarity index 100% rename from docs/manuals/spaces/features/secrets-management.md rename to docs/manuals/spaces/howtos/secrets-management.md diff --git a/docs/manuals/spaces/howtos/self-hosted/administer-features.md b/docs/manuals/spaces/howtos/self-hosted/administer-features.md index 4212342c3..bcabb5862 100644 --- a/docs/manuals/spaces/howtos/self-hosted/administer-features.md +++ b/docs/manuals/spaces/howtos/self-hosted/administer-features.md @@ -112,4 +112,4 @@ Query API is required for self-hosted deployments with connected Spaces. See the related [documentation][documentation] to enable this feature. -[documentation]: /manuals/spaces/features/query-api/ +[documentation]: /manuals/spaces/howtos/query-api/ diff --git a/docs/manuals/spaces/howtos/self-hosted/capacity-licensing.md b/docs/manuals/spaces/howtos/self-hosted/capacity-licensing.md index 9840737f8..d13d748a0 100644 --- a/docs/manuals/spaces/howtos/self-hosted/capacity-licensing.md +++ b/docs/manuals/spaces/howtos/self-hosted/capacity-licensing.md @@ -583,9 +583,9 @@ If your license shows as invalid: [space-billing]: /manuals/spaces/howtos/self-hosted/billing [CloudNativePG]: https://cloudnative-pg.io/ [backups]: https://cloudnative-pg.io/documentation/current/backup_recovery/ -[backup-restore]: /manuals/spaces/features/backup-and-restore +[backup-restore]: /manuals/spaces/howtos/backup-and-restore [sales]: https://www.upbound.io/contact [eso]: https://external-secrets.io/ -[Observability]: /manuals/spaces/features/observability +[Observability]: /manuals/spaces/howtos/observability diff --git a/docs/manuals/spaces/howtos/self-hosted/ctp-audit-logs.md b/docs/manuals/spaces/howtos/self-hosted/ctp-audit-logs.md index 1595b6c6b..4d83fae85 100644 --- a/docs/manuals/spaces/howtos/self-hosted/ctp-audit-logs.md +++ b/docs/manuals/spaces/howtos/self-hosted/ctp-audit-logs.md @@ -539,5 +539,5 @@ Delete the `SharedTelemetryConfig` to stop audit logging for all control planes kubectl delete sharedtelemetryconfig --namespace ``` -[ctp-selection]: /manuals/spaces/features/observability/#control-plane-selection +[ctp-selection]: /manuals/spaces/howtos/observability/#control-plane-selection [Auditing]: https://kubernetes.io/docs/tasks/debug/debug-cluster/audit/ diff --git a/docs/manuals/spaces/howtos/self-hosted/query-api.md b/docs/manuals/spaces/howtos/self-hosted/query-api.md index 641b498e2..96a029692 100644 --- a/docs/manuals/spaces/howtos/self-hosted/query-api.md +++ b/docs/manuals/spaces/howtos/self-hosted/query-api.md @@ -371,7 +371,7 @@ See the [Query API documentation][query-api-documentation] for more information [postgresql-setup]: #self-hosted-postgresql-configuration [up-cli-installed]: /manuals/cli/overview -[query-api-documentation]: /manuals/spaces/features/query-api +[query-api-documentation]: /manuals/spaces/howtos/query-api [helm-chart-reference]: /reference/helm-reference [kubectl-conventions]: https://kubernetes.io/docs/reference/kubectl/generated/kubectl_get/ diff --git a/docs/manuals/spaces/howtos/self-hosted/space-observability.md b/docs/manuals/spaces/howtos/self-hosted/space-observability.md index 0086e476a..7df118dfe 100644 --- a/docs/manuals/spaces/howtos/self-hosted/space-observability.md +++ b/docs/manuals/spaces/howtos/self-hosted/space-observability.md @@ -144,7 +144,7 @@ control plane: | `hostcluster.id` | `x-upbound-hostcluster-id` header | Host cluster identifier | These tags enable queries like "show all slow requests to control plane X" or -"find errors for control planes in host cluster Y". +"find errors for control planes in host cluster Y." #### Example trace @@ -242,10 +242,13 @@ upstream errors, and measure backend latency. ### Circuit breaker metrics + + Metrics tracking circuit breaker state and remaining capacity. Circuit breakers prevent cascading failures by limiting connections and concurrent requests to unhealthy upstreams. Two priority levels exist: `DEFAULT` for watch requests and `HIGH` for API requests. + | Name | Description | |--------|-------------| @@ -289,7 +292,7 @@ lifecycle including status codes and client-perceived latency. | `envoy_http_downstream_rq_time_count` | Count of downstream requests | [router-ref]: #router-ref -[observability-documentation]: /manuals/spaces/features/observability +[observability-documentation]: /manuals/spaces/howtos/observability [opentelemetry-collector]: https://opentelemetry.io/docs/collector/ [opentelemetry-operator]: https://opentelemetry.io/docs/kubernetes/operator/ [helm-chart-reference]: /reference/helm-reference diff --git a/docs/manuals/spaces/howtos/self-hosted/troubleshooting.md b/docs/manuals/spaces/howtos/self-hosted/troubleshooting.md index 913cea5a9..4ddcce5a9 100644 --- a/docs/manuals/spaces/howtos/self-hosted/troubleshooting.md +++ b/docs/manuals/spaces/howtos/self-hosted/troubleshooting.md @@ -128,5 +128,5 @@ If you try to install a Space on an existing cluster that previously had Crosspl -[observability]: /manuals/spaces/features/observability +[observability]: /manuals/spaces/howtos/observability [remove-old-crossplane-crds]: https://docs.crossplane.io/latest/guides/uninstall-crossplane/ diff --git a/docs/manuals/spaces/howtos/self-hosted/workload-id/backup-restore-config.md b/docs/manuals/spaces/howtos/self-hosted/workload-id/backup-restore-config.md index 74025885a..de70dd62b 100644 --- a/docs/manuals/spaces/howtos/self-hosted/workload-id/backup-restore-config.md +++ b/docs/manuals/spaces/howtos/self-hosted/workload-id/backup-restore-config.md @@ -379,6 +379,6 @@ Other workload identity guides are: * [Billing][billing] * [Shared Secrets][secrets] -[backup-restore-guide]: /manuals/spaces/features/backup-and-restore +[backup-restore-guide]: /manuals/spaces/howtos/backup-and-restore [billing]: /manuals/spaces/howtos/self-hosted/workload-id/billing-config [secrets]: /manuals/spaces/howtos/self-hosted/workload-id/eso-config diff --git a/docs/manuals/spaces/howtos/self-hosted/workload-id/eso-config.md b/docs/manuals/spaces/howtos/self-hosted/workload-id/eso-config.md index 605cb3afa..f74ffbb53 100644 --- a/docs/manuals/spaces/howtos/self-hosted/workload-id/eso-config.md +++ b/docs/manuals/spaces/howtos/self-hosted/workload-id/eso-config.md @@ -498,6 +498,6 @@ Other workload identity guides are: * [Backup and restore][backuprestore] * [Billing][billing] -[eso-guide]: /manuals/spaces/features/secrets-management +[eso-guide]: /manuals/spaces/howtos/secrets-management [backuprestore]: /manuals/spaces/howtos/self-hosted/workload-id/backup-restore-config [billing]: /manuals/spaces/howtos/self-hosted/workload-id/billing-config diff --git a/docs/manuals/spaces/overview.md b/docs/manuals/spaces/overview.md index 256827a97..741031d0e 100644 --- a/docs/manuals/spaces/overview.md +++ b/docs/manuals/spaces/overview.md @@ -21,6 +21,6 @@ For more information on Spaces offerings, review the [deployment modes][deployme [deployment-modes]: /manuals/spaces/concepts/deployment-modes [cloud-spaces]: /manuals/spaces/overview [self-hosted-space]: /manuals/spaces/howtos/self-hosted/dr -[features]: /manuals/spaces/features/managed-service +[features]: /manuals/spaces/howtos/managed-service [cloud-space-guide]: /manuals/spaces/overview [self-hosted-space-guide]: /manuals/spaces/howtos/self-hosted/dr diff --git a/docs/manuals/uxp/concepts/_category_.json b/docs/manuals/uxp/concepts/_category_.json index 4b8667e29..70153947a 100644 --- a/docs/manuals/uxp/concepts/_category_.json +++ b/docs/manuals/uxp/concepts/_category_.json @@ -1,6 +1,6 @@ { "label": "Concepts", - "position": 2, + "position": 3, "collapsed": true } diff --git a/docs/manuals/uxp/features/add-ons.md b/docs/manuals/uxp/concepts/add-ons.md similarity index 100% rename from docs/manuals/uxp/features/add-ons.md rename to docs/manuals/uxp/concepts/add-ons.md diff --git a/docs/manuals/uxp/features/intelligent-control-planes.md b/docs/manuals/uxp/concepts/intelligent-control-planes.md similarity index 98% rename from docs/manuals/uxp/features/intelligent-control-planes.md rename to docs/manuals/uxp/concepts/intelligent-control-planes.md index 85aaec45b..06539f4d8 100644 --- a/docs/manuals/uxp/features/intelligent-control-planes.md +++ b/docs/manuals/uxp/concepts/intelligent-control-planes.md @@ -64,7 +64,7 @@ Learn about example use cases of Intelligent Control Planes by [reading the guid [intelligent-compositions]: /manuals/uxp/concepts/composition/intelligent-compositions [intelligent-operations]: /manuals/uxp/concepts/operations/intelligent-operations [mcp-servers]: #model-context-protocol-mcp-servers -[add-ons]: /manuals/uxp/features/add-ons +[add-ons]: /manuals/uxp/concepts/add-ons [add-on-concept]: /manuals/uxp/concepts/packages/add-ons [intelligent-control-planes-guides]: /guides/intelligent-control-planes/scale-database [function-claude]: https://marketplace.upbound.io/functions/upbound/function-claude diff --git a/docs/manuals/uxp/features/_category_.json b/docs/manuals/uxp/features/_category_.json deleted file mode 100644 index 462f432fd..000000000 --- a/docs/manuals/uxp/features/_category_.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "label": "Features and capabilities", - "position": 2, - "collapsed": true -} - - diff --git a/docs/manuals/uxp/features/backup-and-restore.md b/docs/manuals/uxp/howtos/backup-and-restore.md similarity index 100% rename from docs/manuals/uxp/features/backup-and-restore.md rename to docs/manuals/uxp/howtos/backup-and-restore.md diff --git a/docs/manuals/uxp/howtos/configure-packages.md b/docs/manuals/uxp/howtos/configure-packages.md index 27b4e5a6d..2b970bd85 100644 --- a/docs/manuals/uxp/howtos/configure-packages.md +++ b/docs/manuals/uxp/howtos/configure-packages.md @@ -56,5 +56,5 @@ spec: Your UXP instance can now pull any version of an Official Package. -[official-package-support]: /manuals/uxp/features/official-package-support +[official-package-support]: /manuals/uxp/official-package-support [robot]: /manuals/platform/concepts/identity-management/robots diff --git a/docs/manuals/uxp/features/query-api.md b/docs/manuals/uxp/howtos/query-api.md similarity index 100% rename from docs/manuals/uxp/features/query-api.md rename to docs/manuals/uxp/howtos/query-api.md diff --git a/docs/manuals/uxp/features/official-package-support.md b/docs/manuals/uxp/official-package-support.md similarity index 98% rename from docs/manuals/uxp/features/official-package-support.md rename to docs/manuals/uxp/official-package-support.md index a10dbf249..b27defcce 100644 --- a/docs/manuals/uxp/features/official-package-support.md +++ b/docs/manuals/uxp/official-package-support.md @@ -1,7 +1,7 @@ --- title: Official Package support description: "Learn how to use the Official Packages on UXP" -sidebar_position: 3 +sidebar_position: 2 --- Upbound Crossplane supports running [Official Packages][official-packages] diff --git a/docs/manuals/uxp/overview.md b/docs/manuals/uxp/overview.md index e36a96fdb..3f1d86a44 100644 --- a/docs/manuals/uxp/overview.md +++ b/docs/manuals/uxp/overview.md @@ -44,9 +44,9 @@ Read the [Get Started][get-started] guide to learn how to use UXP to build your [control-plane]: /getstarted/#what-is-upbound [self-managed-uxp]: /manuals/uxp/howtos/uxp-deployment [licensing]: /manuals/uxp/howtos/license-management -[intelligent-control-planes]: /manuals/uxp/features/intelligent-control-planes -[add-ons]: /manuals/uxp/features/add-ons +[intelligent-control-planes]: /manuals/uxp/concepts/intelligent-control-planes +[add-ons]: /manuals/uxp/concepts/add-ons [concepts]: /manuals/uxp/concepts/composition/overview -[features]: /manuals/uxp/features/intelligent-control-planes +[features]: /manuals/uxp/concepts/intelligent-control-planes [guides]: /manuals/uxp/howtos/uxp-deployment [get-started]: /getstarted diff --git a/docs/reference/release-notes/spaces.md b/docs/reference/release-notes/spaces.md index cc8840ef5..5a8b3753f 100644 --- a/docs/reference/release-notes/spaces.md +++ b/docs/reference/release-notes/spaces.md @@ -30,7 +30,7 @@ Any important warnings or necessary information - **UXP v2 is now enabled by default.** Users can create UXP v2 ControlPlanes without additional configuration. This can be disabled by explicitly setting `controlPlanes.uxp.v2.enabled` to `false` if needed. - **Query API v1alpha1 has been removed.** The query API has been updated with breaking changes including removal of v1alpha1 and Freshness support. Database user permissions required for apollo have changed; please see the [documentation](https://docs.upbound.io/manuals/spaces/howtos/self-hosted/query-api/) for details. -- UXP v2 [AddOns](https://docs.upbound.io/manuals/uxp/features/add-ons/) are disabled by default. They can be enabled via `controlPlanes.uxp.enableAddons`. +- UXP v2 [AddOns](https://docs.upbound.io/manuals/uxp/concepts/add-ons/) are disabled by default. They can be enabled via `controlPlanes.uxp.enableAddons`. - VCluster has been upgraded from v0.24.1 to v0.24.2 to support Kubernetes 1.33. - Bumped supported cert-manager version to v1.18.2. diff --git a/utils/vale/styles/Upbound/spelling-exceptions.txt b/utils/vale/styles/Upbound/spelling-exceptions.txt index a5f2b55eb..606edb8ff 100644 --- a/utils/vale/styles/Upbound/spelling-exceptions.txt +++ b/utils/vale/styles/Upbound/spelling-exceptions.txt @@ -57,6 +57,7 @@ Geekdocs Goldmark Grammarly Grafana +hostname Istio istio image_uri @@ -71,6 +72,8 @@ kubeconfig's kubecontext Kyverno Kyverno's +LLM +LLMs MCP MCPs MCP's @@ -101,6 +104,7 @@ pullable Pydantic Pylance readme +remediations Rego routable Runtime @@ -128,12 +132,15 @@ syncers templatization timeframe tolerations +uninstallation +uninstall Upbound Upbound's Upjet UXP uxp vCluster +vcluster virtualized Velero VMs @@ -149,3 +156,4 @@ XRs Zendesk Upjet + diff --git a/vercel.json b/vercel.json index 63692e55c..102b2a2d3 100644 --- a/vercel.json +++ b/vercel.json @@ -412,22 +412,22 @@ }, { "source": "/deploy/control-plane-topologies(/)?", - "destination": "/manuals/spaces/features/control-plane-topologies", + "destination": "/manuals/spaces/howtos/control-plane-topologies", "permanent": true }, { "source": "/operate/observability(/)?", - "destination": "/manuals/spaces/features/observability", + "destination": "/manuals/spaces/howtos/observability", "permanent": true }, { "source": "/connect/query-api(/)?", - "destination": "/manuals/spaces/features/query-api", + "destination": "/manuals/spaces/howtos/query-api", "permanent": true }, { "source": "/operate/secrets-management(/)?", - "destination": "/manuals/spaces/features/secrets-management", + "destination": "/manuals/spaces/howtos/secrets-management", "permanent": true }, { @@ -452,7 +452,7 @@ }, { "source": "/deploy/backup-and-restore(/)?", - "destination": "/manuals/spaces/features/backup-and-restore", + "destination": "/manuals/spaces/howtos/backup-and-restore", "permanent": true }, { @@ -697,12 +697,12 @@ }, { "source": "/all-spaces/backup-and-restore(/)?", - "destination": "/manuals/spaces/features/backup-and-restore", + "destination": "/manuals/spaces/howtos/backup-and-restore", "permanent": true }, { "source": "/all-spaces/control-plane-topologies(/)?", - "destination": "/manuals/spaces/features/control-plane-topologies", + "destination": "/manuals/spaces/howtos/control-plane-topologies", "permanent": true }, { @@ -722,17 +722,17 @@ }, { "source": "/all-spaces/observability(/)?", - "destination": "/manuals/spaces/features/observability", + "destination": "/manuals/spaces/howtos/observability", "permanent": true }, { "source": "/all-spaces/query-api(/)?", - "destination": "/manuals/spaces/features/query-api", + "destination": "/manuals/spaces/howtos/query-api", "permanent": true }, { "source": "/all-spaces/secrets-management(/)?", - "destination": "/manuals/spaces/features/secrets-management", + "destination": "/manuals/spaces/howtos/secrets-management", "permanent": true }, { @@ -767,7 +767,7 @@ }, { "source": "/concepts/control-plane-connector(/)?", - "destination": "/manuals/spaces/features/ctp-connector", + "destination": "/manuals/spaces/howtos/ctp-connector", "permanent": true }, { @@ -917,12 +917,12 @@ }, { "source": "/disconnected-spaces/backup-and-restore(/)?", - "destination": "/manuals/spaces/features/backup-and-restore", + "destination": "/manuals/spaces/howtos/backup-and-restore", "permanent": true }, { "source": "/disconnected-spaces/secrets-management(/)?", - "destination": "/manuals/spaces/features/secrets-management", + "destination": "/manuals/spaces/howtos/secrets-management", "permanent": true }, { @@ -997,17 +997,17 @@ }, { "source": "/mcp/control-plane-connector(/)?", - "destination": "/manuals/spaces/features/ctp-connector", + "destination": "/manuals/spaces/howtos/ctp-connector", "permanent": true }, { "source": "/mcp/ctp-connector(/)?", - "destination": "/manuals/spaces/features/ctp-connector", + "destination": "/manuals/spaces/howtos/ctp-connector", "permanent": true }, { "source": "/operate/ctp-connector(/)?", - "destination": "/manuals/spaces/features/ctp-connector", + "destination": "/manuals/spaces/howtos/ctp-connector", "permanent": true }, { @@ -1087,7 +1087,7 @@ }, { "source": "/self-hosted-spaces/secrets-management(/)?", - "destination": "/manuals/spaces/features/secrets-management", + "destination": "/manuals/spaces/howtos/secrets-management", "permanent": true }, { @@ -1097,7 +1097,7 @@ }, { "source": "/spaces/backup-and-restore(/)?", - "destination": "/manuals/spaces/features/backup-and-restore", + "destination": "/manuals/spaces/howtos/backup-and-restore", "permanent": true }, { @@ -1107,12 +1107,12 @@ }, { "source": "/spaces/observability(/)?", - "destination": "/manuals/spaces/features/observability", + "destination": "/manuals/spaces/howtos/observability", "permanent": true }, { "source": "/spaces/secrets-management(/)?", - "destination": "/manuals/spaces/features/secrets-management", + "destination": "/manuals/spaces/howtos/secrets-management", "permanent": true }, { @@ -1152,7 +1152,7 @@ }, { "source": "/operate/api-connector(/)?", - "destination": "/manuals/spaces/features/api-connector", + "destination": "/manuals/spaces/howtos/api-connector", "permanent": true }, { @@ -1335,15 +1335,45 @@ "destination": "/guides/solutions/design/", "permanent": true }, - { + { "source": "/guides/solutions/general-idp/portal(/)?", "destination": "/guides/solutions/portal/", "permanent": true }, - { + { "source": "/guides/solutions/general-idp/deploy-apis(/)?", "destination": "/guides/solutions/deploy-apis/", "permanent": true + }, + { + "source": "/manuals/spaces/features/managed-service(/)?", + "destination": "/manuals/spaces/howtos/managed-service", + "permanent": true + }, + { + "source": "/manuals/uxp/features/add-ons(/)?", + "destination": "/manuals/uxp/concepts/add-ons", + "permanent": true + }, + { + "source": "/manuals/uxp/features/intelligent-control-planes(/)?", + "destination": "/manuals/uxp/concepts/intelligent-control-planes", + "permanent": true + }, + { + "source": "/manuals/uxp/features/backup-and-restore(/)?", + "destination": "/manuals/uxp/howtos/backup-and-restore", + "permanent": true + }, + { + "source": "/manuals/uxp/features/query-api(/)?", + "destination": "/manuals/uxp/howtos/query-api", + "permanent": true + }, + { + "source": "/manuals/uxp/features/official-package-support(/)?", + "destination": "/manuals/uxp/official-package-support", + "permanent": true } ] }