diff --git a/AGENTS.md b/AGENTS.md
index ccd4e0ac7e..dc615efa5e 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -186,6 +186,8 @@ import MyPartial from "@site/src/components/Shared/kratos/index.mdx"
- Can’t find a page → check `docs/network`, `docs/oel`, `docs/oss`
- Duplicate content → always set canonical URLs
- Adding a page → update the correct sidebar
+- Deleting a page → never delete without adding a Vercel redirect from the old
+ URL to a relevant replacement
## When in Doubt
diff --git a/docs/_common/install.mdx b/docs/_common/install.mdx
deleted file mode 100644
index 3b49621fba..0000000000
--- a/docs/_common/install.mdx
+++ /dev/null
@@ -1,82 +0,0 @@
-Ory software runs on any operating system (FreeBSD, macOS, Linux, Windows, ...) and supports all major CPU platforms (ARM64,
-ARMv7, x86_64, x86, ...).
-
-Ory provides pre-built binaries, Docker Images and support various package managers:
-
-```mdx-code-block
-import TOCInline from '@theme/TOCInline'
-
-
-```
-
-## Linux
-
-```mdx-code-block
-import Linux from '@site/src/components/Install/Linux'
-
-
-```
-
-## macOS
-
-```mdx-code-block
-import MacOS from '@site/src/components/Install/MacOS'
-
-
-```
-
-## Windows
-
-```mdx-code-block
-import Windows from '@site/src/components/Install/Windows'
-
-
-```
-
-## Docker
-
-```mdx-code-block
-import Docker from '@site/src/components/Install/Docker'
-
-
-```
-
-## Kubernetes
-
-A list of available Helm Charts for Kubernetes can be found at [k8s.ory.com/helm](https://k8s.ory.com/helm/).
-
-## Download Binaries
-
-
- You can download the client and server binaries on our{" "}
- Github releases page. No installer is available. You have to add
- the binary to the PATH in your environment yourself, for example by putting it into
- /usr/local/bin or something comparable.
-
-
-Once installed, you should be able to run:
-
-```mdx-code-block
-import CodeBlock from '@theme/CodeBlock'
-
-{`${props.repo} help`}
-```
-
-## Building from source
-
-If you wish to compile the binary yourself, you need to install and set up [Go 1.17+](https://golang.org/) and add `$GOPATH/bin`
-to your `$PATH`.
-
-:::danger
-
-Please note that this will check out the latest commit, which might be not yet released and unstable.
-
-:::
-
-```mdx-code-block
-{`git clone https://github.com/ory/${props.repo}.git
-cd ${props.repo}
-go mod download
-go install -tags sqlite,json1,hsm .
-$(go env GOPATH)/bin/${props.repo} help`}
-```
diff --git a/docs/hydra/self-hosted/install.mdx b/docs/hydra/self-hosted/install.mdx
index 9f73fce352..ae3397dd7c 100644
--- a/docs/hydra/self-hosted/install.mdx
+++ b/docs/hydra/self-hosted/install.mdx
@@ -10,7 +10,7 @@ import Secure from '../../_common/secure.mdx'
```
```mdx-code-block
-import Install from '../../_common/install.mdx'
+import Install from '@site/src/components/Shared/install-oel.mdx'
```
diff --git a/docs/identities/get-started/setup.mdx b/docs/identities/get-started/setup.mdx
index 357b8a5030..0591671e91 100644
--- a/docs/identities/get-started/setup.mdx
+++ b/docs/identities/get-started/setup.mdx
@@ -9,6 +9,9 @@ import Tabs from "@theme/Tabs"
import TabItem from "@theme/TabItem"
import CodeBlock from '@theme/CodeBlock'
import { FrameworkCodeTabs } from '@site/src/components/GuidesComponents'
+import Linux from '@site/src/components/Install/Linux'
+import MacOS from '@site/src/components/Install/MacOS'
+import Windows from '@site/src/components/Install/Windows'
import nextDevSetup from '!!raw-loader!./_common/code-examples/nextjs/ory.ts'
import goSetup from '!!raw-loader!./_common/code-examples/go/ory_client.go'
import jsDevSetup from '!!raw-loader!./_common/code-examples/js/setupDev.js'
@@ -69,16 +72,13 @@ For local development, you'll need to use Ory Tunnel to connect your local appli
values={[
{label: 'macOS', value: 'macos'},
{label: 'Linux', value: 'linux'},
+ {label: 'Windows', value: 'windows'},
]}>
```
-```shell
-# Install Ory CLI using Homebrew
-brew install ory/tap/cli
-
-# Verify installation
-ory help
+```mdx-code-block
+
```
```mdx-code-block
@@ -86,6 +86,19 @@ ory help
```
+```mdx-code-block
+
+```
+
+```mdx-code-block
+
+
+```
+
+```mdx-code-block
+
+```
+
```mdx-code-block
@@ -94,10 +107,13 @@ ory help
After installing the CLI, start the tunnel to connect your local application with Ory's APIs:
```shell
-# Start the tunnel (replace with your project id)
-ory tunnel --project $PROJECT_ID http://localhost:3000
+ory tunnel --project $ORY_PROJECT_ID --port 4000 http://localhost:3000
```
+This proxies Ory's APIs on `http://localhost:4000` and forwards all other traffic to your application at `http://localhost:3000`.
+Running the tunnel is required for local development because Ory's session cookies must be set on the same domain as your
+application.
+
:::tip
To learn more about the Ory Tunnel, read the [dedicated section of the Ory CLI documentation](../../guides/cli/proxy-and-tunnel).
diff --git a/docs/keto/guides/upgrade.mdx b/docs/keto/guides/upgrade.mdx
deleted file mode 100644
index 42cc857d82..0000000000
--- a/docs/keto/guides/upgrade.mdx
+++ /dev/null
@@ -1,34 +0,0 @@
----
-id: upgrade
-title: Apply upgrades
----
-
-Follow this guide when upgrading Ory Keto to a newer version.
-
-:::danger
-
-Back up your data! Applying upgrades can lead to data loss if handled incorrectly.
-
-:::
-
-1. Review breaking changes. Visit the [CHANGELOG.md](https://github.com/ory/keto/blob/master/CHANGELOG.md) to see if breaking
- changes have been introduced in the version you are upgrading to.
-1. Backup your data.
-1. Update the [Ory Keto SDK](../sdk/01_overview.md) if used in your application.
-1. [Install](../install.mdx) the new version of Ory Keto.
-1. Run [`keto migrate`](../cli/keto-migrate.md) to run the SQL migrations to the new database schema.
-
-Should you run into problems with the upgrade, consider a stepped upgrade and please visit the community
-[chat](https://slack.ory.com/) or start a [discussion](https://github.com/ory/keto/discussions).
-
-## Migrating to Keto 0.7
-
-Ory Keto v0.6 used the table-separated namespaces database schema described in the Google Zanzibar paper. However, we found for
-various reasons outlined in that this isn't ideal for Keto. Visit [migrating to Keto v0.7](./v0.7-migration) guide for more
-information
-
-## Migrating Keto policies from 0.5 version
-
-In [Ory Keto 0.6](https://github.com/ory/keto/blob/v0.6.0-alpha.1/CHANGELOG.md#060-alpha1pre0-2021-04-01) Ory Access Control
-Policy DSL modeled after AWS IAM Policies became obsolete. Visit [migrating legacy policies](./migrating-legacy-policies) guide
-for more information.
diff --git a/docs/keto/install.mdx b/docs/keto/install.mdx
deleted file mode 100644
index 4341925d6b..0000000000
--- a/docs/keto/install.mdx
+++ /dev/null
@@ -1,16 +0,0 @@
----
-id: install
-title: Installation
----
-
-```mdx-code-block
-import Secure from '../_common/secure.mdx'
-
-
-```
-
-```mdx-code-block
-import Install from '../_common/install.mdx'
-
-
-```
diff --git a/docs/keto/quickstart.mdx b/docs/keto/quickstart.mdx
deleted file mode 100644
index bf5d69fba8..0000000000
--- a/docs/keto/quickstart.mdx
+++ /dev/null
@@ -1,174 +0,0 @@
----
-title: "Quickstart: Cat Videos Example"
----
-
-```mdx-code-block
-import Help from '@site/docs/_common/need-selfhosted-support.mdx'
-
-
-```
-
-This example describes a video sharing service. The individual videos are organized in directories. Every directory has an owner
-and every video has the same owner as it's parent directory. The owner has elevated privileges about the video files that aren't
-modeled individually in Ory Keto. The only other privilege modeled in this example is "view access." Every owner has view access
-to their objects, and this privilege can be granted to other users as well. The video sharing application interprets the special
-`*` user ID as any user, including anonymous users. Note that Ory Keto doesn't interpret this subject any differently from other
-subjects. It also doesn't know anything about directory structures or induced ownership.
-
-The "Keto client" is the application interacting with Keto. In this case we refer to the video sharing service backend as the Keto
-client.
-
-## Starting the example
-
-First, [install Keto](./install.mdx).
-
-Now you can start the example using either `docker-compose` or a bash script. The bash script requires you to have the `keto`
-binary in your `$PATH`.
-
-Alternatively, use Docker to automatically get the required images.
-
-```shell
-# clone the repository if you don't have it yet
-git clone git@github.com:ory/keto.git && cd keto
-
-# Alternatively, you can use 'https' to clone if ssh cloning gives permission denied error. (Configure ssh keys in github to resolve the issue.)
-git clone https://github.com/ory/keto.git && cd keto
-
-docker-compose -f contrib/cat-videos-example/docker-compose.yml up
-# or
-./contrib/cat-videos-example/up.sh
-
-# output: all initially created relationships
-
-# NAMESPACE OBJECT RELATION NAME SUBJECT
-# Video /cats/1.mp4 owner Video:/cats#owner
-# Video /cats/1.mp4 view Video:/cats/1.mp4#owner
-# Video /cats/1.mp4 view User:*
-# Video /cats/2.mp4 owner Video:/cats#owner
-# Video /cats/2.mp4 view Video:/cats/2.mp4#owner
-# Video /cats owner User:Alice
-# Video /cats view Video:/cats#owner
-```
-
-## State of the system
-
-At the current state only `User:Alice` has added videos. Both videos are in the `/cats` directory owned by `User:Alice`. The file
-`File:/cats/1.mp4` can be viewed by anyone (`User:*`), while `Video:/cats/2.mp4` has no extra sharing options, and can therefore
-only be viewed by its owner, `User:Alice`. The relationship definitions are located in the
-`contrib/cat-videos-example/relation-tuples` directory.
-
-## Simulating the video sharing application
-
-Now you can open a second terminal to run the queries against, just like the video service client would do. In this example we
-will use the Keto CLI client.
-
-If you want to run the Keto CLI within **Docker**, set the alias
-
-```shell
-alias keto="docker run -it --network cat-videos-example_default -e KETO_READ_REMOTE=\"keto:4466\" oryd/keto:v25.4.0"
-```
-
-in your terminal session. Alternatively, you need to set the remote endpoint so that the Keto CLI knows where to connect to (not
-necessary if using Docker):
-
-```shell
-export KETO_READ_REMOTE="127.0.0.1:4466"
-```
-
-### Check incoming requests
-
-First off, we get a request by an anonymous user that would like to view `/cats/2.mp4`. The client now has to ask Keto if that
-operation should be allowed or denied.
-
-```shell
-# Is "*" allowed to "view" the object "videos":"/cats/2.mp4"?
-keto check "User:*" view Video /cats/2.mp4 --insecure-disable-transport-security
-# output:
-
-# Denied
-```
-
-We already discussed that this request should be denied, but it's always good to see this in action.
-
-Now `User:Alice` wants to change some view permissions of `Video:/cats/1.mp4`. For this, the video service application has to show
-all users that are allowed to view the video. It uses Keto's [expand-API](./concepts/25_api-overview.mdx#expand-subject-sets) to
-get these data:
-
-```shell
-# Who is allowed to "view" the object "videos":"/cats/2.mp4"?
-keto expand view Video /cats/1.mp4 --insecure-disable-transport-security
-# output:
-```
-
-```keto-tuples
-# or :#@Video:/cats/1.mp4#view
-# ├──∋ :#@User:*️
-# └──or :#@Video:/cats/1.mp4#owner
-# └──or :#@Video:/cats#owner
-# └──∋ :#@User:Alice️
-```
-
-Here we can see the full subject set expansion. The second branch
-
-```keto-tuples
-Video:/cats/1.mp4#owner
-```
-
-indicates that every owner of the object is allowed to view the Object.
-
-In the next step we see that the object's owners are the owners of `Video:/cats`
-
-```keto-tuples
-Video:/cats#owner
-```
-
-On the last line, we see that `User:Alice` is the owner of `Video:/cats`.
-
-Note that there is no direct relationship that would grant `Alice` view access on `/cats/1.mp4` as this is indirectly defined via
-the ownership relation.
-
-The special user `User:*` on the other hand was directly granted view access on the object, as it's a first-level leaf of the
-expansion tree. The following CLI command proves that this is the case:
-
-```shell
-# Is "*" allowed to "view" the object "Video":"/cats/1.mp4"?
-keto check "User:*" view Video /cats/1.mp4 --insecure-disable-transport-security
-# output:
-
-# Allowed
-```
-
-```mdx-code-block
-import Mermaid from "@site/src/theme/Mermaid"
-
- r2
- r1 ----- sub1(["User:Alice"])
- r1 -.-> r4
- obj1 ---- r4((owner))
- r3 --- all(["User:* (anyone)"])
- r4 -.-> r3
- obj1[Video:/cats/1.mp4] --- r3((view))
- obj2 --- r6((view))
- r1 -.-> r5
- obj2[Video:/cats/2.mp4] ---- r5((owner))
- r5 -.-> r6
- style sub1 fill:green,color:white
- style all fill:green,color:white
- style r1 fill:darkgreen,color:white
- style r2 fill:darkgreen,color:white
- style r3 fill:darkgreen,color:white
- style r4 fill:darkgreen,color:white
- style r5 fill:darkgreen,color:white
- style r6 fill:darkgreen,color:white
-`}
-/>
-```
-
-
-
-Updating the view permissions will be added here at a later stage.
diff --git a/docs/kratos/guides/upgrade.mdx b/docs/kratos/guides/upgrade.mdx
deleted file mode 100644
index 5ca412d93e..0000000000
--- a/docs/kratos/guides/upgrade.mdx
+++ /dev/null
@@ -1,37 +0,0 @@
----
-id: upgrade
-title: Apply upgrades
----
-
-Follow this guide when upgrading Ory Kratos to a newer version.
-
-:::danger
-
-Back up your data! Applying upgrades can lead to data loss if handled incorrectly.
-
-:::
-
-1. Review breaking changes. Visit the [CHANGELOG.md](https://github.com/ory/kratos/blob/master/CHANGELOG.md) to see if breaking
- changes have been introduced in the version you are upgrading to.
-1. Backup your data.
-1. Update the [Ory Kratos SDK](../sdk/01_overview.md) if used in your application.
-1. [Install](../install.mdx) the new version of Ory Kratos.
-1. Run [`kratos migrate sql`](../cli/kratos-migrate-sql.md) to run the SQL migrations to the new database schema.
-1. If you are upgrading to a version that introduces phone number normalization, run `kratos migrate normalize-phone-numbers`
- after the new version is deployed and serving traffic. This rewrites existing phone identifiers to E.164 format. See the
- [phone normalization guide](./normalize-phone-numbers.mdx) for the recommended rollout sequence.
-
-Should you run into problems with the upgrade, consider a stepped upgrade and please visit the community
-[chat](https://slack.ory.com/) or start a [discussion](https://github.com/ory/kratos/discussions).
-
-#### v0.7 Changed cookie behavior
-
-In [Ory Kratos v0.7](https://github.com/ory/kratos/blob/v0.7.0-alpha.1/CHANGELOG.md#breaking-changes) the cookie behavior has
-changed. Review
-[changes in the exemplary self-service user interface](https://github.com/ory/kratos-selfservice-ui-node/commit/e7fa292968111e06401fcfc9b1dd0e8e285a4d87).
-Visit the [Cookie Settings](https://www.ory.com/kratos/docs/guides/multi-domain-cookies/#cookies) document for more information.
-
-#### v0.10.0 Authenticator assurance level (AAL) in session
-
-Since [Ory Kratos v0.10.0](https://github.com/ory/kratos/blob/v0.10.0/CHANGELOG.md#breaking-changes), the AAL is part of the
-session. When upgrading, sessions need to be reissued to observe a higher AAL due to multi-factor methods.
diff --git a/docs/kratos/install.mdx b/docs/kratos/install.mdx
deleted file mode 100644
index fa0bec39d7..0000000000
--- a/docs/kratos/install.mdx
+++ /dev/null
@@ -1,16 +0,0 @@
----
-id: install
-title: Installation
----
-
-```mdx-code-block
-import Secure from '../_common/secure.mdx'
-
-
-```
-
-```mdx-code-block
-import Install from '../_common/install.mdx'
-
-
-```
diff --git a/docs/oathkeeper/install.mdx b/docs/oathkeeper/install.mdx
index 3fd5477d2c..1d018c47e8 100644
--- a/docs/oathkeeper/install.mdx
+++ b/docs/oathkeeper/install.mdx
@@ -4,7 +4,7 @@ title: Installation
---
```mdx-code-block
-import Install from '../_common/install.mdx'
+import Install from '@site/src/components/Shared/install-oss.mdx'
```
diff --git a/docs/oel/keto/guides/upgrade.mdx b/docs/oel/keto/guides/upgrade.mdx
new file mode 100644
index 0000000000..4d04a5591c
--- /dev/null
+++ b/docs/oel/keto/guides/upgrade.mdx
@@ -0,0 +1,14 @@
+---
+id: upgrade
+title: Apply upgrades
+---
+
+
+
+
+
+```mdx-code-block
+import MyPartial from "@site/src/components/Shared/keto/guides/upgrade.mdx"
+
+
+```
diff --git a/docs/oel/keto/install.mdx b/docs/oel/keto/install.mdx
new file mode 100644
index 0000000000..aeeadbc2b2
--- /dev/null
+++ b/docs/oel/keto/install.mdx
@@ -0,0 +1,14 @@
+---
+id: install
+title: Installation
+---
+
+
+
+
+
+```mdx-code-block
+import Install from '@site/src/components/Shared/install-oel.mdx'
+
+
+```
diff --git a/docs/oel/kratos/guides/upgrade.mdx b/docs/oel/kratos/guides/upgrade.mdx
new file mode 100644
index 0000000000..cbcb1fd94b
--- /dev/null
+++ b/docs/oel/kratos/guides/upgrade.mdx
@@ -0,0 +1,14 @@
+---
+id: upgrade
+title: Apply upgrades
+---
+
+
+
+
+
+```mdx-code-block
+import MyPartial from "@site/src/components/Shared/kratos/guides/upgrade.mdx"
+
+
+```
diff --git a/docs/oel/kratos/install.mdx b/docs/oel/kratos/install.mdx
new file mode 100644
index 0000000000..91a352e1b4
--- /dev/null
+++ b/docs/oel/kratos/install.mdx
@@ -0,0 +1,14 @@
+---
+id: install
+title: Installation
+---
+
+
+
+
+
+```mdx-code-block
+import Install from '@site/src/components/Shared/install-oel.mdx'
+
+
+```
diff --git a/docs/oss/keto/guides/upgrade.mdx b/docs/oss/keto/guides/upgrade.mdx
new file mode 100644
index 0000000000..4d04a5591c
--- /dev/null
+++ b/docs/oss/keto/guides/upgrade.mdx
@@ -0,0 +1,14 @@
+---
+id: upgrade
+title: Apply upgrades
+---
+
+
+
+
+
+```mdx-code-block
+import MyPartial from "@site/src/components/Shared/keto/guides/upgrade.mdx"
+
+
+```
diff --git a/docs/oss/keto/install.mdx b/docs/oss/keto/install.mdx
new file mode 100644
index 0000000000..c2bd0e56a3
--- /dev/null
+++ b/docs/oss/keto/install.mdx
@@ -0,0 +1,20 @@
+---
+id: install
+title: Installation
+---
+
+
+
+
+
+```mdx-code-block
+import Secure from '@site/docs/_common/secure.mdx'
+
+
+```
+
+```mdx-code-block
+import Install from '@site/src/components/Shared/install-oss.mdx'
+
+
+```
diff --git a/docs/oss/kratos/guides/upgrade.mdx b/docs/oss/kratos/guides/upgrade.mdx
new file mode 100644
index 0000000000..cbcb1fd94b
--- /dev/null
+++ b/docs/oss/kratos/guides/upgrade.mdx
@@ -0,0 +1,14 @@
+---
+id: upgrade
+title: Apply upgrades
+---
+
+
+
+
+
+```mdx-code-block
+import MyPartial from "@site/src/components/Shared/kratos/guides/upgrade.mdx"
+
+
+```
diff --git a/docs/oss/kratos/install.mdx b/docs/oss/kratos/install.mdx
new file mode 100644
index 0000000000..5cb4b316e1
--- /dev/null
+++ b/docs/oss/kratos/install.mdx
@@ -0,0 +1,20 @@
+---
+id: install
+title: Installation
+---
+
+
+
+
+
+```mdx-code-block
+import Secure from '@site/docs/_common/secure.mdx'
+
+
+```
+
+```mdx-code-block
+import Install from '@site/src/components/Shared/install-oss.mdx'
+
+
+```
diff --git a/docs/oss/upgrading.mdx b/docs/oss/upgrading.mdx
index e437960dd6..7b47cddcd1 100644
--- a/docs/oss/upgrading.mdx
+++ b/docs/oss/upgrading.mdx
@@ -14,7 +14,7 @@ changes. We know that breaking changes are annoying so we want to make upgrading
We document changelogs and upgrade guides for Ory services:
-- Ory Kratos: [upgrade guide](../kratos/guides/upgrade), [changelog](https://github.com/ory/kratos/blob/master/CHANGELOG.md)
+- Ory Kratos: [upgrade guide](./kratos/guides/upgrade), [changelog](https://github.com/ory/kratos/blob/master/CHANGELOG.md)
- Ory Hydra: [upgrade guide](https://github.com/ory/hydra/blob/master/UPGRADE.md),
[changelog](https://github.com/ory/hydra/blob/master/CHANGELOG.md)
- Ory Oathkeeper: [upgrade guide](https://github.com/ory/oathkeeper/blob/master/UPGRADE.md),
diff --git a/docs/solutions/overview.mdx b/docs/solutions/overview.mdx
index 7321bd3a25..b784e07acc 100644
--- a/docs/solutions/overview.mdx
+++ b/docs/solutions/overview.mdx
@@ -18,7 +18,7 @@ business needs.
@@ -27,7 +27,7 @@ business needs.
@@ -36,7 +36,7 @@ business needs.
diff --git a/sidebars-oel.ts b/sidebars-oel.ts
index e9bf9182e9..82a5342816 100644
--- a/sidebars-oel.ts
+++ b/sidebars-oel.ts
@@ -50,7 +50,7 @@ const oelSidebar = [
className: "sidebar-icon sidebar-icon-kratos",
items: [
"oel/kratos/intro",
- "kratos/install",
+ "oel/kratos/install",
"self-hosted/oel/kratos/upgrade",
"self-hosted/oel/kratos/changelog",
"oel/kratos/quickstart",
@@ -78,7 +78,7 @@ const oelSidebar = [
items: [
"kratos/guides/docker",
"kratos/guides/deploy-kratos-example",
- "kratos/guides/upgrade",
+ "oel/kratos/guides/upgrade",
"kratos/guides/production",
"kratos/guides/multi-tenancy-multitenant",
"oel/kratos/scalability",
@@ -130,10 +130,10 @@ const oelSidebar = [
className: "sidebar-icon sidebar-icon-keto",
items: [
"oel/keto/index",
- "keto/install",
+ "oel/keto/install",
"keto/guides/v0.7-migration",
"keto/guides/migrating-legacy-policies",
- "keto/guides/upgrade",
+ "oel/keto/guides/upgrade",
"oel/keto/quickstart",
"self-hosted/oel/keto/changelog",
{
diff --git a/sidebars-oss.ts b/sidebars-oss.ts
index 6f6ae58d1c..1091962b4f 100644
--- a/sidebars-oss.ts
+++ b/sidebars-oss.ts
@@ -58,9 +58,8 @@ const ossSidebar = [
className: "sidebar-icon sidebar-icon-kratos",
items: [
"oss/kratos/intro",
- "kratos/install",
- "kratos/guides/upgrade",
- "self-hosted/oel/kratos/changelog",
+ "oss/kratos/install",
+ "oss/kratos/guides/upgrade",
"oss/kratos/quickstart",
{
type: "category",
@@ -86,7 +85,7 @@ const ossSidebar = [
items: [
"kratos/guides/docker",
"kratos/guides/deploy-kratos-example",
- "kratos/guides/upgrade",
+ "oss/kratos/guides/upgrade",
"kratos/guides/production",
"kratos/guides/multi-tenancy-multitenant",
"oel/kratos/scalability",
@@ -138,12 +137,11 @@ const ossSidebar = [
className: "sidebar-icon sidebar-icon-keto",
items: [
"oss/keto/index",
- "keto/install",
+ "oss/keto/install",
"keto/guides/v0.7-migration",
"keto/guides/migrating-legacy-policies",
- "keto/guides/upgrade",
+ "oss/keto/guides/upgrade",
"oss/keto/quickstart",
- "self-hosted/oel/keto/changelog",
{
type: "category",
label: "Configuration",
@@ -187,7 +185,6 @@ const ossSidebar = [
"self-hosted/oel/oauth2/revert-database-migrations",
"self-hosted/oel/oauth2/upgrade",
"hydra/self-hosted/upgrade",
- "self-hosted/oel/oauth2/changelog",
"oel/hydra/quickstart",
{
type: "category",
@@ -255,7 +252,6 @@ const ossSidebar = [
items: [
"oss/polis/index",
"polis/install",
- "self-hosted/oel/polis/changelog",
"oel/polis/quickstart",
{
type: "category",
@@ -432,7 +428,6 @@ const ossSidebar = [
"oss/oathkeeper/index",
"oathkeeper/install",
"self-hosted/oel/oathkeeper/upgrade-oathkeeper",
- "self-hosted/oel/oathkeeper/changelog",
{
type: "category",
label: "Configure",
diff --git a/src/components/Shared/install-oel.mdx b/src/components/Shared/install-oel.mdx
new file mode 100644
index 0000000000..c6f5126424
--- /dev/null
+++ b/src/components/Shared/install-oel.mdx
@@ -0,0 +1,55 @@
+Ory software runs on any operating system (FreeBSD, macOS, Linux, Windows, ...)
+and supports all major CPU platforms (ARM64, ARMv7, x86_64, x86, ...).
+
+```mdx-code-block
+import Tabs from '@theme/Tabs'
+import TabItem from '@theme/TabItem'
+import Linux from '@site/src/components/Install/Linux'
+import MacOS from '@site/src/components/Install/MacOS'
+import Windows from '@site/src/components/Install/Windows'
+import Docker from '@site/src/components/Install/Docker'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A list of available Helm Charts for Kubernetes can be found at k8s.ory.com/helm.
+
+
+```
+
+## Download Binaries
+
+
+ You can download the client and server binaries on our{" "}
+ Github releases{" "}
+ page. No installer is available. You have to add the binary to the PATH in
+ your environment yourself, for example by putting it into
+ /usr/local/bin or something comparable.
+
+
+Once installed, you should be able to run:
+
+```mdx-code-block
+import CodeBlock from '@theme/CodeBlock'
+
+{`${props.repo} help`}
+```
diff --git a/src/components/Shared/install-oss.mdx b/src/components/Shared/install-oss.mdx
new file mode 100644
index 0000000000..c0284f4284
--- /dev/null
+++ b/src/components/Shared/install-oss.mdx
@@ -0,0 +1,75 @@
+Ory software runs on any operating system (FreeBSD, macOS, Linux, Windows, ...)
+and supports all major CPU platforms (ARM64, ARMv7, x86_64, x86, ...).
+
+```mdx-code-block
+import Tabs from '@theme/Tabs'
+import TabItem from '@theme/TabItem'
+import Linux from '@site/src/components/Install/Linux'
+import MacOS from '@site/src/components/Install/MacOS'
+import Windows from '@site/src/components/Install/Windows'
+import Docker from '@site/src/components/Install/Docker'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ A list of available Helm Charts for Kubernetes can be found at k8s.ory.com/helm.
+
+
+```
+
+## Download Binaries
+
+
+ You can download the client and server binaries on our{" "}
+ Github releases{" "}
+ page. No installer is available. You have to add the binary to the PATH in
+ your environment yourself, for example by putting it into
+ /usr/local/bin or something comparable.
+
+
+Once installed, you should be able to run:
+
+```mdx-code-block
+import CodeBlock from '@theme/CodeBlock'
+
+{`${props.repo} help`}
+```
+
+## Building from source
+
+If you wish to compile the binary yourself, you need to install and set up
+[Go 1.17+](https://golang.org/) and add `$GOPATH/bin` to your `$PATH`.
+
+:::danger
+
+Please note that this will check out the latest commit, which might be not yet
+released and unstable.
+
+:::
+
+```mdx-code-block
+{`git clone https://github.com/ory/${props.repo}.git
+cd ${props.repo}
+go mod download
+go install -tags sqlite,json1,hsm .
+$(go env GOPATH)/bin/${props.repo} help`}
+```
diff --git a/src/components/Shared/keto/guides/upgrade.mdx b/src/components/Shared/keto/guides/upgrade.mdx
new file mode 100644
index 0000000000..b73ed3b795
--- /dev/null
+++ b/src/components/Shared/keto/guides/upgrade.mdx
@@ -0,0 +1,39 @@
+Follow this guide when upgrading Ory Keto to a newer version.
+
+:::danger
+
+Back up your data! Applying upgrades can lead to data loss if handled
+incorrectly.
+
+:::
+
+1. Review breaking changes. Visit the
+ [CHANGELOG.md](https://github.com/ory/keto/blob/master/CHANGELOG.md) to see
+ if breaking changes have been introduced in the version you are upgrading to.
+1. Backup your data.
+1. Update the [Ory Keto SDK](/docs/keto/sdk/overview) if used in your
+ application.
+1. Install the new version
+ of Ory Keto.
+1. Run [`keto migrate`](/docs/keto/cli/keto-migrate) to run the SQL migrations
+ to the new database schema.
+
+Should you run into problems with the upgrade, consider a stepped upgrade and
+please visit the community [chat](https://slack.ory.com/) or start a
+[discussion](https://github.com/ory/keto/discussions).
+
+## Migrating to Keto 0.7
+
+Ory Keto v0.6 used the table-separated namespaces database schema described in
+the Google Zanzibar paper. However, we found for various reasons outlined in
+that this isn't ideal for Keto. Visit
+[migrating to Keto v0.7](/docs/keto/guides/v0.7-migration) guide for more
+information
+
+## Migrating Keto policies from 0.5 version
+
+In
+[Ory Keto 0.6](https://github.com/ory/keto/blob/v0.6.0-alpha.1/CHANGELOG.md#060-alpha1pre0-2021-04-01)
+Ory Access Control Policy DSL modeled after AWS IAM Policies became obsolete.
+Visit [migrating legacy policies](/docs/keto/guides/migrating-legacy-policies)
+guide for more information.
diff --git a/src/components/Shared/keto/quickstart.mdx b/src/components/Shared/keto/quickstart.mdx
index 2181bb9fb6..9af1fb797f 100644
--- a/src/components/Shared/keto/quickstart.mdx
+++ b/src/components/Shared/keto/quickstart.mdx
@@ -20,7 +20,7 @@ refer to the video sharing service backend as the Keto client.
## Starting the example
-First, [install Keto](../../../../docs/keto/install).
+First, install Keto.
Now you can start the example using either `docker-compose` or a bash script.
The bash script requires you to have the `keto` binary in your `$PATH`.
diff --git a/src/components/Shared/kratos/guides/upgrade.mdx b/src/components/Shared/kratos/guides/upgrade.mdx
new file mode 100644
index 0000000000..814da57bdd
--- /dev/null
+++ b/src/components/Shared/kratos/guides/upgrade.mdx
@@ -0,0 +1,46 @@
+Follow this guide when upgrading Ory Kratos to a newer version.
+
+:::danger
+
+Back up your data! Applying upgrades can lead to data loss if handled
+incorrectly.
+
+:::
+
+1. Review breaking changes. Visit the
+ [CHANGELOG.md](https://github.com/ory/kratos/blob/master/CHANGELOG.md) to see
+ if breaking changes have been introduced in the version you are upgrading to.
+1. Backup your data.
+1. Update the [Ory Kratos SDK](/docs/kratos/sdk/overview) if used in your
+ application.
+1. Install the new version
+ of Ory Kratos.
+1. Run [`kratos migrate sql`](/docs/kratos/cli/kratos-migrate-sql) to run the
+ SQL migrations to the new database schema.
+1. If you are upgrading to a version that introduces phone number normalization,
+ run `kratos migrate normalize-phone-numbers` after the new version is
+ deployed and serving traffic. This rewrites existing phone identifiers to
+ E.164 format. See the
+ [phone normalization guide](/docs/kratos/guides/normalize-phone-numbers) for
+ the recommended rollout sequence.
+
+Should you run into problems with the upgrade, consider a stepped upgrade and
+please visit the community [chat](https://slack.ory.com/) or start a
+[discussion](https://github.com/ory/kratos/discussions).
+
+#### v0.7 Changed cookie behavior
+
+In
+[Ory Kratos v0.7](https://github.com/ory/kratos/blob/v0.7.0-alpha.1/CHANGELOG.md#breaking-changes)
+the cookie behavior has changed. Review
+[changes in the exemplary self-service user interface](https://github.com/ory/kratos-selfservice-ui-node/commit/e7fa292968111e06401fcfc9b1dd0e8e285a4d87).
+Visit the
+[Cookie Settings](https://www.ory.com/kratos/docs/guides/multi-domain-cookies/#cookies)
+document for more information.
+
+#### v0.10.0 Authenticator assurance level (AAL) in session
+
+Since
+[Ory Kratos v0.10.0](https://github.com/ory/kratos/blob/v0.10.0/CHANGELOG.md#breaking-changes),
+the AAL is part of the session. When upgrading, sessions need to be reissued to
+observe a higher AAL due to multi-factor methods.
diff --git a/vercel.json b/vercel.json
index f1c8c78264..48e788c73c 100644
--- a/vercel.json
+++ b/vercel.json
@@ -107,6 +107,31 @@
"destination": "https://www.ory.com/docs/network/keto",
"permanent": false
},
+ {
+ "source": "/docs/kratos/install",
+ "destination": "/docs/oel/kratos/install",
+ "permanent": true
+ },
+ {
+ "source": "/docs/keto/install",
+ "destination": "/docs/oel/keto/install",
+ "permanent": true
+ },
+ {
+ "source": "/docs/kratos/guides/upgrade",
+ "destination": "/docs/oss/kratos/guides/upgrade",
+ "permanent": true
+ },
+ {
+ "source": "/docs/keto/guides/upgrade",
+ "destination": "/docs/oss/keto/guides/upgrade",
+ "permanent": true
+ },
+ {
+ "source": "/docs/keto/quickstart",
+ "destination": "/docs/oss/keto/quickstart",
+ "permanent": true
+ },
{
"source": "/kratos/docs",
"destination": "https://www.ory.com/docs/kratos",
@@ -1547,11 +1572,6 @@
"destination": "/docs/network/keto/overview",
"permanent": false
},
- {
- "source": "/docs/keto/quickstart",
- "destination": "/docs/network/keto/quickstart",
- "permanent": false
- },
{
"source": "/docs/keto/examples/olymp-file-sharing",
"destination": "/docs/network/keto/file-sharing-example",